.hfrn{--i:#212121;--m:#6E6E68;--f:#E4E4DE;--s:#F7F7F5;--a:#E3B561;--at:#8A6B24;background:#fff;color:var(--i);padding:0 0 56px}.hfrn-conteneur{max-width:1140px;margin:0 auto;padding:0 20px}.hfrn *{box-sizing:border-box}.hfrn a{color:var(--at)}.hfrn a:focus-visible,.hfrn button:focus-visible,.hfrn summary:focus-visible{outline:2px solid var(--at);outline-offset:2px}.hfrn img{max-width:100%;height:auto}.hfrn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hfrn-fil{font-size:12px;color:var(--m);padding:20px 0 0}.hfrn-fil a{color:var(--m);text-decoration:none}.hfrn-fil a:hover{color:var(--at)}.hfrn-entete{padding:22px 0 26px;border-bottom:1px solid var(--f);margin:0 0 32px}.hfrn-entete-haut{display:flex;gap:26px;align-items:flex-start}.hfrn-logo{flex:0 0 132px;border:1px solid var(--f);background:#fff;padding:12px;display:grid;place-items:center;border-radius:2px}.hfrn-logo-img{max-height:96px;width:auto;object-fit:contain}.hfrn-entete-txt{min-width:0;flex:1}.hfrn-badge-niveau{display:inline-block;background:var(--a);color:var(--i);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:2px;margin:0 0 10px}.hfrn-h1{font-size:34px;line-height:1.12;font-weight:500;margin:0;color:var(--i)}.hfrn-slogan{font-size:17px;color:var(--m);margin:8px 0 0;max-width:62ch}.hfrn-meta{font-size:13px;color:var(--m);margin:10px 0 0}.hfrn-meta a{color:var(--at);text-decoration:none}.hfrn-meta a:hover{text-decoration:underline}.hfrn-salons-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0}.hfrn-salons-tags li{font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--a);color:var(--i);padding:3px 9px;border-radius:2px}.hfrn-cols{display:grid;grid-template-columns:minmax(0,68fr) minmax(0,32fr);gap:44px;align-items:start}.hfrn-principal{min-width:0}.hfrn-cote{min-width:0}.hfrn-cote-in{position:sticky;top:90px;display:flex;flex-direction:column;gap:20px}.hfrn-s{padding:0 0 36px;margin:0 0 36px;border-bottom:1px solid var(--f)}.hfrn-s:last-child{border-bottom:0;margin-bottom:0}.hfrn-sur{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--at);margin:0 0 6px;font-weight:500}.hfrn-h2{font-size:22px;font-weight:500;line-height:1.2;margin:0 0 18px;color:var(--i)}.hfrn-h3{font-size:16px;font-weight:500;line-height:1.25;margin:0 0 8px;color:var(--i)}
.hfrn-s h3:not([class]){font-size:16px;font-weight:500;line-height:1.25;margin:18px 0 8px;color:var(--i)}
.hfrn-s h4:not([class]){font-size:14px;font-weight:600;line-height:1.3;margin:16px 0 6px;color:var(--i)}
.hfrn-s blockquote{margin:14px 0;padding:2px 0 2px 14px;border-left:3px solid var(--f);color:var(--m)}.hfrn p{margin:0 0 12px;line-height:1.65}.hfrn-chapo{font-size:17px;color:var(--i);border-left:3px solid var(--a);padding-left:14px;margin:0 0 18px}.hfrn-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:20px 0 0}.hfrn-ul{list-style:none;margin:0 0 12px;padding:0}.hfrn-ul li{padding:0 0 0 16px;position:relative;margin:0 0 6px;line-height:1.55}.hfrn-ul li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--a)}.hfrn-ul-marque li{font-weight:500}.hfrn-libre{margin:20px 0 0}.hfrn-chiffres ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--f);border:1px solid var(--f)}.hfrn-chiffres li{background:#fff;padding:18px 16px;display:flex;flex-direction:column;gap:4px}.hfrn-chiffre{font-size:26px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.hfrn-chiffre-k{font-size:12px;color:var(--m);line-height:1.35}.hfrn-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--f);border:1px solid var(--f)}.hfrn-cartes-3{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}.hfrn-carte{background:#fff;padding:0 0 16px;display:flex;flex-direction:column}.hfrn-carte-img{background:var(--s);aspect-ratio:16/10;overflow:hidden;display:grid;place-items:center}.hfrn-carte-img img{width:100%;height:100%;object-fit:cover;display:block}.hfrn-carte-txt{padding:14px 16px 0}.hfrn-produit .hfrn-carte-img img{object-fit:contain;padding:10px}.hfrn-resume{font-size:13px;color:var(--m);line-height:1.5;margin:0 0 8px}.hfrn-ref{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--m);margin:0 0 6px}.hfrn-carte-liens{display:flex;flex-wrap:wrap;gap:14px;margin:auto 0 0;font-size:13px}.hfrn-note{font-size:12px;color:var(--m);margin:12px 0 0}.hfrn-lien{color:var(--at);text-decoration:none;border-bottom:1px solid var(--a);padding-bottom:1px}.hfrn-lien:hover{border-bottom-color:var(--at)}.hfrn-btn{display:inline-block;background:var(--a);color:var(--i);border:1px solid var(--a);padding:10px 18px;border-radius:3px;font-size:13px;font-weight:500;text-decoration:none;letter-spacing:.03em;text-align:center}.hfrn-btn:hover{background:#D9A94F;border-color:#D9A94F;color:var(--i)}.hfrn-btn-2{background:#fff;border-color:var(--f);color:var(--at)}.hfrn-btn-2:hover{background:var(--s);border-color:var(--at);color:var(--at)}.hfrn-phare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--f);padding:0;overflow:hidden}.hfrn-phare-img{background:var(--s)}.hfrn-phare-img img{width:100%;height:100%;object-fit:cover;display:block}.hfrn-phare-txt{padding:26px 28px}.hfrn-etiquette{display:inline-block;background:var(--a);color:var(--i);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:2px;margin:0 0 10px}.hfrn-phare-prod{font-size:13px;color:var(--m)}.hfrn-phare-prod span{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.hfrn-real{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--f)}.hfrn-real:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}.hfrn-real-img img{width:100%;display:block;border:1px solid var(--f);border-radius:2px}.hfrn-real-txt p{font-size:14px;margin:0 0 8px}.hfrn-resultat{background:var(--s);border-left:3px solid var(--a);padding:10px 14px;font-weight:500}.hfrn-galerie{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.hfrn-galerie a{display:block;border:1px solid var(--f);border-radius:2px;overflow:hidden;text-decoration:none}.hfrn-galerie img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.hfrn-legende{display:block;font-size:12px;color:var(--m);padding:7px 10px}.hfrn-video-cadre{position:relative;background:var(--s);border:1px solid var(--f);aspect-ratio:16/9;overflow:hidden}.hfrn-video-cadre img,.hfrn-video-cadre iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}.hfrn-video-fond{position:absolute;inset:0;background:var(--s)}.hfrn-video-play{position:absolute;inset:0;display:grid;place-items:center;background:transparent;border:0;cursor:pointer;width:100%;height:100%}.hfrn-video-play span{width:52px;height:52px;border-radius:3px;background:var(--a);display:block;position:relative}.hfrn-video-play span:after{content:"";position:absolute;left:21px;top:16px;border-left:14px solid var(--i);border-top:10px solid transparent;border-bottom:10px solid transparent}.hfrn-duree{position:absolute;right:8px;bottom:8px;background:var(--i);color:#fff;font-size:11px;padding:2px 6px;border-radius:2px}.hfrn-video-txt{padding:12px 2px 0}.hfrn-video{background:#fff;padding:0 0 14px}.hfrn-refs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1px;background:var(--f);border:1px solid var(--f)}.hfrn-refs li{background:#fff;min-height:78px;display:grid;place-items:center;padding:12px}.hfrn-refs img{max-height:46px;width:auto;object-fit:contain}.hfrn-ref-nom{font-size:13px;color:var(--m);text-align:center}.hfrn-vignettes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.hfrn-vignettes li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--f);padding:12px;border-radius:2px}.hfrn-vignette-img img{width:56px;height:56px;object-fit:contain}.hfrn-vignette-txt{display:flex;flex-direction:column;gap:3px;font-size:13px;min-width:0}.hfrn-vignette-txt a{text-decoration:none}.hfrn-docs{list-style:none;margin:0;padding:0;border-top:1px solid var(--f)}.hfrn-docs li{border-bottom:1px solid var(--f)}.hfrn-docs a{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:13px 2px;text-decoration:none;color:var(--i);flex-wrap:wrap}.hfrn-docs a:hover .hfrn-doc-nom{color:var(--at)}.hfrn-doc-nom{font-weight:500;font-size:14px}.hfrn-salons{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--f);border:1px solid var(--f)}.hfrn-salons li{background:#fff;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.hfrn-salon-nom{font-weight:500;font-size:15px}.hfrn-salon-stand{display:inline-block;width:fit-content;background:var(--a);color:var(--i);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:2px;margin:2px 0}.hfrn-faq{border-top:1px solid var(--f)}.hfrn-faq-i{border-bottom:1px solid var(--f)}.hfrn-faq-i summary{cursor:pointer;padding:14px 2px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:12px}.hfrn-faq-i summary::-webkit-details-marker{display:none}.hfrn-faq-i summary:after{content:"+";color:var(--at);font-weight:400}.hfrn-faq-i[open] summary:after{content:"&ndash;"}.hfrn-faq-r{padding:0 2px 14px;color:var(--m)}.hfrn-actus{list-style:none;margin:0;padding:0;display:grid;gap:14px}.hfrn-actus li{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center}.hfrn-actus li:only-child,.hfrn-actus li:has(> .hfrn-actu-txt:first-child){grid-template-columns:1fr}.hfrn-actu-img img{width:84px;height:60px;object-fit:cover;display:block;border:1px solid var(--f);border-radius:2px}.hfrn-actu-txt{display:flex;flex-direction:column;gap:3px}.hfrn-actu-txt a{text-decoration:none;font-weight:500;font-size:14px;line-height:1.35;color:var(--i)}.hfrn-actu-txt a:hover{color:var(--at)}.hfrn-revend{background:var(--s);border:1px solid var(--f);padding:26px 28px;border-bottom:1px solid var(--f)}.hfrn-revend .hfrn-h2{margin-bottom:10px}.hfrn-presc{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;align-items:start;border:1px solid var(--f);border-left:3px solid var(--a);padding:18px 20px;margin:0 0 32px;background:var(--s)}.hfrn-presc-logo img{width:76px;height:76px;object-fit:contain;background:#fff;border:1px solid var(--f);border-radius:2px}.hfrn-presc-nom{font-size:17px;font-weight:500;margin:0 0 6px}.hfrn-presc-mot{font-size:14px;color:var(--m);margin:0 0 8px}.hfrn-bloc{border:1px solid var(--f);padding:20px;border-radius:2px;background:#fff}.hfrn-bloc-t{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--at);font-weight:500;margin:0 0 14px}.hfrn-contact-photo img{width:88px;height:88px;object-fit:cover;border-radius:2px;border:1px solid var(--f);display:block;margin:0 0 12px}.hfrn-contact-nom{font-size:17px;font-weight:500;margin:0 0 2px}.hfrn-contact-fonction{font-size:13px;color:var(--m);margin:0 0 2px}.hfrn-coord{display:flex;flex-direction:column;gap:7px;margin:14px 0 0;font-size:13px}.hfrn-l{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;align-items:baseline}.hfrn-l-k{color:var(--m);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.hfrn-l-v{word-break:break-word}.hfrn-l-v a{text-decoration:none}.hfrn-l-v a:hover{text-decoration:underline}.hfrn-actions{display:flex;flex-direction:column;gap:9px;margin:18px 0 0}.hfrn-contacts-2{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:13px}.hfrn-contacts-2 li{display:flex;flex-direction:column;gap:2px;padding:0 0 12px;border-bottom:1px solid var(--f)}.hfrn-contacts-2 li:last-child{border-bottom:0;padding-bottom:0}.hfrn-c2-nom{font-weight:500;color:var(--i)}@media (max-width:1024px){.hfrn-cols{grid-template-columns:1fr;gap:34px}.hfrn-cote-in{position:static}.hfrn-phare{grid-template-columns:1fr}.hfrn-real{grid-template-columns:1fr}}@media (max-width:640px){.hfrn-h1{font-size:26px}.hfrn-entete-haut{flex-direction:column;gap:16px}.hfrn-logo{flex:0 0 auto;width:112px}.hfrn-actus li{grid-template-columns:64px minmax(0,1fr)}.hfrn-actu-img img{width:64px;height:48px}}@media (prefers-reduced-motion:reduce){.hfrn *{transition:none!important;animation:none!important}}
:root{--or:#b8912f;--or-clair:#f6ecd6;--or-fonce:#8a6b24;--trait:#e8e2d6}
body{margin:0;background:#fff;font-family:Roboto,'Helvetica Neue',Arial,sans-serif;color:#14120e}
.hfrn-conteneur{max-width:1240px;margin:0 auto;padding:0 24px 70px}

/* ---- En-tete ---- */
.hfrn-entete{border-bottom:0;padding:26px 0 22px;margin:0}
.hfrn-entete-haut{gap:34px;align-items:flex-start}
.hfrn-logo{flex:0 0 156px;height:156px;padding:0;border:1px solid var(--trait);border-radius:10px;overflow:hidden;background:#fff}
.hfrn-logo-img{max-height:none;width:100%;height:100%;object-fit:contain;padding:16px;box-sizing:border-box}
.hfrn-badge-niveau{display:inline-block;background:var(--or-clair);color:var(--or-fonce);border-radius:999px;padding:5px 13px;font-size:11px;font-weight:600;letter-spacing:.11em;margin:0 0 12px}
.hfrn-h1{font-size:clamp(30px,3.4vw,42px);font-weight:700;letter-spacing:-.015em;line-height:1.05}
.hfrn-slogan{color:var(--or);font-size:19px;font-weight:500;margin:10px 0 0;max-width:none}
.hfrn-meta{font-size:14.5px;color:#5f584d;margin:14px 0 0}
.hfrn-meta a{color:var(--or-fonce);font-weight:500}
.hfrn-salons-tags{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:20px 0 0}
.hfrn-salons-tags li{border:1px solid var(--trait);border-radius:6px;padding:9px 15px;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5f584d;background:#fff}

/* ---- Onglets : tout doit tenir, jamais de barre de defilement ---- */
.hfrn-onglets{display:flex;flex-wrap:wrap;overflow:visible;gap:0;border-bottom:1px solid var(--trait);margin:6px 0 34px}
.hfrn-onglet{flex:1 1 auto;text-align:center;padding:13px 6px;font-size:14.5px;color:#5f584d;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.hfrn-onglet:hover{color:#14120e}
.hfrn-onglet.est-actif{color:var(--or-fonce);border-bottom-color:var(--or);font-weight:500}
.hfrn-onglet:focus-visible{outline:2px solid var(--or);outline-offset:-2px}
@media (max-width:560px){.hfrn-onglet{flex:1 1 42%;font-size:13.5px}}

/* ---- Colonne de droite : la carte interlocuteur ---- */
.hfrn-cote-in{gap:22px}
.hfrn-bloc.hfrn-contact{border:1px solid var(--trait);border-radius:8px;overflow:hidden;padding:0;background:#fff}
.hfrn-bloc.hfrn-contact .hfrn-bloc-t{background:var(--or);color:#fff;text-align:center;margin:0;padding:13px 14px;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.hfrn-contact-photo{margin:0;padding:0}
.hfrn-contact-photo img{display:block;width:100%;height:auto;max-width:none;border-radius:0;object-fit:cover}
.hfrn-contact-nom{font-size:23px;font-weight:700;color:#14120e;margin:20px 22px 6px;line-height:1.15}
.hfrn-contact-fonction{margin:0 22px 6px;color:#5f584d;font-size:15px}
.hfrn-contact .hfrn-meta{margin:0 22px 4px;font-size:15px;color:#5f584d}
.hfrn-bloc.hfrn-contact .hfrn-coord{margin:20px 22px 22px;display:flex;flex-direction:column;gap:14px}
.hfrn-bloc.hfrn-contact .hfrn-l{display:flex;align-items:center;gap:13px}
.hfrn-contact .hfrn-l-k{display:none}
.hfrn-contact .hfrn-l::before{content:'';flex:0 0 21px;width:21px;height:21px;background-repeat:no-repeat;background-position:center;background-size:contain}
.hfrn-contact .hfrn-l[data-cle=tel]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.1a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
.hfrn-contact .hfrn-l[data-cle=mobile]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E")}
.hfrn-contact .hfrn-l[data-cle=mail]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E")}
.hfrn-contact .hfrn-l[data-cle=linkedin]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-13h4v1.5A6 6 0 0 1 16 8z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E")}
.hfrn-contact .hfrn-l[data-cle=site]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20 15 15 0 0 1 0-20z'/%3E%3C/svg%3E")}
.hfrn-contact .hfrn-l[data-cle=adresse]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.hfrn-contact .hfrn-l[data-cle=whatsapp]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-12.6 7.3L3 20.5l1.8-5.2A8.4 8.4 0 1 1 21 11.5z'/%3E%3C/svg%3E")}
.hfrn-contact .hfrn-l-v{font-size:15.5px;color:#14120e}
.hfrn-contact .hfrn-l-v a{color:#14120e;text-decoration:none}
.hfrn-contact .hfrn-l-v a:hover{color:var(--or-fonce)}


/* Les autres cartes de la colonne suivent le meme dessin. */
.hfrn-bloc{border:1px solid var(--trait);border-radius:8px;background:#fff;padding:0 0 18px}
.hfrn-bloc .hfrn-bloc-t{background:#f7f5f0;color:#5f584d;color:#5f584d;margin:0 0 14px;padding:11px 18px;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--trait)}
.hfrn-bloc .hfrn-l{padding:0 18px}


/* ---- Colonne de droite qui suit le defilement ----
   1. La grille etait en align-items:start : la colonne se reduisait a la
      hauteur de sa carte, si bien que position:sticky n'avait aucune course.
      Etiree sur toute la hauteur de la rangee, la carte peut enfin voyager.
   2. La carte est plus haute que la fenetre. Un ancrage par le haut figerait
      son sommet et rendrait le bas inatteignable : on l'ancre donc par le bas
      quand elle depasse, par le haut sinon. Le choix est fait en JavaScript,
      CSS ne sachant pas comparer une hauteur a celle de la fenetre. */
.hfrn-cols{align-items:stretch}
.hfrn-cote{align-self:stretch}
.hfrn-cote-in{will-change:top}

/* La colonne se fige en haut et suit le defilement. Aucune barre de
   defilement interne : ce qui depasse la fenetre reste simplement plus bas,
   l'essentiel (interlocuteur et boutons d'action) tenant en haut de carte. */
.hfrn-cote-in{position:sticky;top:24px;bottom:auto;max-height:none;overflow:visible}
.hfrn-cote-in>*{flex-shrink:0}
/* La photo est cadree pour que la carte contact tienne entiere dans un ecran
   d'ordinateur portable, sans quoi les boutons passeraient sous la ligne de
   flottaison une fois la colonne figee. */
.hfrn-bloc.hfrn-contact .hfrn-contact-photo img{aspect-ratio:4/3;object-fit:cover}
@media (max-width:1024px){.hfrn-cote-in{position:static;max-height:none;overflow:visible}}
/* Banniere de maquette */
.mq-banniere{position:sticky;top:0;z-index:50;background:#14120e;color:#e3b561;font:500 12px/1.4 Roboto,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:9px 18px;text-align:center}
.mq-note{max-width:1240px;margin:16px auto 0;padding:0 24px;font:400 13px/1.55 Roboto,Arial,sans-serif;color:#6e6659}
.mq-note b{color:#14120e}

/* ---- Panneaux : le contenu change sur place, sans defilement ---- */
.hfrn-panneau-onglet{display:none}
.hfrn-panneau-onglet.est-actif{display:block;animation:hfrn-apparait .18s ease-out}
@media (prefers-reduced-motion:reduce){.hfrn-panneau-onglet.est-actif{animation:none}}
@keyframes hfrn-apparait{from{opacity:0}to{opacity:1}}
button.hfrn-onglet{background:none;border:0;border-bottom:2px solid transparent;font:inherit;cursor:pointer}
.hfrn-panneau-onglet .hfrn-s:last-child{border-bottom:0}

/* ---- Bouton des cartes de solution ---- */
.hfrn-carte-action{margin:14px 0 0}
.hfrn-btn-secondaire{display:inline-block;padding:9px 18px;border:1px solid var(--or);border-radius:4px;color:var(--or-fonce);background:#fff;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}
.hfrn-btn-secondaire:hover{background:var(--or);color:#fff}
.hfrn-btn-secondaire:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.hfrn-carte{display:flex;flex-direction:column}
.hfrn-carte-txt{display:flex;flex-direction:column;flex:1}
.hfrn-carte-action{margin-top:auto}

/* ================= Colonne de droite : dessin de reference ============ */
/* --- Les trois actions, empilees, en majuscules --- */
.hfrn-bloc.hfrn-contact .hfrn-actions{display:flex;flex-direction:column;gap:10px;margin:20px 22px 24px}
.hfrn-bloc.hfrn-contact .hfrn-actions a{display:block;text-align:center;padding:13px 12px;border:1px solid var(--or);border-radius:4px;font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;transition:background .15s,color .15s}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn{background:var(--or);color:#fff;order:1}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn:hover{background:var(--or-fonce)}
/* Etre rappele etait un simple lien : il devient un bouton, en 2e position. */
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-lien{background:#fff;color:var(--or-fonce);order:2}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn-2{background:#fff;color:var(--or-fonce);order:3}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-lien:hover,.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn-2:hover{background:var(--or-clair)}
/* --- Carte entreprise : la raison sociale en titre, pas de bandeau --- */
.hfrn-bloc-entreprise{border:1px solid var(--trait);border-radius:8px;background:#fff;padding:0 0 20px}
.hfrn-bloc-entreprise .hfrn-bloc-t{background:none;border:0;margin:0;padding:20px 20px 14px;color:#14120e;font-size:15.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.hfrn-bloc-entreprise .hfrn-coord{margin:0 20px;display:flex;flex-direction:column;gap:11px}
.hfrn-bloc-entreprise .hfrn-l{display:flex;align-items:flex-start;gap:12px;padding:0}
.hfrn-bloc-entreprise .hfrn-l-k{display:none}
.hfrn-bloc-entreprise .hfrn-l::before{content:'';flex:0 0 19px;width:19px;height:19px;margin-top:2px;background-repeat:no-repeat;background-position:center;background-size:contain}
.hfrn-bloc-entreprise .hfrn-l[data-cle=adresse]::before{display:none}
.hfrn-bloc-entreprise .hfrn-l[data-cle=adresse]{margin:0 0 6px}
.hfrn-bloc-entreprise .hfrn-l[data-cle=tel]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.1a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
.hfrn-bloc-entreprise .hfrn-l[data-cle=mail]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E")}
.hfrn-bloc-entreprise .hfrn-l[data-cle=site]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8912f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20 15 15 0 0 1 0-20z'/%3E%3C/svg%3E")}
.hfrn-bloc-entreprise .hfrn-l-v{font-size:14.5px;line-height:1.45;color:#14120e}
.hfrn-bloc-entreprise .hfrn-l-v a{color:#14120e;text-decoration:none}
.hfrn-bloc-entreprise .hfrn-l-v a:hover{color:var(--or-fonce)}
.hfrn-reseaux{display:flex;gap:10px;margin:18px 20px 0}
.hfrn-reseau{width:36px;height:36px;border:1px solid var(--trait);border-radius:4px;background-repeat:no-repeat;background-position:center;background-size:18px 18px;transition:border-color .15s}
.hfrn-reseau:hover{border-color:var(--or)}
.hfrn-reseau[data-reseau=linkedin]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b8912f'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM2.4 21h5.2V9.5H2.4V21zM9.7 9.5h4.98v1.57h.07c.7-1.24 2.4-2.55 4.93-2.55 5.27 0 6.24 3.3 6.24 7.6V21h-5.2v-4.9c0-1.17-.02-2.67-1.7-2.67-1.7 0-1.96 1.28-1.96 2.6V21H9.7V9.5z'/%3E%3C/svg%3E")}
.hfrn-reseau[data-reseau=youtube]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b8912f'%3E%3Cpath d='M23 12s0-3.5-.45-5.17a2.9 2.9 0 0 0-2.05-2.06C18.83 4.3 12 4.3 12 4.3s-6.83 0-8.5.47A2.9 2.9 0 0 0 1.45 6.83C1 8.5 1 12 1 12s0 3.5.45 5.17a2.9 2.9 0 0 0 2.05 2.06c1.67.47 8.5.47 8.5.47s6.83 0 8.5-.47a2.9 2.9 0 0 0 2.05-2.06C23 15.5 23 12 23 12zM9.8 15.3V8.7l5.7 3.3-5.7 3.3z'/%3E%3C/svg%3E")}
.hfrn-reseau[data-reseau=instagram]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b8912f'%3E%3Cpath d='M12 2.16c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.8 3.8 0 0 1-1.38-.9 3.8 3.8 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23C2.17 15.58 2.16 15.2 2.16 12s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.17 8.8 2.16 12 2.16zm0 3.72a6.12 6.12 0 1 0 0 12.24 6.12 6.12 0 0 0 0-12.24zm0 10.09a3.97 3.97 0 1 1 0-7.94 3.97 3.97 0 0 1 0 7.94zm7.79-10.33a1.43 1.43 0 1 1-2.86 0 1.43 1.43 0 0 1 2.86 0z'/%3E%3C/svg%3E")}
/* --- Autres contacts : portrait rond, titre dore, pas de bandeau --- */
.hfrn-bloc-autres{border:1px solid var(--trait);border-radius:8px;background:#fff;padding:0 0 8px}
.hfrn-bloc-autres .hfrn-bloc-t{background:none;border:0;margin:0;padding:18px 20px 8px;color:var(--or-fonce);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.hfrn-contacts-2{list-style:none;margin:0;padding:0 20px}
.hfrn-contacts-2 li{display:grid;grid-template-columns:46px 1fr;column-gap:13px;align-items:start;padding:13px 0;border-top:1px solid var(--trait)}
.hfrn-contacts-2 li:first-child{border-top:0}
.hfrn-contacts-2 li>*{grid-column:2;margin:0}
.hfrn-c2-photo{grid-column:1;grid-row:1/-1;width:46px;height:46px;border-radius:50%;object-fit:cover}
.hfrn-contacts-2 .hfrn-c2-nom{display:block;font-size:14.5px;font-weight:600;color:#14120e;margin:0 0 3px}
.hfrn-contacts-2 .hfrn-meta{display:block;font-size:13px;color:#5f584d;margin:0 0 3px}
.hfrn-contacts-2 .hfrn-lien{display:block;font-size:13px;color:var(--or-fonce);text-decoration:none;word-break:break-word}

/* Les trois actions ont exactement la meme largeur. Une regle plus ancienne
   ajoutait des marges laterales au seul bouton dore, ce qui le retrecissait. */
.hfrn-bloc.hfrn-contact .hfrn-actions{display:flex;flex-direction:column;gap:10px;margin:20px 22px 24px;align-items:stretch}
.hfrn-bloc.hfrn-contact .hfrn-actions a,
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn,
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn-2,
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-lien{display:block;width:100%;box-sizing:border-box;margin:0;padding:13px 12px;text-align:center;border:1px solid var(--or);border-radius:4px;font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn{background:var(--or);color:#fff;order:1}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-lien{background:#fff;color:var(--or-fonce);order:2}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn-2{background:#fff;color:var(--or-fonce);order:3}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn:hover{background:var(--or-fonce)}
.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-lien:hover,.hfrn-bloc.hfrn-contact .hfrn-actions .hfrn-btn-2:hover{background:var(--or-clair)}

/* Alignement : tout le contenu de la carte interlocuteur part de la meme
   marge que la carte entreprise (20px). Une regle generique ajoutait 18px de
   retrait aux lignes de coordonnees, d'ou l'escalier. */
.hfrn-bloc.hfrn-contact .hfrn-contact-nom{margin:20px 20px 6px}
.hfrn-bloc.hfrn-contact .hfrn-contact-fonction{margin:0 20px 6px}
.hfrn-bloc.hfrn-contact .hfrn-meta{margin:0 20px 4px;padding:0}
.hfrn-bloc.hfrn-contact .hfrn-coord{margin:18px 20px 0;padding:0}
.hfrn-bloc.hfrn-contact .hfrn-l{padding:0;margin:0}
.hfrn-bloc.hfrn-contact .hfrn-actions{margin:20px 20px 22px}
.hfrn-bloc.hfrn-contact .hfrn-contact-photo{margin:0 0 4px}

/* ---- Sans photo : une pastille avec les initiales ----
   Le trou laisse par une photo absente est plus voyant qu'une pastille.
   Meme cadrage que la photo, memes couleurs que le reste de la carte. */
.hfrn-initiales{display:grid;place-items:center;width:100%;aspect-ratio:4/3;background:var(--or-clair);color:var(--or-fonce);font-size:58px;font-weight:700;letter-spacing:.03em;font-family:Roboto,Arial,sans-serif;-webkit-user-select:none;user-select:none}
.hfrn-c2-initiales{display:grid;place-items:center;grid-column:1;grid-row:1/-1;width:46px;height:46px;border-radius:50%;background:var(--or-clair);color:var(--or-fonce);font-size:15px;font-weight:700;font-family:Roboto,Arial,sans-serif;-webkit-user-select:none;user-select:none}


#hfrn-presentation{border-bottom:0}
.hfrn-s.hfrn-apercu{margin-top:26px;padding-top:0;border-top:0}
.hfrn-s.hfrn-apercu .hfrn-h2{margin-top:0}
.hfrn-s.hfrn-apercu .hfrn-carte-txt{padding-bottom:16px}
.hfrn-apercu-plus{margin:20px 0 0;text-align:center}
.hfrn-apercu-plus .hfrn-btn-secondaire{cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}

/* integration au gabarit du site : le menu collant occupe le haut de l'ecran */
.hfrn-cote-in{top:100px}
