:root{
    --ink-950:#1C1030;
    --ink-900:#2A1745;
    --ink-800:#3E2358;
    --brand:#3A2050;

    --cyan:#7E5BC4;      /* accent : indigo-violet (le cyan du logo reste réservé au symbole) */
    --cyan-txt:#C79ADA;
    --periw:#A99BD0;
    --sky:#BFAEDC;
    --mauve:#B089C6;
    --rose:#E598BE;
    --rose-txt:#EBA7C6;
    --rose-soft:#F9EAF1;
    --warm-em:#E7C6D9;

    --accent:#8B4573;
    --ice:#F5F0F8;
    --line:#EBE2F0;
    --white:#FFFFFF;
    --slate-700:#3C3247;
    --slate-500:#6B5A78;

    --pad:clamp(1.5rem,5vw,6rem);
    --maxw:1240px;
    --hdr-h:104px;
    --hdr-h-min:72px;

    /* réglages typographiques pilotés par la direction */
    --display-w:300;
    --display-ls:-.015em;
    --label-ls:.22em;
    --label-size:.72rem;
  }

  /* ===== DIRECTIONS TYPOGRAPHIQUES ===== */
  /* A — Signature éditoriale (actuelle) : Fraunces + IBM Plex */
  [data-type="A"]{
    --serif:"Fraunces",Georgia,serif;
    --sans:"IBM Plex Sans",system-ui,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,monospace;
  }
  /* B — Éditorial clinique : Source Serif 4 + Inter */
  [data-type="B"]{
    --serif:"Source Serif 4",Georgia,serif;
    --sans:"Inter",system-ui,sans-serif;
    --mono:"Inter",system-ui,sans-serif;
    --display-w:300;
    --display-ls:-.02em;
    --label-ls:.18em;
    --label-size:.7rem;
  }
  /* C — Suisse contemporaine : tout en sans (Inter Tight + Inter) */
  [data-type="C"]{
    --serif:"Inter Tight",system-ui,sans-serif;
    --sans:"Inter",system-ui,sans-serif;
    --mono:"Inter",system-ui,sans-serif;
    --display-w:400;
    --display-ls:-.035em;
    --label-ls:.16em;
    --label-size:.7rem;
  }
  [data-type="C"] em{font-style:normal;font-weight:500}

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);color:var(--slate-700);background:var(--white);
    line-height:1.6;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
  :focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

  .eyebrow{
    font-family:var(--mono);font-size:var(--label-size);letter-spacing:var(--label-ls);
    text-transform:uppercase;color:var(--brand);display:inline-flex;align-items:center;gap:.7rem;font-weight:500;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--periw);flex:none}
  .on-dark .eyebrow{color:#fff}
  .on-dark .eyebrow::before{background:#fff;opacity:.85}

  /* ---------- PARALLAX ---------- */
  .px{position:relative;overflow:hidden;isolation:isolate}
  .px-media{position:absolute;top:-18%;left:0;right:0;height:136%;z-index:-2;will-change:transform}
  .px-media img{width:100%;height:100%;object-fit:cover;object-position:center}
  .px-veil{position:absolute;inset:0;z-index:-1}

  /* ---------- HEADER ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    background:transparent;border-bottom:1px solid transparent;
    transition:background .45s ease,border-color .45s ease;
  }
  header.solid{
    background:rgba(28,16,48,.88);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(169,155,208,.22);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:var(--hdr-h);transition:height .45s cubic-bezier(.4,0,.2,1)}
  header.solid .nav{height:var(--hdr-h-min)}
  .brand{display:flex;align-items:center;gap:1.1rem;min-width:0}
  .brand img{
    height:56px;width:auto;object-fit:contain;
    transition:height .45s cubic-bezier(.4,0,.2,1);
  }
  header.solid .brand img{height:40px}
  .brand-baseline{
    font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--sky);line-height:1.7;padding-left:1.1rem;border-left:1px solid rgba(191,174,220,.34);
    transition:opacity .35s ease,max-width .45s ease;max-width:280px;overflow:hidden;
  }
  header.solid .brand-baseline{opacity:0;max-width:0;padding-left:0;border-left-color:transparent}
  .nav-links{display:flex;gap:1.8rem;align-items:center}
  .nav-links a{color:rgba(255,255,255,.8);font-size:.85rem;position:relative;transition:color .25s;white-space:nowrap}
  .nav-links a:hover{color:var(--white)}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--cyan);transition:width .3s}
  .nav-links a:hover::after{width:100%}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:.4rem}
  .burger span{width:26px;height:2px;background:var(--white)}
  .mobile-menu{display:none;flex-direction:column;background:rgba(28,16,48,.97);padding:.5rem var(--pad) 2rem}
  .mobile-menu a{color:rgba(255,255,255,.84);padding:.9rem 0;border-bottom:1px solid rgba(191,174,220,.14);font-size:1rem}
  header.open .mobile-menu{display:flex}

  /* ---------- 1 · HERO ---------- */
  .hero{
    color:#fff;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
    padding:calc(var(--hdr-h) + clamp(3rem,7vh,6rem)) 0 clamp(3.5rem,8vh,6rem);
  }
  .hero .px-veil{
    background:
      radial-gradient(90% 110% at 12% 0%, rgba(176,137,184,.42), transparent 58%),
      radial-gradient(70% 100% at 92% 100%, rgba(150,110,190,.30), transparent 62%),
      linear-gradient(150deg, rgba(58,32,80,.94) 0%, rgba(46,33,80,.93) 45%, rgba(28,16,48,.94) 100%);
  }
  .hero .px-media img{filter:saturate(.55) contrast(1.05) brightness(.9)}
  .hero::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;z-index:-1;
    background-image:linear-gradient(rgba(169,155,208,.06) 1px,transparent 1px);
    background-size:100% 34px;
    -webkit-mask-image:linear-gradient(to bottom,transparent,black 22%,black 62%,transparent);
    mask-image:linear-gradient(to bottom,transparent,black 22%,black 62%,transparent);
  }
  .hero::before{
    content:"";position:absolute;inset:auto 0 0 0;height:2px;z-index:2;
    background:linear-gradient(to right,var(--cyan),var(--periw),var(--mauve),var(--rose));
  }
  .hero h1{
    font-family:var(--serif);font-weight:var(--display-w);letter-spacing:var(--display-ls);
    font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.06;color:#fff;margin-top:1.6rem;
    max-width:none;text-wrap:balance;
  }
  .hero h1 .em{
    font-style:italic;font-weight:400;color:var(--warm-em);
    display:block;margin-top:.35rem;max-width:24ch;
  }
  [data-type="C"] .hero h1 .em{font-style:normal;font-weight:500;color:var(--warm-em)}
  .hero-body{margin-top:1.9rem;max-width:62ch}
  .hero-body p{color:rgba(243,236,249,.82);font-size:clamp(1rem,1.25vw,1.1rem);margin-top:1rem}
  .hero-body p:first-child{margin-top:0}
  .hero-sign{display:flex;align-items:center;gap:.9rem;margin-top:1.8rem}
  .hero-sign .dot{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--mauve),var(--periw));flex:none}
  .hero-sign .n{font-family:var(--serif);font-size:1.02rem;color:#fff;font-weight:400}
  .hero-sign .r{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#F7C6DC;margin-top:.15rem}
  .hero-meta{
    display:flex;gap:2rem;flex-wrap:wrap;margin-top:2.4rem;padding-top:2rem;
    border-top:1px solid rgba(191,174,220,.22);
    font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;color:var(--sky);
  }
  .hero-meta span{display:flex;align-items:center;gap:.6rem}
  .hero-meta i{width:5px;height:5px;background:var(--rose);border-radius:50%;font-style:normal;flex:none}
  .scroll-cue{
    display:inline-flex;align-items:center;gap:.8rem;margin-top:clamp(2.5rem,5vh,4rem);
    font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(191,174,220,.85);transition:color .3s;
  }
  .scroll-cue:hover{color:#fff}
  .scroll-cue svg{width:10px;height:26px;animation:bob 2.2s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}

  /* ---------- 2 · FORK ---------- */
  .fork-band{
    color:#fff;padding:clamp(4rem,7vw,6rem) 0;
    background:
      radial-gradient(85% 120% at 8% 0%, rgba(229,152,190,.34), transparent 58%),
      radial-gradient(70% 110% at 95% 100%, rgba(150,110,190,.26), transparent 62%),
      linear-gradient(135deg,#3B2246 0%, #5A3359 46%, #33305C 100%);
  }
  .fork-band::before{
    content:"";position:absolute;inset:0 0 auto 0;height:2px;z-index:1;
    background:linear-gradient(to right,var(--cyan),var(--periw),var(--mauve),var(--rose));
  }
  .fork-band::after{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.5;
    background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:100% 40px;
    -webkit-mask-image:radial-gradient(70% 80% at 50% 50%,black,transparent);
    mask-image:radial-gradient(70% 80% at 50% 50%,black,transparent);
  }
  .fork{display:grid;grid-template-columns:1fr 2px 1fr;border-top:1px solid rgba(255,255,255,.22)}
  .fork-line{background:linear-gradient(to bottom,var(--cyan),var(--periw),var(--mauve),var(--rose));transform-origin:top;transform:scaleY(0);transition:transform 1.1s cubic-bezier(.7,0,.2,1) .3s}
  .fork.drawn .fork-line{transform:scaleY(1)}
  .path{padding:clamp(1.9rem,3.4vw,2.8rem) clamp(1.4rem,3vw,2.4rem) clamp(2.2rem,3.6vw,3rem);display:block;transition:background .4s}
  .path--patient:hover{background:rgba(255,255,255,.07)}
  .path--medecin:hover{background:rgba(199,154,218,.16)}
  .path .who{font-family:var(--mono);font-size:var(--label-size);letter-spacing:var(--label-ls);text-transform:uppercase;font-weight:500}
  .path--patient .who{color:#F7C6DC}
  .path--medecin .who{color:#8FD7F2}
  .path h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.45rem,2.4vw,2rem);color:#fff;margin:.85rem 0 .6rem;letter-spacing:var(--display-ls)}
  .path p{color:rgba(245,236,244,.78);font-size:.94rem;max-width:34ch}
  .path .go{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.3rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;transition:gap .3s,color .3s}
  .path--patient .go{color:#F7C6DC}
  .path--medecin .go{color:#8FD7F2}
  .path:hover .go{gap:1rem;color:#fff}
  .path .go svg{width:22px;height:8px}

  /* ---------- SECTIONS ---------- */
  section{padding:clamp(4.5rem,9vw,8rem) 0}
  .sec-head{max-width:62ch;margin-bottom:clamp(2.6rem,5vw,4rem)}
  .sec-head h2{font-family:var(--serif);font-weight:var(--display-w);font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.12;letter-spacing:var(--display-ls);color:var(--brand);margin-top:1.2rem}
  .sec-head h2 em{font-style:italic;color:var(--accent)}
  .on-dark .sec-head h2{color:#fff}
  .on-dark .sec-head h2 em{color:var(--warm-em)}
  .lede{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--slate-500);margin-top:1.3rem}
  .on-dark .lede{color:rgba(238,230,245,.76)}

    /* ============ LE CENTRE — refonte V21 ============ */
  /* Plus de boîtes opaques : un voile en dégradé sur la photo, le texte posé dessus */
  .centre{padding:clamp(6rem,11vw,10rem) 0 clamp(4rem,8vw,7rem);color:#fff}
  .centre .px-media img{filter:saturate(.85) contrast(1.03)}
  .centre .px-veil{
    background:
      linear-gradient(95deg,
        #1A0E2E 0%,
        rgba(26,14,46,.96) 30%,
        rgba(42,23,69,.86) 52%,
        rgba(58,32,80,.55) 74%,
        rgba(74,42,99,.28) 100%),
      linear-gradient(to top, rgba(26,14,46,.92) 0%, transparent 45%);
  }

  .centre-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2.5rem,5vw,5rem);align-items:end}

  /* Typographie : hiérarchie plus contrastée */
  .centre-lead h2{
    font-family:var(--serif);font-weight:300;letter-spacing:-.025em;
    font-size:clamp(2rem,3.8vw,3.3rem);line-height:1.08;color:#fff;margin-top:1.2rem;max-width:14ch;
  }
  .centre-lead h2 em{font-style:italic;color:var(--warm-em)}
  .lead-serif{
    font-family:var(--serif);font-weight:300;font-style:italic;
    font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.45;color:#F1E4F0;
    margin-top:1.8rem;padding-left:1.4rem;border-left:2px solid var(--mauve);max-width:34ch;
  }
  .centre-lead > p:not(.lead-serif){
    font-size:1rem;color:rgba(238,230,245,.78);margin-top:1.3rem;max-width:52ch;line-height:1.75;
  }
  .centre-lead a{color:#E7C6D9;border-bottom:1px solid rgba(231,198,217,.4);transition:.25s}
  .centre-lead a:hover{color:#fff;border-color:#fff}

  /* Fiche fondateur : carte élégante, filet dégradé, pas de bloc opaque */
  .centre .founder{
    /* hauteur naturelle : la carte ne s'étire pas, elle s'aligne en bas du texte */
    background:linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
    -webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
    border:1px solid rgba(255,255,255,.16);
    border-radius:24px 4px 24px 4px;
    padding:clamp(1.8rem,3vw,2.4rem);
    box-shadow:0 40px 80px -50px rgba(0,0,0,.8);
    position:relative;overflow:hidden;
  }
  .centre .founder::before{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(to right,var(--rose),var(--mauve),transparent);
  }
  .founder-head{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.5rem}
  .founder-avatar{
    width:68px;height:68px;border-radius:50%;object-fit:cover;object-position:center 20%;flex:none;
    border:1px solid rgba(255,255,255,.55);
    box-shadow:0 0 0 4px rgba(255,255,255,.06), 0 14px 30px -18px rgba(0,0,0,.7);
    filter:none;                       /* aucun filtre colorant : monochrome tramé blanc */
  }
  .centre .founder .role{
    font-family:var(--mono);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
    color:#E7C6D9;font-weight:500;
  }
  .centre .founder .name{
    font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.65rem);color:#fff;
    margin-top:.35rem;font-weight:400;letter-spacing:-.02em;
  }
  .centre .founder .title{
    font-size:.86rem;color:rgba(238,230,245,.7);line-height:1.6;
    padding-bottom:1.4rem;border-bottom:1px solid rgba(255,255,255,.14);
  }
  .centre .founder ul{list-style:none;margin-top:1.4rem;display:grid;gap:1.05rem}
  .centre .founder li{display:grid;gap:.25rem}
  .centre .founder .l{
    font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(199,154,218,.9);
  }
  .centre .founder .v{font-size:.9rem;color:rgba(245,240,248,.9);line-height:1.5}

  /* Infrastructure : une bande, pas une boîte */
  .infra-band{
    display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,4vw,4rem);align-items:end;
    margin-top:clamp(3.5rem,7vw,6rem);padding-top:clamp(2rem,3.5vw,2.8rem);
    border-top:1px solid rgba(255,255,255,.2);
  }
  .infra-band h3{
    font-family:var(--serif);font-weight:300;letter-spacing:-.02em;
    font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.14;color:#fff;margin-top:.9rem;max-width:15ch;
  }
  .infra-band h3 em{font-style:italic;color:var(--warm-em)}
  .infra-text{color:rgba(238,230,245,.8);font-size:1rem;line-height:1.75;max-width:56ch}

  /* Faits : colonnes rythmées par un numéro, aucun cadre */
  .facts{
    display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem);
    margin-top:clamp(2.5rem,4vw,3.5rem);
  }
  .facts .fact{
    padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.22);background:none;border-radius:0;
  }
  .fact .i{
    font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;color:rgba(199,154,218,.8);
    display:block;margin-bottom:.9rem;
  }
  .fact .n{
    font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.35rem);color:#fff;font-weight:400;
    line-height:1.3;letter-spacing:-.015em;
  }
  .fact .l{
    font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(231,198,217,.75);margin-top:.8rem;font-weight:500;
  }

  @media(max-width:960px){
    .infra-band{grid-template-columns:1fr;gap:1.2rem;align-items:start}
    .facts{grid-template-columns:1fr;gap:1.4rem}
  }

  /* Approche */
  .approche{
    color:#fff;position:relative;overflow:hidden;
    background:
      radial-gradient(85% 110% at 12% -5%, rgba(176,137,184,.40), transparent 58%),
      radial-gradient(75% 100% at 92% 105%, rgba(229,152,190,.28), transparent 60%),
      linear-gradient(150deg,#3A2050 0%, #5A2E5D 48%, #2E2150 100%);
  }
  .approche::after{
    content:"";position:absolute;inset:auto 0 0 0;height:2px;
    background:linear-gradient(to right,var(--rose),var(--mauve),var(--periw),var(--cyan));opacity:.5;
  }
  .pivot{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.4rem)}
  .pcard{border:1px solid rgba(255,255,255,.22);padding:clamp(1.8rem,3vw,2.6rem);background:rgba(255,255,255,.05);transition:.4s}
  .pcard:hover{border-color:rgba(247,198,220,.65);background:rgba(255,255,255,.10);transform:translateY(-4px)}
  .pcard .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;color:#F7C6DC;text-transform:uppercase;font-weight:500}
  .pcard h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;color:#fff;margin:1rem 0 .8rem;letter-spacing:var(--display-ls)}
  .pcard p{color:rgba(245,236,246,.78);font-size:.95rem}

  /* Expertises — chartes chromatiques accordées aux cartes mauves */
  #expertises{
    --plum-900:#3A2050;   /* titres */
    --plum-600:#8B4573;   /* accents / italiques */
    --plum-300:#B089B8;   /* filets */
    --plum-txt:#6B5A78;   /* texte courant */
    background:linear-gradient(180deg,#FBF7FA 0%, #FFFFFF 55%);
  }
  #expertises .eyebrow{color:var(--plum-600)}
  #expertises .eyebrow::before{background:var(--plum-300)}
  #expertises .sec-head h2{color:var(--plum-900)}
  #expertises .sec-head h2 em{color:var(--plum-600)}
  #expertises .lede{color:var(--plum-txt)}
  #expertises .chip{border-color:rgba(176,137,184,.45);color:var(--plum-txt);background:rgba(176,137,184,.05)}
  #expertises .chip b{color:var(--plum-600)}

  /* Expertises — 6 cartes indépendantes, tilt 3D */
  .organs{
    display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,1.8vw,1.6rem);
    perspective:1100px;
  }
  .organ{
    position:relative;overflow:hidden;padding:clamp(1.6rem,2.4vw,2.1rem);
    border-radius:4px;color:#fff;min-height:250px;
    display:flex;flex-direction:column;
    background:linear-gradient(150deg,#54305C 0%, #7A3F6C 55%, #4B2C57 100%);
    box-shadow:0 18px 40px -30px rgba(58,32,80,.75);
    transform-style:preserve-3d;
    transition:transform .5s cubic-bezier(.2,.7,.3,1), box-shadow .5s ease;
    will-change:transform;
  }
  .organ:nth-child(2){background:linear-gradient(150deg,#4A2C5E 0%, #8B4573 55%, #5A2F5E 100%)}
  .organ:nth-child(3){background:linear-gradient(150deg,#5C3260 0%, #6E3A6B 55%, #3F2A55 100%)}
  .organ:nth-child(4){background:linear-gradient(150deg,#623468 0%, #92497A 55%, #4E2C5A 100%)}
  .organ:nth-child(5){background:linear-gradient(150deg,#4E2D5C 0%, #7C3F6E 55%, #47295A 100%)}
  .organ:nth-child(6){background:linear-gradient(150deg,#5A2F63 0%, #9B5183 55%, #55305F 100%)}
  .organ::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(70% 60% at 85% 0%, rgba(229,152,190,.35), transparent 60%);
    opacity:.9;transition:opacity .5s;
  }
  .organ:hover{box-shadow:0 34px 70px -34px rgba(58,32,80,.85)}
  .organ:hover::before{opacity:1}
  .organ .ico{
    width:44px;height:44px;color:#F7C6DC;margin-bottom:1.4rem;
    transform:translateZ(26px);transition:transform .5s;
  }
  .organ .ico svg{width:100%;height:100%;display:block}
  .organ .name{
    font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,2vw,1.65rem);
    color:#fff;letter-spacing:var(--display-ls);transform:translateZ(18px);
  }
  .organ .desc{
    font-size:.92rem;color:rgba(248,232,242,.82);margin-top:.7rem;transform:translateZ(10px);
  }
  .organ .idx{
    position:absolute;top:clamp(1.4rem,2.2vw,1.9rem);right:clamp(1.4rem,2.2vw,1.9rem);
    font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;color:rgba(255,255,255,.5);
  }
  .tech{margin-top:clamp(2.4rem,4vw,3.2rem);display:flex;gap:1rem;flex-wrap:wrap}
  .chip{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--slate-500);padding:.6rem 1rem;border-radius:2px}
  .chip b{color:var(--accent);font-weight:500}

  /* Patients */
  .patients{color:#fff;padding:clamp(5.5rem,11vw,9rem) 0}
  .patients .px-veil{background:linear-gradient(260deg,rgba(28,16,48,.90) 0%,rgba(42,23,69,.80) 50%,rgba(64,32,66,.55) 100%)}
  .patients .px-media img{filter:saturate(.8)}
  .pat-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
  .pat-grid h2{font-family:var(--serif);font-weight:var(--display-w);font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.16;color:#fff;margin-top:1.1rem;letter-spacing:var(--display-ls)}
  .pat-grid h2 em{font-style:italic;color:var(--warm-em)}
  .pat-grid > div > p{color:rgba(238,230,245,.78);margin-top:1.3rem;max-width:46ch}
  .steps{list-style:none;border-left:1px solid rgba(191,174,220,.28);padding-left:1.8rem;perspective:1000px}
  .steps li{
    padding:1.15rem 1.3rem;position:relative;border-bottom:1px solid rgba(191,174,220,.14);
    border-radius:4px;transform-style:preserve-3d;will-change:transform;
    transition:transform .5s cubic-bezier(.2,.7,.3,1), background .45s ease, box-shadow .5s ease, opacity .4s ease, border-color .45s ease;
  }
  .steps li:last-child{border-bottom:none}
  .steps:hover li{opacity:.45}                      /* un seul bloc actif à la fois */
  .steps li:hover{
    opacity:1;border-color:transparent;
    background:rgba(255,255,255,.10);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    box-shadow:0 30px 60px -32px rgba(0,0,0,.65);
  }
  .steps li:hover .t{color:#fff}
  .steps li .s,.steps li .t,.steps li .d{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
  .steps li:hover .s{transform:translateZ(16px)}
  .steps li:hover .t{transform:translateZ(26px)}
  .steps li:hover .d{transform:translateZ(12px)}
  .steps li::before{content:"";position:absolute;left:-1.8rem;top:1.55rem;width:9px;height:9px;border-radius:50%;background:var(--rose);transform:translateX(-4.5px);box-shadow:0 0 0 4px rgba(229,152,190,.18)}
  .steps li:nth-child(2)::before{background:var(--mauve);box-shadow:0 0 0 4px rgba(176,137,184,.18)}
  .steps li:nth-child(3)::before{background:var(--periw);box-shadow:0 0 0 4px rgba(169,155,208,.18)}
  .steps li:nth-child(4)::before{background:var(--cyan);box-shadow:0 0 0 4px rgba(199,154,218,.20)}
  .steps .s{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);font-weight:500}
  .steps .t{font-family:var(--serif);font-size:1.2rem;color:#fff;margin-top:.35rem;font-weight:400}
  .steps .d{font-size:.9rem;color:rgba(234,226,243,.68);margin-top:.2rem}

  /* Adresseurs */
  .adresseurs{background:var(--ink-950);color:#fff}
  .adr-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
  .adr-grid h2{font-family:var(--serif);font-weight:var(--display-w);font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.14;color:#fff;letter-spacing:var(--display-ls);margin-top:1.1rem}
  .adr-grid > div > p{color:rgba(238,230,245,.74);margin-top:1.3rem;max-width:46ch}

  .contact-card{border:1px solid rgba(191,174,220,.24);padding:clamp(1.8rem,3vw,2.4rem);background:rgba(255,255,255,.03)}
  .cc-head{padding-bottom:1.4rem;border-bottom:1px solid rgba(191,174,220,.2)}
  .cc-head .t{font-family:var(--serif);font-size:1.25rem;color:#fff;font-weight:400;letter-spacing:var(--display-ls)}
  .cc-head .h{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-txt);margin-top:.5rem;font-weight:500}
  .contact-row{padding:1.35rem 0;border-bottom:1px solid rgba(191,174,220,.14);display:flex;flex-direction:column;gap:.45rem}
  .contact-row:last-of-type{border-bottom:none}
  .contact-row .lbl{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(191,174,220,.75);line-height:1.2}
  .contact-row .val{font-family:var(--mono);font-size:1.02rem;color:#fff;word-break:break-word;line-height:1.35;transition:color .25s}
  .contact-row a.val:hover{color:var(--cyan-txt)}
  .btn-primary{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.6rem;background:var(--cyan);color:var(--ink-950);font-family:var(--mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;padding:.95rem 1.5rem;border-radius:2px;transition:.3s;font-weight:500}
  .btn-primary:hover{background:#33ABDE;gap:1.1rem}

  /* Recherche */
  .recherche{background:var(--ice)}
  .recherche .split{align-items:center}
  .quote-mark{font-family:var(--serif);font-size:5rem;color:var(--mauve);line-height:.5;height:2rem}
  .pull{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--brand);line-height:1.4;font-weight:var(--display-w);max-width:30ch;letter-spacing:var(--display-ls)}
  .meta-note{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--accent);margin-top:1.6rem}

  /* Footer */
  footer{background:var(--ink-950);color:#fff;padding-top:clamp(4.5rem,8vw,7rem)}
  .foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(2rem,4vw,4rem);padding-bottom:clamp(3rem,6vw,5rem);border-bottom:1px solid rgba(191,174,220,.16)}
  .foot-brand img{height:70px;width:auto;object-fit:contain}
  .foot-brand p{color:rgba(234,226,243,.62);font-size:.9rem;margin-top:1.4rem;max-width:34ch}
  .foot-col h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-txt);margin-bottom:1.2rem;font-weight:500}
  .foot-col a,.foot-col p{display:block;color:rgba(238,230,245,.74);font-size:.92rem;margin-bottom:.7rem;transition:color .25s}
  .foot-col a:hover{color:#fff}
  .foot-col .mono{font-family:var(--mono);font-size:.86rem}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.8rem 0;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:rgba(191,174,220,.55)}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1)}
  .reveal.in{opacity:1;transform:none}

  @media(max-width:1180px){ .brand-baseline{display:none} }
  @media(max-width:1050px) and (min-width:961px){ .organs{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:960px){
    :root{--hdr-h:82px;--hdr-h-min:66px}
    .nav-links{display:none}
    .burger{display:flex}
    .brand img{height:42px}
    header.solid .brand img{height:36px}
    .split,.pivot,.adr-grid,.foot-top,.pat-grid,.centre-grid{grid-template-columns:1fr}
    .facts{grid-template-columns:1fr;gap:1rem}
    .panel-wide{gap:1.4rem}
    .fork{grid-template-columns:1fr;border-top:none}
    .fork-line{display:none}
    .path{border-top:1px solid rgba(255,255,255,.22)}
    .organs{grid-template-columns:1fr}
    .organ{min-height:0}
    .hero{min-height:auto}
    .px-media{position:absolute;top:0;height:100%;transform:none !important}
  }
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
    .fork-line{transform:scaleY(1);transition:none}
    .organ,.steps li{transition:none}
    .steps:hover li{opacity:1}
    .scroll-cue svg{animation:none}
    .px-media{transform:none !important}
  }

/* =========================================================
   AJOUTS V14 — menu transversal, pages Publications & Contact
   ========================================================= */

/* ---------- HEADER : séparateur + sous-menu ---------- */
.nav{gap:0}
.brand{margin-right:2.2rem}
.nav-sep{
  width:1px;height:34px;flex:none;
  background:rgba(191,174,220,.38);
  margin-right:2.2rem;
  transition:height .45s cubic-bezier(.4,0,.2,1);
}
header.solid .nav-sep{height:26px}
.nav-links{gap:1.7rem;margin-right:auto}
.nav-links a.current,.nav-links .sub-toggle.current{color:#fff}
.nav-links a.current::after{width:100%}

.has-sub{position:relative}
.sub-toggle{
  background:none;border:none;cursor:pointer;color:rgba(255,255,255,.8);
  font-family:var(--sans);font-size:.85rem;font-weight:300;
  display:inline-flex;align-items:center;gap:.45rem;padding:0;transition:color .25s;
}
.sub-toggle:hover,.has-sub.open .sub-toggle{color:#fff}
.sub-toggle svg{width:9px;height:6px;transition:transform .3s}
.has-sub.open .sub-toggle svg{transform:rotate(180deg)}
.submenu{
  position:absolute;top:calc(100% + 1.1rem);left:-1.1rem;min-width:238px;
  background:rgba(28,16,48,.96);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(191,174,220,.24);border-radius:3px;
  padding:.5rem;display:grid;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  box-shadow:0 26px 50px -30px rgba(0,0,0,.7);
}
.submenu::before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--rose),var(--mauve),var(--cyan))}
.has-sub.open .submenu{opacity:1;visibility:visible;transform:none}
.submenu a{
  padding:.7rem .9rem;font-size:.85rem;color:rgba(255,255,255,.78);border-radius:2px;
  transition:background .25s,color .25s;white-space:nowrap;
}
.submenu a::after{display:none}
.submenu a:hover{background:rgba(255,255,255,.08);color:#fff}
.mm-sub{display:grid;padding-left:1.1rem;border-left:1px solid rgba(191,174,220,.22);margin:.2rem 0 .4rem}
.mm-sub a{font-size:.9rem;color:rgba(255,255,255,.66);border-bottom:none;padding:.6rem 0}

/* ---------- HERO DE PAGE INTÉRIEURE ---------- */
.page-hero{
  color:#fff;padding:calc(var(--hdr-h) + clamp(4rem,9vh,7rem)) 0 clamp(3.5rem,7vw,5.5rem);
  background:
    radial-gradient(90% 110% at 12% 0%, rgba(176,137,184,.30), transparent 58%),
    radial-gradient(70% 100% at 92% 100%, rgba(150,110,190,.24), transparent 62%),
    linear-gradient(150deg,#3A2050 0%, #2E2150 45%, #1C1030 100%);
  position:relative;overflow:hidden;
}
.page-hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:2px;z-index:5;
  background:linear-gradient(to right,var(--cyan),var(--periw),var(--mauve),var(--rose));
}
.hero-author.page-hero::after{background:linear-gradient(to right,var(--cyan),var(--mauve) 45%,rgba(229,152,190,0) 85%)}
.page-hero h1{
  font-family:var(--serif);font-weight:var(--display-w);letter-spacing:var(--display-ls);
  font-size:clamp(2.1rem,4.2vw,3.4rem);line-height:1.08;color:#fff;margin-top:1.4rem;max-width:20ch;
}
.page-hero h1 em{font-style:italic;color:var(--warm-em)}
.page-hero p{color:rgba(243,236,249,.8);margin-top:1.4rem;max-width:58ch;font-size:1.05rem}

/* ---------- PUBLICATIONS : maçonnerie ---------- */
.pub-teaser{background:var(--ice)}

/* Grille maçonnée : colonnes CSS, hauteurs libres */
.pub-grid{columns:3;column-gap:clamp(1.2rem,2.2vw,1.8rem)}
.pub-card{
  display:block;break-inside:avoid;-webkit-column-break-inside:avoid;
  margin:0 0 clamp(1.2rem,2.2vw,1.8rem);
  background:var(--white);border:1px solid var(--line);
  border-radius:20px 4px 20px 4px;                 /* coins ronds / coupés en diagonale */
  overflow:hidden;
  transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s ease,border-color .5s,border-radius .5s;
}
.pub-card:hover{
  transform:translateY(-8px);
  border-radius:4px 20px 4px 20px;                 /* les coins basculent au survol */
  box-shadow:0 36px 64px -40px rgba(58,32,80,.5);
  border-color:rgba(176,137,184,.55);
}
.pub-card .thumb{display:block;overflow:hidden;background:linear-gradient(140deg,#54305C,#8B4573)}
.pub-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.pub-card:hover .thumb img{transform:scale(1.07)}
/* hauteurs d'images variées = rythme de maçonnerie */
.pub-card:nth-child(3n+1) .thumb{aspect-ratio:4/3}
.pub-card:nth-child(3n+2) .thumb{aspect-ratio:1/1}
.pub-card:nth-child(3n+3) .thumb{aspect-ratio:16/10}
.pub-card .body{padding:clamp(1.3rem,2.2vw,1.8rem);display:block}
.pub-card .meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#8B4573;display:flex;gap:.7rem;align-items:center;font-weight:500}
.pub-card .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--mauve);flex:none}
.pub-card h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:#3A2050;margin:.9rem 0 .7rem;line-height:1.3;letter-spacing:var(--display-ls)}
.pub-card p{font-size:.93rem;color:#6B5A78}
.pub-card .more{margin-top:1.3rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#8B4573;display:inline-flex;align-items:center;gap:.6rem;transition:gap .3s}
.pub-card:hover .more{gap:1rem}
.pub-card .more svg{width:20px;height:8px}

/* Article à la une */
.pub-lead{
  display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  border:1px solid var(--line);border-radius:24px 4px 24px 4px;overflow:hidden;
  background:var(--white);margin-bottom:clamp(2.5rem,5vw,4rem);
}
.pub-lead .thumb{display:block;position:relative;min-height:360px;overflow:hidden;background:#54305C}
.pub-lead .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pub-lead .body{padding:clamp(2rem,3.5vw,3.4rem);display:flex;flex-direction:column;justify-content:center}
.pub-lead h2{font-family:var(--serif);font-weight:var(--display-w);font-size:clamp(1.5rem,2.3vw,2rem);color:#3A2050;margin:1rem 0 .9rem;line-height:1.22;letter-spacing:var(--display-ls)}
.pub-lead p{color:#6B5A78;max-width:48ch}
.pub-lead .btn-plum{margin-top:1.8rem;align-self:flex-start}

.btn-plum{
  display:inline-flex;align-items:center;gap:.7rem;background:#8B4573;color:#fff;
  font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  padding:.9rem 1.4rem;border-radius:2px 12px 2px 12px;transition:.3s;border:none;cursor:pointer;
}
.btn-plum:hover{background:#6E3459;gap:1.1rem;border-radius:12px 2px 12px 2px}

.filters{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:clamp(2rem,3.5vw,2.8rem)}
.filters button{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid rgba(176,137,184,.45);background:none;color:#6B5A78;
  padding:.6rem 1rem;border-radius:2px 10px 2px 10px;cursor:pointer;transition:.25s;
}
.filters button:hover{border-color:#8B4573;color:#8B4573}
.filters button[aria-pressed="true"]{background:#8B4573;border-color:#8B4573;color:#fff}

/* ---------- ARTICLE ---------- */
.article{max-width:760px;margin:0 auto}
.article .meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#8B4573;margin-bottom:1rem;font-weight:500}
.article h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.4vw,1.85rem);color:#3A2050;margin:2.6rem 0 1rem;letter-spacing:var(--display-ls)}
.article p{font-size:1.06rem;color:var(--slate-500);margin-top:1.2rem;line-height:1.75}
.article figure{margin:2.6rem 0}
.article figure img{width:100%;border-radius:4px}
.article figcaption{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--slate-500);margin-top:.8rem;text-transform:uppercase}
.article blockquote{
  border-left:3px solid var(--mauve);padding-left:1.6rem;margin:2.4rem 0;
  font-family:var(--serif);font-size:1.3rem;line-height:1.5;color:#3A2050;font-weight:300;
}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.info-block{border-top:1px solid var(--line);padding:1.5rem 0}
.info-block:first-of-type{border-top:none;padding-top:0}
.info-block .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#8B4573;font-weight:500}
.info-block .v{font-size:1.05rem;color:var(--brand);margin-top:.5rem}
.info-block .v a:hover{color:#8B4573}
.info-block .n{font-size:.92rem;color:var(--slate-500);margin-top:.4rem}
.map{
  border:1px solid var(--line);border-radius:4px;overflow:hidden;
  box-shadow:0 30px 60px -45px rgba(58,32,80,.5);
}
.map iframe{width:100%;height:460px;border:0;display:block;filter:saturate(.9)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.6rem}
.field{display:flex;flex-direction:column;gap:.5rem}
.field.full{grid-column:1 / -1}
.field label{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-500)}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:.95rem;color:var(--slate-700);
  border:1px solid var(--line);border-radius:2px;padding:.85rem 1rem;background:var(--white);
  transition:border-color .25s,box-shadow .25s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--mauve);box-shadow:0 0 0 3px rgba(176,137,184,.15);
}
.field textarea{min-height:130px;resize:vertical}
.form-note{font-size:.82rem;color:var(--slate-500);margin-top:1rem}

/* ---------- FOOTER 4 colonnes ---------- */
.foot-top{grid-template-columns:1.4fr .8fr 1fr 1fr}

/* ---------- RESPONSIVE (ajouts) ---------- */
@media(max-width:1100px){
  .nav-links{gap:1.2rem}
  .brand,.nav-sep{margin-right:1.4rem}
}
@media(max-width:960px){
  .nav-sep{display:none}
  .brand{margin-right:0}
  .pub-grid{grid-template-columns:1fr}
  .pub-lead{grid-template-columns:1fr}
  .pub-lead .body{padding:clamp(1.6rem,4vw,2rem)}
  .pub-lead .thumb{aspect-ratio:16/9}
  .contact-grid,.form-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .map iframe{height:340px}
}


/* ---------- V3 : pages intérieures ---------- */
body.inner header{background:rgba(28,16,48,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(169,155,208,.22)}
.sec-first{padding-top:calc(var(--hdr-h) + clamp(3rem,6vw,5rem))}

/* Accueil — accès aux pages : bande en parallaxe, cartes en relief */
.access-band{padding:clamp(5.5rem,10vw,9rem) 0;color:#fff}
/* Aucune photo : un violet profond, dégradé */
.access-band{
  position:relative;overflow:hidden;
  background:
    radial-gradient(75% 100% at 8% 0%, rgba(139,69,115,.32), transparent 58%),
    radial-gradient(65% 90% at 96% 100%, rgba(126,91,196,.30), transparent 62%),
    linear-gradient(120deg, #170C29 0%, #26143F 34%, #3A2050 66%, #4A2A63 100%);
}
.access-band .sec-head{max-width:52ch}
.access-band::before{
  content:"";position:absolute;inset:0 0 auto 0;height:2px;z-index:1;
  background:linear-gradient(to right,var(--rose),var(--mauve),var(--cyan),transparent);
}

.access{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.2vw,1.8rem);perspective:1100px}
.access-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  padding:clamp(1.7rem,2.6vw,2.3rem);
  border-radius:22px 4px 22px 4px;
  background:linear-gradient(155deg,#54305C 0%, #7A3F6C 55%, #4B2C57 100%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 50px -36px rgba(0,0,0,.8);
  transform-style:preserve-3d;will-change:transform;
  transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s,border-radius .5s,border-color .5s;
}
.access-card:nth-child(2){background:linear-gradient(155deg,#4A2C5E 0%, #8B4573 55%, #5A2F5E 100%)}
.access-card:nth-child(3){background:linear-gradient(155deg,#5A2F63 0%, #9B5183 55%, #55305F 100%)}
.access-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 60% at 85% 0%, rgba(229,152,190,.35), transparent 62%);
  transition:opacity .5s;
}
.access-card:hover{
  border-radius:4px 22px 4px 22px;
  border-color:rgba(247,198,220,.5);
  box-shadow:0 44px 80px -40px rgba(0,0,0,.9);
}
.access-card .idx{
  position:absolute;top:clamp(1.4rem,2.2vw,1.9rem);right:clamp(1.4rem,2.2vw,1.9rem);
  font-family:var(--serif);font-size:2.6rem;font-weight:300;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);
  transform:translateZ(10px);transition:-webkit-text-stroke-color .4s;
}
.access-card:hover .idx{-webkit-text-stroke-color:rgba(247,198,220,.85)}
.access-card .k{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:#F7C6DC;font-weight:500;transform:translateZ(20px);
}
.access-card h3{
  font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,1.9vw,1.55rem);
  color:#fff;margin:1rem 0 .8rem;line-height:1.25;letter-spacing:-.02em;max-width:16ch;
  transform:translateZ(26px);
}
.access-card p{font-size:.93rem;color:rgba(248,232,242,.82);flex:1;transform:translateZ(12px)}
.access-card .more{
  margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.22);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;display:inline-flex;align-items:center;gap:.6rem;transition:gap .3s;
  transform:translateZ(16px);
}
.access-card:hover .more{gap:1.1rem}
.access-card .more svg{width:20px;height:8px}
@media(max-width:960px){
  .access{grid-template-columns:1fr}
  .pub-lead{grid-template-columns:1fr}
  .pub-lead .thumb{min-height:220px}
}


/* ---------- MODALE DE CONTACT ---------- */
.link-btn{
  background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;
  border-bottom:1px solid rgba(176,137,184,.55);transition:color .25s,border-color .25s;text-align:left;
}
.link-btn:hover{color:#8B4573;border-color:#8B4573}
.foot-col .link-btn{color:rgba(238,230,245,.74);border-color:rgba(191,174,220,.4);font-size:.92rem;margin-bottom:.7rem}
.foot-col .link-btn:hover{color:#fff;border-color:#fff}
.contact-row .link-btn{font-family:var(--mono);font-size:1rem;color:#fff;border-color:rgba(199,154,218,.5)}
.contact-row .link-btn:hover{color:var(--cyan-txt);border-color:var(--cyan-txt)}

.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.open{display:block}
.modal-veil{position:absolute;inset:0;background:rgba(28,16,48,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadein .3s ease}
.modal-box{
  position:relative;z-index:2;max-width:640px;margin:6vh auto;max-height:88vh;overflow-y:auto;
  background:var(--white);border-radius:24px 4px 24px 4px;
  padding:clamp(1.8rem,3.5vw,2.8rem);
  box-shadow:0 50px 90px -40px rgba(28,16,48,.6);
  animation:rise .4s cubic-bezier(.2,.7,.3,1);
}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.modal-box h2{font-family:var(--serif);font-weight:var(--display-w);font-size:clamp(1.5rem,2.6vw,2rem);color:#3A2050;margin-top:1rem;letter-spacing:var(--display-ls)}
.modal-sub{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;color:var(--slate-500);margin-top:.7rem}
.modal-sub a{color:#8B4573}
.modal-box .eyebrow{color:#8B4573}
.modal-box .eyebrow::before{background:var(--mauve)}
.modal-close{
  position:absolute;top:1rem;right:1.2rem;background:none;border:none;cursor:pointer;
  font-size:1.9rem;line-height:1;color:var(--slate-500);transition:color .25s;
}
.modal-close:hover{color:#8B4573}
@media(max-width:960px){
  .modal-box{margin:0;min-height:100vh;border-radius:0;max-height:none}
}

/* Maçonnerie responsive */
@media(max-width:1100px){ .pub-grid{columns:2} }
@media(max-width:700px){ .pub-grid{columns:1} }


/* ---------- V5 : navigation aérée, Contact en bouton ---------- */
.nav-links{gap:0;margin-right:auto;align-items:center}
.nav-links > a,.nav-links > .has-sub{padding:0 1.6rem;position:relative}
.nav-links > a::before,.nav-links > .has-sub::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:14px;background:rgba(191,174,220,.28);
}
.nav-links > *:first-child::before{display:none}
.nav-links > a::after{left:1.6rem}

.nav-service{
  margin-left:2.4rem;flex:none;
  border:1px solid rgba(255,255,255,.65);color:#fff;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  padding:.75rem 1.4rem;border-radius:2px 10px 2px 10px;
  transition:background .3s,color .3s,border-radius .3s,border-color .3s;white-space:nowrap;
}
.nav-service:hover{background:#fff;color:#3A2050;border-color:#fff;border-radius:10px 2px 10px 2px}
.nav-service.current{background:rgba(255,255,255,.14)}
.mm-service{
  margin-top:1.2rem;border:1px solid rgba(255,255,255,.6);border-radius:2px 10px 2px 10px;
  text-align:center;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.9rem 1rem !important;color:#fff !important;
}
@media(max-width:1150px){
  .nav-links > a,.nav-links > .has-sub{padding:0 1.1rem}
  .nav-service{margin-left:1.4rem}
}
@media(max-width:960px){
  .nav-service{display:none}
}


/* ---------- V7 : page Contact ---------- */
/* 1 · Introduction sur blanc */
.page-intro{padding-bottom:clamp(2rem,4vw,3rem)}
.page-intro h1{
  font-family:var(--serif);font-weight:var(--display-w);letter-spacing:var(--display-ls);
  font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;color:var(--brand);margin-top:1.2rem;max-width:18ch;
}
.page-intro h1 em{font-style:italic;color:#8B4573}
.page-intro .lede{max-width:66ch}

/* 2 · Coordonnées */
.coord{padding-top:clamp(2rem,4vw,3rem)}
.coord .contact-grid{align-items:start}
.info-block{border-top:1px solid var(--line);padding:1.4rem 0}
.info-block:first-of-type{border-top:none;padding-top:0}
.info-block .v a{border-bottom:1px solid rgba(176,137,184,.5);transition:.25s}
.info-block .v a:hover{color:#8B4573;border-color:#8B4573}

/* 3 · Bande violette : formulaire unique */
.form-band{
  color:#fff;position:relative;overflow:hidden;
  padding:clamp(4.5rem,8vw,7rem) 0;
  background:
    radial-gradient(85% 110% at 10% 0%, rgba(176,137,184,.40), transparent 58%),
    radial-gradient(70% 100% at 95% 100%, rgba(150,110,190,.26), transparent 62%),
    linear-gradient(150deg,#3A2050 0%, #5A2E5D 48%, #2E2150 100%);
}
.form-band::before{
  content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(to right,var(--cyan),var(--periw),var(--mauve),var(--rose));
}
.form-band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}
.form-band h2{font-family:var(--serif);font-weight:var(--display-w);font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.14;color:#fff;margin-top:1.1rem;letter-spacing:var(--display-ls)}
.form-band h2 em{font-style:italic;color:var(--warm-em)}
.form-band > .wrap > div > p{color:rgba(245,236,246,.82);margin-top:1.3rem;max-width:44ch}
.form-warn{font-size:.88rem;color:rgba(247,198,220,.9);border-left:2px solid rgba(247,198,220,.5);padding-left:1rem}
.form-card{
  background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.22);
  border-radius:24px 4px 24px 4px;
  padding:clamp(1.6rem,3vw,2.4rem);
}
.form-card .form-grid{margin-top:0}
.form-card .field label{color:rgba(247,198,220,.85)}
.form-card .field input,.form-card .field select,.form-card .field textarea{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);color:#fff;
}
.form-card .field select option{color:var(--slate-700)}
.form-card .field input::placeholder,.form-card .field textarea::placeholder{color:rgba(255,255,255,.45)}
.form-card .field input:focus,.form-card .field select:focus,.form-card .field textarea:focus{
  border-color:#F7C6DC;box-shadow:0 0 0 3px rgba(247,198,220,.2);background:rgba(255,255,255,.12);
}
.form-card .btn-plum{background:#fff;color:#3A2050}
.form-card .btn-plum:hover{background:#F7C6DC}
.form-card .form-note{color:rgba(245,236,246,.6)}
.partners{
  margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.18);
  font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:rgba(247,198,220,.75);
}
@media(max-width:960px){ .form-band-grid{grid-template-columns:1fr} }


/* ---------- V8 : bloc Orientation en tête de chapitre ---------- */
/* Chapitre Orientation : titre large, chapô en dessous */
.fork-head{margin-bottom:clamp(2.4rem,4vw,3.4rem);max-width:none}
.fork-head h2{
  font-family:var(--serif);font-weight:300;letter-spacing:-.025em;
  font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.1;color:#fff;margin-top:1.2rem;max-width:24ch;
}
.fork-head h2 em{font-style:italic;color:var(--warm-em)}
.fork-head .lede{color:rgba(245,236,246,.78);margin-top:1.3rem;max-width:66ch}


/* ---------- V9 : push Publications sur fond sombre (page Médecins adresseurs) ---------- */
.pub-dark{
  background:var(--ink-950);color:#fff;
  padding-top:0;                                   /* continuité visuelle avec le bloc de service */
  padding-bottom:clamp(5rem,9vw,8rem);
}
.pub-dark > .wrap > .sec-head{
  padding-top:clamp(3.5rem,7vw,6rem);
  border-top:1px solid rgba(191,174,220,.18);      /* respiration : un filet, pas une rupture */
  max-width:none;
}
.pub-dark .sec-head h2{color:#fff}
.pub-dark .sec-head h2 em{color:var(--warm-em)}
.pub-dark .sec-head .lede{color:rgba(238,230,245,.72);max-width:52ch}
.pub-dark .btn-plum{background:#5C3A9E;color:#fff;border:1px solid rgba(255,255,255,.22)}
.pub-dark .btn-plum:hover{background:#6E4BB0;border-color:rgba(255,255,255,.5)}

.pub-dark .pub-card{
  background:rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(191,174,220,.20);
}
.pub-dark .pub-card:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(247,198,220,.55);
  box-shadow:0 36px 64px -40px rgba(0,0,0,.7);
}
.pub-dark .pub-card .meta{color:#F7C6DC}
.pub-dark .pub-card .meta .dot{background:var(--mauve)}
.pub-dark .pub-card h3{color:#fff}
.pub-dark .pub-card p{color:rgba(238,230,245,.74)}
.pub-dark .pub-card .more{color:#F7C6DC}


/* ---------- V11 : portrait du Dr Melloul (corrigé) ---------- */
/* Blog — hero d'auteur : coupe diagonale nette, fondu flou vers la droite */
.hero-author{
  background:
    radial-gradient(80% 100% at 6% 0%, rgba(139,69,115,.35), transparent 55%),
    radial-gradient(70% 90% at 40% 100%, rgba(126,91,196,.25), transparent 60%),
    linear-gradient(120deg, #1A0E2E 0%, #2A1745 38%, #3A2050 62%, #4A2A63 100%);
  position:relative;overflow:hidden;padding-bottom:clamp(3rem,6vw,5rem);min-height:clamp(420px,54vh,560px);display:flex;align-items:center}
.author-copy{max-width:56ch;position:relative;z-index:2}
.author-copy h1{max-width:16ch}
.author-copy p{max-width:52ch}

.author-media{
  position:absolute;top:0;bottom:0;right:0;width:52%;z-index:1;pointer-events:none;
  /* coupe nette : bord gauche en diagonale */
  clip-path:polygon(22% 0, 100% 0, 100% 100%, 0% 100%);
}
.author-media img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:52% 18%;      /* cadrage serré sur le visage */
  transform:scale(1.06);
}
/* couche nette : règne à la coupe, s'estompe vers la droite */
.am-sharp{
  -webkit-mask-image:linear-gradient(100deg, rgba(0,0,0,1) 8%, rgba(0,0,0,.9) 40%, transparent 82%);
  mask-image:linear-gradient(100deg, rgba(0,0,0,1) 8%, rgba(0,0,0,.9) 40%, transparent 82%);
}
/* couche floue : prend le relais et se dissout */
.am-blur{
  filter:blur(22px);
  -webkit-mask-image:linear-gradient(100deg, transparent 25%, rgba(0,0,0,.6) 55%, transparent 90%);
  mask-image:linear-gradient(100deg, transparent 25%, rgba(0,0,0,.6) 55%, transparent 90%);
  opacity:.8;
}
/* La photo se fond vers le BLANC sur la droite */
.author-media::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 38%,
    rgba(255,255,255,.30) 62%,
    rgba(255,255,255,.85) 86%,
    #FFFFFF 98%);
}
/* liseré lumineux sur l'arête diagonale */
.author-media::before{
  content:"";position:absolute;top:-10%;left:22%;width:1px;height:120%;z-index:4;
  background:linear-gradient(to bottom, transparent, rgba(247,198,220,.55), transparent);
}
/* le hero s'ouvre sur le blanc, mais seulement à droite de la diagonale */
.hero-author::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 58%,
    rgba(255,255,255,.28) 72%,
    rgba(255,255,255,.85) 89%,
    #FFFFFF 100%);
}

.byline{display:flex;align-items:center;gap:1rem;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.2);max-width:420px}
.byline .avatar{
  width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center 22%;flex:none;
  border:1px solid rgba(255,255,255,.55);box-shadow:0 0 0 4px rgba(255,255,255,.06), 0 10px 24px -14px rgba(0,0,0,.7);
}
.byline .n{font-family:var(--serif);font-size:1.05rem;color:#fff;font-weight:400}
.byline .r{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#F7C6DC;margin-top:.2rem}

/* Le Centre — fiche fondateur : vignette ronde, pas de bandeau */
.founder-head{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.4rem}

.founder .langues{
  margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid rgba(191,174,220,.22);
  font-size:.82rem;color:rgba(238,230,245,.66);
}

@media(max-width:960px){
  .author-media{width:100%;opacity:.35;clip-path:none}
  .am-sharp{-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), transparent 80%);mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), transparent 80%)}
  .am-blur{display:none}
  .author-copy{max-width:none}
  .keyskills ul{grid-template-columns:1fr}
}


/* =========================================================
   V13 — PAGE PATIENTS : parcours en 4 étapes
   ========================================================= */
[id^="etape-"],#parcours-fin{scroll-margin-top:calc(var(--hdr-h-min) + 12px)}

/* Rail des 4 étapes : de gauche à droite */
.steprail{
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(.9rem,1.6vw,1.4rem);margin-top:clamp(1rem,2vw,1.6rem);perspective:1000px;
}
.steprail a{
  display:flex;flex-direction:column;height:100%;
  padding:clamp(1.3rem,2vw,1.7rem);
  background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(191,174,220,.24);
  border-radius:18px 4px 18px 4px;
  transform-style:preserve-3d;will-change:transform;
  transition:transform .5s cubic-bezier(.2,.7,.3,1),background .4s,border-color .4s,border-radius .5s,box-shadow .5s;
}
.steprail a:hover{
  background:rgba(255,255,255,.12);border-color:rgba(247,198,220,.6);
  border-radius:4px 18px 4px 18px;box-shadow:0 34px 60px -36px rgba(0,0,0,.7);
}
.steprail .s{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);display:flex;align-items:center;gap:.6rem}
.steprail .s::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rose);flex:none;box-shadow:0 0 0 4px rgba(229,152,190,.2)}
.steprail li:nth-child(2) .s::before{background:var(--mauve);box-shadow:0 0 0 4px rgba(176,137,184,.2)}
.steprail li:nth-child(3) .s::before{background:var(--periw);box-shadow:0 0 0 4px rgba(169,155,208,.2)}
.steprail li:nth-child(4) .s::before{background:var(--cyan);box-shadow:0 0 0 4px rgba(126,91,196,.26)}
.steprail .t{font-family:var(--serif);font-size:1.15rem;color:#fff;margin-top:.9rem;line-height:1.3;letter-spacing:var(--display-ls)}
.steprail .d{font-size:.88rem;color:rgba(238,230,245,.7);margin-top:.6rem;flex:1}
.steprail .go{
  margin-top:1.2rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:#F7C6DC;display:inline-flex;align-items:center;gap:.6rem;transition:gap .3s;
}
.steprail a:hover .go{gap:1rem}
.steprail .go svg{width:20px;height:8px}

/* Les 4 sections d'étape */
.etape{padding:clamp(5rem,10vw,8.5rem) 0;color:#fff}
.etape--ink .px-veil{background:linear-gradient(110deg,rgba(28,16,48,.94) 0%, rgba(46,28,74,.88) 48%, rgba(74,42,99,.58) 100%)}
.etape--plum .px-veil{background:linear-gradient(110deg,rgba(58,32,80,.94) 0%, rgba(90,46,93,.84) 48%, rgba(46,33,80,.60) 100%)}
.etape .px-media img{filter:saturate(.75)}
.etape-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.etape-num span{
  font-family:var(--serif);font-size:clamp(3rem,7vw,6rem);font-weight:300;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(247,198,220,.55);letter-spacing:-.03em;
}
.etape-body{max-width:62ch}
.etape-body h2{font-family:var(--serif);font-weight:var(--display-w);font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.14;color:#fff;margin-top:1rem;letter-spacing:var(--display-ls)}
.etape-body p{color:rgba(243,236,249,.84);margin-top:1.2rem;font-size:1.02rem}
.etape-facts{list-style:none;display:grid;gap:.75rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.22)}
.etape-facts li{
  font-family:var(--mono);font-size:.76rem;letter-spacing:.04em;color:rgba(247,198,220,.92);
  display:flex;gap:.8rem;align-items:baseline;
}
.etape-facts li::before{content:"—";color:rgba(255,255,255,.45);flex:none}
.etape-next{
  display:inline-flex;align-items:center;gap:.8rem;margin-top:2.2rem;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.5rem;
  transition:gap .3s,color .3s,border-color .3s;
}
.etape-next:hover{color:#fff;border-color:#fff;gap:1.2rem}
.etape-next svg{width:9px;height:20px}

/* Fin de parcours */
.parcours-fin{background:var(--ice)}
.parcours-fin .sec-head h2{color:#3A2050}
.parcours-fin .sec-head h2 em{color:#8B4573}
.parcours-fin .eyebrow{color:#8B4573}
.parcours-fin .eyebrow::before{background:var(--mauve)}

@media(max-width:960px){
  .steprail{grid-template-columns:1fr}
  .etape-grid{grid-template-columns:1fr;gap:.5rem}
}


/* =========================================================
   V16 — Photos du blog : couleurs réelles
   ========================================================= */
.pub-card .thumb,.pub-lead .thumb{position:relative;overflow:hidden}
.pub-card .thumb img,.pub-lead .thumb img{filter:none}      /* aucun voile colorant */

/* Article : illustrations en couleurs réelles, coins de la charte */
.article figure{position:relative;overflow:hidden;border-radius:20px 4px 20px 4px}
.article figure img{filter:none;border-radius:0}

/* Signature sans vignette */
.byline--plain{border-top:1px solid rgba(255,255,255,.2)}
.byline--plain .n{font-size:1.1rem}

/* Hero d'auteur : la photo respire, le texte ne la chevauche plus */
.author-media{width:48%}



/* ---------- V20 : le bloc texte reste calé à gauche, hors de la photo ---------- */
.hero-author > .wrap{
  width:100%;                 /* corrige la rétraction du conteneur devenu élément flex */
  position:relative;z-index:2;
}
.author-copy{
  max-width:min(46ch, 44%);   /* jamais au-delà de la diagonale */
  position:relative;z-index:2;
}
.author-copy h1{max-width:14ch}
.byline{max-width:100%}
@media(max-width:1200px){ .author-copy{max-width:min(44ch,50%)} }
@media(max-width:960px){ .author-copy{max-width:none} }


/* =========================================================
   V24 — Deux identités de formulaire : patient (violet) / médecin (bleu)
   Une seule modale, deux thèmes qui basculent avec le choix « Vous êtes ».
   ========================================================= */
:root{
  --med-900:#0F4C75;
  --med-700:#1E6FA8;
  --med-500:#2E90C9;
  --med-100:#DCEDF7;
}

/* Modale — thème médecin */
.modal.medecin .modal-box{border-top:3px solid var(--med-500)}
.modal.medecin .eyebrow{color:var(--med-700)}
.modal.medecin .eyebrow::before{background:var(--med-500)}
.modal.medecin h2{color:var(--med-900)}
.modal.medecin .modal-sub a{color:var(--med-700)}
.modal.medecin .field label{color:var(--med-700)}
.modal.medecin .field input:focus,
.modal.medecin .field select:focus,
.modal.medecin .field textarea:focus{
  border-color:var(--med-500);box-shadow:0 0 0 3px rgba(46,144,201,.18);
}
.modal.medecin .btn-plum{background:var(--med-700)}
.modal.medecin .btn-plum:hover{background:var(--med-900)}
.modal.medecin .modal-close:hover{color:var(--med-700)}

/* Formulaire de la page Contact — même bascule */
.form-card.medecin{border-color:rgba(46,144,201,.45);background:rgba(46,144,201,.10)}
.form-card.medecin .field label{color:#9FD3EE}
.form-card.medecin .field input:focus,
.form-card.medecin .field select:focus,
.form-card.medecin .field textarea:focus{
  border-color:var(--med-500);box-shadow:0 0 0 3px rgba(46,144,201,.25);
}
.form-card.medecin .btn-plum{background:var(--med-500);color:#03243A}
.form-card.medecin .btn-plum:hover{background:#4FA9DC}

/* Espace médecins adresseurs : le bouton d'action passe au bleu */
.adresseurs .btn-primary{background:var(--med-500);color:#03243A}
.adresseurs .btn-primary:hover{background:#4FA9DC}
.adresseurs .contact-row .link-btn{color:#9FD3EE;border-color:rgba(46,144,201,.6)}
.adresseurs .contact-row .link-btn:hover{color:#fff;border-color:#fff}
.adresseurs .cc-head .h{color:#9FD3EE}


/* =========================================================
   V29 — Accueil : mise en avant du blog (fond clair, flat)
   2/3 dernière publication · 1/3 push · filets fins
   ========================================================= */
.news{
  color:var(--slate-700);
  padding:clamp(4.5rem,9vw,8rem) 0;
  background:linear-gradient(160deg, #FFFFFF 0%, #FAF6FB 45%, #F3ECF6 100%);  /* blanc → blanc rosé violet */
}
.news-grid{
  display:grid;grid-template-columns:2fr 1fr;gap:0;
  border-top:1px solid rgba(58,32,80,.16);      /* filets fins, violet très clair */
}

/* 2/3 — la dernière publication */
.news-main{padding:clamp(2rem,3.5vw,3rem) clamp(2rem,4vw,4rem) 0 0}
.news-main a{display:block}
.news-img{margin:0 0 1.8rem;overflow:hidden}
.news-img img{
  width:100%;aspect-ratio:16/8;object-fit:cover;display:block;
  transition:transform .9s cubic-bezier(.2,.7,.3,1);
}
.news-main a:hover .news-img img{transform:scale(1.03)}
.news-meta{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:#8B4573;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;font-weight:500;
}
.news-meta i{width:3px;height:3px;border-radius:50%;background:rgba(176,137,198,.7);font-style:normal;flex:none}
.news-meta span:first-child{color:#3A2050}
.news-main h2{
  font-family:var(--serif);font-weight:300;letter-spacing:-.025em;
  font-size:clamp(1.6rem,2.9vw,2.5rem);line-height:1.14;color:#3A2050;
  margin:1rem 0 0;max-width:20ch;transition:color .3s;
}
.news-main a:hover h2{color:#8B4573}
.news-chapo{color:#6B5A78;font-size:1rem;line-height:1.75;margin-top:1.1rem;max-width:56ch}
.news-go{
  display:inline-flex;align-items:center;gap:.7rem;margin-top:1.8rem;
  padding-bottom:clamp(2rem,3.5vw,3rem);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#8B4573;
  font-weight:500;transition:gap .3s;
}
.news-main a:hover .news-go{gap:1.2rem}
.news-go svg{width:22px;height:8px}

/* 1/3 — le push */
.news-push{
  padding:clamp(2rem,3.5vw,3rem) 0 clamp(2rem,3.5vw,3rem) clamp(2rem,4vw,4rem);
  border-left:1px solid rgba(58,32,80,.16);     /* seul séparateur : un filet fin */
  display:flex;flex-direction:column;
}
.news-push .eyebrow{color:#8B4573}
.news-push .eyebrow::before{background:var(--mauve)}
.news-push h3{
  font-family:var(--serif);font-weight:300;letter-spacing:-.02em;
  font-size:clamp(1.4rem,2.1vw,1.8rem);line-height:1.2;color:#3A2050;margin-top:1rem;max-width:14ch;
}
.news-push h3 em{font-style:italic;color:#8B4573}
.news-push-txt{color:#6B5A78;font-size:.94rem;line-height:1.7;margin-top:1rem}
.news-list{list-style:none;margin-top:2rem;flex:1}
.news-list li{border-top:1px solid rgba(58,32,80,.12)}
.news-list a{display:block;padding:1.2rem 0;transition:padding-left .35s}
.news-list a:hover{padding-left:.6rem}
.news-list .d{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:#8B4573;display:block;font-weight:500;
}
.news-list .t{
  font-family:var(--serif);font-size:1rem;line-height:1.35;color:#3A2050;
  display:block;margin-top:.4rem;transition:color .3s;
}
.news-list a:hover .t{color:#8B4573}
.news-all{
  display:inline-flex;align-items:center;gap:.7rem;margin-top:2rem;padding-top:1.4rem;
  border-top:1px solid rgba(58,32,80,.16);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#3A2050;
  font-weight:500;transition:gap .3s,color .3s;
}
.news-all:hover{gap:1.2rem;color:#8B4573}
.news-all svg{width:22px;height:8px}

@media(max-width:960px){
  .news-grid{grid-template-columns:1fr}
  .news-main{padding:2rem 0 0}
  .news-go{padding-bottom:2rem}
  .news-push{border-left:none;border-top:1px solid rgba(58,32,80,.16);padding:2rem 0 0}
}
