<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Portrait professionnel à Montpellier | Photo CV & LinkedIn</title>
<meta name="description" content="Studio expert en portrait professionnel. Obtenez votre portrait à Montpellier pour CV, LinkedIn et réseaux sociaux avec un photographe spécialisé.">
<meta name="keywords" content="Portrait Montpellier, portrait professionnel, portrait LinkedIn, photo CV, portrait avocat, portrait immobilier, portrait influenceur, shooting portrait">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="index, follow">
<link rel="preload" href="/open.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/ptsans.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/photographe.css?v=1766935663" as="style">
<link rel="stylesheet" type="text/css" href="/photographe.css?v=1766935663">
<link rel="shortcut icon" href="/favicon.ico"/>
<link rel="canonical" href="https://www.eyesoneshot.fr/Portrait-Photos-Professionnel-Montpellier.php">
<link rel="preload" href="/Photographe-Montpellier/Castings/responsive.css?v=1766324681" as="style">
<link rel="stylesheet" type="text/css" href="/Photographe-Montpellier/Castings/responsive.css?v=1766324681">
<link rel="icon" type="image/png" href="/favicon.png" sizes="32x32">
<script async defer src="https://www.googletagmanager.com/gtag/js?id=G-R0KN9478LB"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
window.addEventListener('load', function() {
gtag('js', new Date());
gtag('config', 'G-R0KN9478LB');
});
</script>
<!-- End Google Tag Manager --><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "EyesOneShot - portrait professionnel Montpellier",
"image": "https://www.eyesoneshot.fr/Images/portrait-professionnel-montpellier-studio.webp",
"@id": "https://www.eyesoneshot.fr/Portrait-Photos-Professionnel-Montpellier.php",
"url": "https://www.eyesoneshot.fr/Portrait-Photos-Professionnel-Montpellier.php",
"telephone": "+33 6 61 46 12 40",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "10 rue foch",
"addressLocality": "Montpellier",
"postalCode": "34000",
"addressCountry": "FR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 43.6108696,
"longitude": 3.8736037999999553
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "9.6",
"bestRating": "10",
"ratingCount": "946"
},
"description": "Studio spécialisé en portrait professionnel à Montpellier pour CV, LinkedIn et réseaux sociaux.",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Services de Photographie",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "portrait professionnel Montpellier"
}
}
]
}
}
</script>
</head>
<body>
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=G-R0KN9478LB" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript><figure class="logo"><a href="https://www.eyesoneshot.fr" title="Photographe Professionnel"><img width="326" height="71" src="https://www.eyesoneshot.fr/Images/photographe-montpellier.webp" alt="Photographie Montpellier"></a></figure>
<figure class="logo-high-right"><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Castings/Shooting-Photos-Montpellier.php" title="Seance Photos Montpellier"><img width="69" height="105" loading="lazy" src="https://www.eyesoneshot.fr/Images/shooting-photos.webp" alt="Shooting Photos Montpellier"></a>
</figure>
<div class="note ombres">9,6/10</div>
<div class="logo-smartphone">
<a href="https://www.eyesoneshot.fr" title="Photographe Montpellier">
<img width="326" height="71" alt="Photographe Montpellier" src="/Images/photographe-montpellier.webp">
</a>
</div>
<nav id="nav">
<a href="#nav" aria-expanded="true" title="Photos Montpellier">Menu</a>
<a href="#" title="Shooting Photos">Menu</a>
<ul role="menubar">
<li class="" role="menuitem">
<a title="Actualités photographiques" href="/Photographe-Montpellier/News/Photographe-News.php" >Actualités</a>
</li>
<li class="" role="menuitem">
<a title="Séance Photo à Montpellier" href="/Shooting-Photos-Montpellier.php" >Séance Photo</a>
</li>
<li class="link" role="menuitem">
<a title="Avis de Modeles Montpellier" href="/Photographe-Montpellier/Avis-Temoignages/lire-les-evaluations.php" >Témoignages</a>
</li>
<li class="" role="menuitem">
<a title="Présentation de photographies professionnelles à Montpellier" href="/Photographe-Montpellier/Modeles-Photos-Montpellier.php" aria-expanded="false" >
<span>Galeries</span>
</a>
<ul role="group">
<li role="menuitem"><a title="Mannequins femmes : photos professionnelles" href="/Photographe-Montpellier/Models/Femmes/Photographies-Femmes.php" >Femmes</a></li>
<li role="menuitem"><a title="Mannequins hommes : photos professionnelles" href="/Photographe-Montpellier-Hommes/Photographies-Studio-Montpellier-Hommes.php" >Hommes</a></li>
<li role="menuitem"><a title="Modeles Photos Professionnels" href="/Photographe-Montpellier/Models/Modeles-Photos-Montpellier.php" >Modèles</a></li>
<li role="menuitem"><a title="Photographies Paysage Montpellier" href="/Photographe-Montpellier/Landscapes/Photographe-Paysages.php" >Paysages</a></li>
<li role="menuitem"><a title="Photographe Mariages Montpellier" href="/Photographe-Montpellier/Mariages/Photographe-Mariages-Montpellier.php" >Mariages</a></li>
<li role="menuitem"><a title="Photographe événements Montpellier" href="/Photographe-Montpellier/Events/Photographe-Reporter.php" >Événements</a></li>
<li role="menuitem"><a title="Communication Montpellier" href="/Photographe-Montpellier/Artpics/Communication-Montpellier.php" >Artpics</a></li>
</ul>
</li>
<li class="link" role="menuitem">
<a title="Cherche Photographe Montpellier" href="/Photographe-Montpellier/Contact/Chercher-Photographe-Contacter.php" >Contact</a>
</li>
</ul>
</nav><div class="tagshtml">Réalisez votre <a href="https://www.eyesoneshot.fr/Realiser-une-seance-photo.php" title="Séance photo Montpellier professionnel">séance photo à Montpellier</a> avec un photographe professionnel.</div>
<h1 class="title">Portrait professionnel : expert du portrait à Montpellier</h1>
<main class="fondtableau">
<article class="text-castings">
<section class="tagshtml" style="margin-bottom: 40px;">
<p>Reconnus parmi les <strong>meilleurs photographes</strong> de la région pour notre approche technique, nous mettons notre <strong>savoir-faire</strong> au service de vos <strong>reportages photo</strong> et portraits en studio.</p>
<p>En tant que <strong>photographe professionnel à Montpellier</strong>, notre studio s'attache à créer des images qui ont du sens pour votre communication LinkedIn ou institutionnelle. Contrairement à une simple photo, chaque portrait bénéficie d'une expertise pointue sur la maîtrise de la lumière.</p>
<div style="margin-top:20px;">
<h2>Une approche sur-mesure pour vos photos</h2>
<p>Pour garantir un résultat impeccable, notre méthode repose sur trois étapes clés :</p>
<ul style="text-align:left; display:inline-block; margin-top:10px;">
<li><strong>L'étude de vos besoins</strong> : nous analysons votre secteur d'activité.</li>
<li><strong>La séance dirigée</strong> : nous vous guidons pour chaque pose et expression.</li>
<li><strong>La post-production</strong> : un développement numérique soigné et naturel.</li>
</ul>
</div>
</section>
<section class="main-content-wrapper">
<div class="text-column">
<h2>Shooting photo corporate en studio</h2>
<p>À l'ère du digital, votre image est capitale. Le <strong>portrait professionnel Montpellier</strong> constitue désormais le premier pilier de votre identité numérique. C'est pourquoi nous réalisons chaque cliché avec une précision technique haute définition.</p>
<p>Ce <strong>portrait professionnel Montpellier</strong> sur-mesure valorise l'image des profils experts, tels que les avocats, les médecins ou les agents immobiliers.</p>
<p>Pour un commercial ou un entrepreneur, un <strong>portrait professionnel Montpellier</strong> réussi devient un levier de conversion immédiat sur LinkedIn. Enfin, chaque image est sculptée par une lumière studio rigoureuse, soulignant l'autorité naturelle des dirigeants.</p>
</div>
<div class="col-img">
<figure>
<picture>
<source media="(max-width: 480px)" srcset="/Images/portrait-business-avocat-immobilier-min.webp">
<img src="/Images/portrait-business-avocat-immobilier.webp" width="450" height="300" alt="portrait professionnel Montpellier femme avocat immobilier" fetchpriority="high" style="margin-top: 35px">
</picture>
<figcaption class="portrait">
Portrait professionnel à Montpellier de Marie B., avocate au barreau de Montpellier
</figcaption>
</figure>
<figure>
<picture>
<source media="(max-width: 480px)" srcset="/Images/portrait-professionnel-montpellier-studio-min.webp">
<img src="/Images/portrait-professionnel-montpellier-studio.webp" width="450" height="300" alt="portrait professionnel Montpellier homme studio" loading="lazy">
</picture>
<figcaption class="portrait">
Nicolas M. a sollicité notre studio pour un portrait de dirigeant aux finitions haute définition.
</figcaption>
</figure>
</div>
</section>
<section class="row reverse">
<div class="text-column">
<h2>Optimisez votre image sur les réseaux sociaux</h2>
<p>Gagner des followers exige un <strong>portrait professionnel Montpellier</strong> captivant. En effet, nous produisons des images conçues pour séduire une audience exigeante. C'est d'ailleurs pour cette raison que les comptes à forte influence collaborent systématiquement avec un photographe expert.</p>
<p>Un simple smartphone ne peut rivaliser avec la texture et la lumière d'un studio. Dès lors, ce <strong>portrait professionnel Montpellier</strong> original garantit un impact visuel immédiat. Il crédibilise votre profil de créateur de contenu auprès de votre communauté.</p>
<p>De plus, les followers sont plus enclins à suivre une personnalité qui soigne son image de marque. Grâce à un shooting de haute qualité, vous renforcez durablement votre présence digitale.</p>
</div>
<div class="col-img">
<figure>
<picture>
<source media="(max-width: 480px)" srcset="/Images/portrait-instagram-montpellier-influence-min.webp">
<img src="/Images/portrait-instagram-montpellier-influence.webp" width="450" height="300" alt="portrait professionnel Montpellier femme réseaux sociaux" loading="lazy" style="margin-top:15px;">
</picture>
<figcaption class="portrait">
Julie L. optimise son image de marque pour son profil Instagram professionnel.
</figcaption>
</figure>
<figure>
<picture>
<source media="(max-width: 480px)" srcset="/Images/photo-cv-linkedin-montpellier-min.webp">
<img src="/Images/photo-cv-linkedin-montpellier.webp" width="450" height="300" alt="photo cv linkedin montpellier femme" loading="lazy" style="margin-top:15px;">
</picture>
<figcaption class="portrait">
Léa S. a fait confiance au studio pour la mise à jour de sa photo de profil LinkedIn.
</figcaption>
</figure>
</div>
</section>
<section class="row">
<div class="text-column">
<h2>Une expertise dédiée aux secteurs exigeants</h2>
<p>La force d'un <strong>portrait professionnel Montpellier</strong> réside dans sa capacité à traduire instantanément votre expertise métier. Qu'il s'agisse de mettre en avant un uniforme de pilote ou une blouse de chirurgien, chaque détail est travaillé avec précision. De cette manière, nous renforçons votre crédibilité visuelle dès le premier regard.</p>
<p>Notre studio maîtrise parfaitement les codes esthétiques des secteurs les plus exigeants. C'est pourquoi nous produisons des images qui reflètent fidèlement votre sérieux et votre engagement professionnel.</p>
<p>Pendant votre séance, notre photographe vous accompagne grâce à une direction de modèle personnalisée. Nous ajustons ensemble votre posture ainsi que l'expression de votre regard. Dès lors, votre <strong>portrait professionnel Montpellier</strong> devient un véritable atout stratégique pour valoriser votre parcours et inspirer confiance.</p>
</div>
<div class="col-img">
<figure>
<picture>
<source media="(max-width: 480px)" srcset="/Images/portrait-chirurgien-medecin-montpellier-min.webp">
<img src="/Images/portrait-chirurgien-medecin-montpellier.webp" width="450" height="300" alt="portrait professionnel Montpellier chirurgien medecin" loading="lazy">
</picture>
<figcaption class="portrait" >
Hussein H., chirurgien au CHU de Montpellier, pour sa communication médicale et hospitalière
</figcaption>
</figure>
<figure>
<picture>
<source media="(max-width: 480px)" srcset="/Images/portrait-pilote-avion-montpellier-min.webp">
<img src="/Images/portrait-pilote-avion-montpellier.webp" width="450" height="300" alt="portrait professionnel Montpellier pilote de ligne" loading="lazy" style="margin-top:15px;">
</picture>
<figcaption class="portrait">
Quentin D., pilote de ligne, étudiant à l'ESMA de Montpellier.
</figcaption>
</figure>
</div>
</section>
<section>
<h2>Conseils pour préparer votre séance photo</h2>
<p><strong>Quelle tenue porter pour un portrait professionnel Montpellier ?</strong></p>
<p class="ms2 me2">Privilégiez des vêtements reflétant votre secteur : costume pour un avocat, tenue soignée pour l'immobilier. Votre <strong>portrait professionnel Montpellier</strong> doit inspirer le sérieux absolu.</p>
<p><strong>Quelle est la durée d'un shooting portrait professionnel Montpellier ?</strong></p>
<p class="ms2 me2">Prévoyez entre 45 et 90 minutes. Ce temps permet d'obtenir un <strong>portrait professionnel Montpellier</strong> parfait, sans précipitation.</p>
<p><strong>Pourquoi choisir EyesOneShot pour votre portrait professionnel Montpellier ?</strong></p>
<p class="ms2 me2">Notre studio maîtrise l'éclairage pour souligner vos atouts. C'est l'assurance d'un <strong>portrait professionnel Montpellier</strong> qui valorise votre image numérique durablement.</p>
</section>
<section class="contact-final">
<p class="center"><strong>Réservez votre portrait professionnel Montpellier via notre formulaire de contact.</strong></p>
<div id="text-mineur" class="text-mineur">** La présence d'un parent est obligatoire pour les mineurs **</div>
<p class="center">EyesOneShot s'engage à ne céder en aucun cas les informations vous concernant.</p>
</section>
</article>
<div class="mt2">
Vous êtes ...</div>
<form id="formulaire" name="formulaire" action="/Photographe-Montpellier/Castings/envoi.php?rand=1767055179" method="post" enctype="multipart/form-data" autocomplete="on">
<input type="hidden" name="token" value="2bc1bc31bc844969fec0fbe49d9a42f2200acbfa133ce4c38dad8e1b6b08a15b">
<div style="overflow:hidden; width:1px; height:1px; position:absolute; left:-5000px;">
<label for="website">Nous vous remercions</label>
<input type="text" id="website" name="website" tabindex="-1" autocomplete="off">
</div>
<div class="divform">
<!-- Sexe -->
<div class="r">
<div class="c"><label for="femme" class="">Femme</label></div>
<div class="c"><input type="radio" id="femme" name="candidature[sex]" value="Femme" ></div>
<div class="c"><label for="homme" class="">Homme</label></div>
<div class="c"><input type="radio" id="homme" name="candidature[sex]" value="Homme" ></div>
</div>
<!-- Majorité -->
<div class="r">
<div class="c"><label for="18ans" class="">+ 18 ans</label></div>
<div class="c"><input type="radio" id="18ans" name="candidature[major]" value="1" ></div>
<div class="c"><label for="17ans" class="">- 18 ans</label></div>
<div class="c"><input type="radio" id="17ans" name="candidature[major]" value="0" ></div>
</div>
<!-- Prénom / Nom -->
<div class="r">
<div class="c"><label for="Prenom" class="">Prénom</label></div>
<div class="c"><input name="candidature[firstname]" id="Prenom" type="text" class="" value="" autocomplete="given-name"></div>
<div class="c"><label for="Nom" class="">Nom</label></div>
<div class="c"><input name="candidature[lastname]" id="Nom" type="text" class="" value="" autocomplete="family-name"></div>
</div>
<!-- Téléphone / Email -->
<div class="r">
<div class="c"><label for="Portable" class="">Portable</label></div>
<div class="c"><input type="tel" maxlength="14" id="Portable" name="candidature[cellular]" class="" value="" autocomplete="tel"></div>
<div class="c"><label for="Email" class="">E-mail</label></div>
<div class="c"><input type="email" maxlength="50" name="candidature[email]" id="Email" class="" value="" autocomplete="email"></div>
</div>
<!-- Code Postal / Ville -->
<div class="r">
<div class="c"><label for="CP" class="">Code Postal</label></div>
<div class="c"><input name="candidature[postalcode]" id="CP" type="text" pattern="\d*" class="" value="" autocomplete="postal-code"></div>
<div class="c"><label for="Ville" class="">Ville</label></div>
<div class="c"><input name="candidature[city]" id="Ville" type="text" class="" value="" autocomplete="address-level2"></div>
</div>
<!-- Captcha -->
<div class="r">
<div class="c"></div>
<div class="c">
<label for="Captcha">Copiez ce code
<span class="code">
<input type="hidden" name="candidature[captcha][0]" value="67280">67280 </span>
</label>
<input type="hidden" name="return" value="/Portrait-Photos-Professionnel-Montpellier.php">
</div>
<div class="c">
<input
name="candidature[captcha][1]"
id="Captcha"
type="text"
pattern="\d*"
class=""
value=""
>
</div>
<div class="c"></div>
<div class="c"></div>
</div>
</div>
<input id="button_form_candidature_submit" type="submit" name="submit" value="Envoyez" class="submit">
</form>
<script>
// Supprime la classe erreur lors de la saisie
function removeError(el) {
if(el.type === 'text' || el.type === 'email' || el.type === 'tel') {
el.classList.remove('error-field');
const label = document.querySelector('label[for="'+el.id+'"]');
if(label) label.classList.remove('error-label');
}
if(el.type === 'radio') {
document.querySelectorAll('input[name="'+el.name+'"]').forEach(r => {
const l = document.querySelector('label[for="'+r.id+'"]');
if(l) l.classList.remove('error-label');
});
}
}
document.querySelectorAll('input[type="text"], input[type="email"], input[type="tel"]').forEach(i => {
i.addEventListener('input', () => removeError(i));
});
document.querySelectorAll('input[type="radio"]').forEach(r => {
r.addEventListener('change', () => removeError(r));
});
// Scroll automatique vers le premier champ en erreur
document.addEventListener('DOMContentLoaded', () => {
// On cible le premier élément ayant une classe d'erreur
const firstError = document.querySelector('.error-label, .error-field');
if (firstError) {
// Petit délai pour laisser le navigateur calculer les positions finales
setTimeout(() => {
const yOffset = -200; // Ajustez cette valeur pour laisser de l'espace en haut
const y = firstError.getBoundingClientRect().top + window.pageYOffset + yOffset;
window.scrollTo({top: y, behavior: 'smooth'});
// Focus sur l'input s'il existe
if (firstError.tagName === 'INPUT') {
firstError.focus({preventScroll: true});
}
}, 100);
}
});
</script>
</main>
<div id="copyright">Copyright © 2007 - 2025 Photographe à Montpellier EyesOneShot - Tous droits réservés</div>
<footer>
<nav class="footer-nav" aria-label="Navigation de pied de page">
<div class="footer-grid">
<div class="footer-col"> <p class="footer-h">Le Studio</p> <ul><li><a href="https://www.eyesoneshot.fr/">Photographe Montpellier</a></li><li><a href="https://www.eyesoneshot.fr/Shooting-Photos-Montpellier.php">Shooting Photo Montpellier</a></li><li class="active-footer-item"><span>Portrait Professionnel</span></li><li><a href="https://www.eyesoneshot.fr/Studio-Photo-Montpellier.php">Studio Photo</a></li> </ul></div><div class="footer-col"> <p class="footer-h">Books & Mannequins</p> <ul><li><a href="https://www.eyesoneshot.fr/faire-un-book/book-photos.php">Book Photo Montpellier</a></li><li><a href="https://www.eyesoneshot.fr/mannequin-senior.php">Mannequin Senior Montpellier</a></li><li><a href="https://www.eyesoneshot.fr/agences-de-mannequins.php">Agence Mannequin Montpellier</a></li> </ul></div><div class="footer-col"> <p class="footer-h">Vos Séances</p> <ul><li><a href="https://www.eyesoneshot.fr/Realiser-une-seance-photo.php">Réaliser votre séance</a></li><li><a href="https://www.eyesoneshot.fr/Seance-photo-enfants-Montpellier.php">Séance pour enfants</a></li><li><a href="https://www.eyesoneshot.fr/Seance-photos-entre-amis.php">Séance entre amis</a></li><li><a href="https://www.eyesoneshot.fr/Seance-photos-couple.php">Séance de couple</a></li> </ul></div><div class="footer-col"> <p class="footer-h">Portfolios</p> <ul><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Models/Femmes/Photographies-Femmes.php">Modèles Femmes</a></li><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier-Hommes/Photographies-Studio-Montpellier-Hommes.php">Modèles Hommes</a></li><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Events/Photographe-Reporter.php">Évènements</a></li><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Landscapes/Photographe-Paysages.php">Paysages</a></li><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Landscapes/photos-animaux-montpellier.php">Photos d'animaux</a></li> </ul></div><div class="footer-col"> <p class="footer-h">Infos</p> <ul><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Contact/Chercher-Photographe-Contacter.php" rel="nofollow">Contact</a></li><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Avis-Temoignages/lire-les-evaluations.php">Témoignages</a></li><li><a href="https://www.eyesoneshot.fr/mentions-legales.php" rel="nofollow">Mentions Légales</a></li><li><a href="https://www.eyesoneshot.fr/Photographe-Montpellier/Links/Photographe-Links.php" rel="nofollow">Partenaires</a></li><li><a href="https://www.eyesoneshot.fr/resa/" rel="nofollow">Réservation</a></li> </ul></div> </div>
</nav>
</footer>
<script async type="module">
window.onload = function() {
if (window.location.pathname.includes("/Contact/")) return;
let e = document.getElementById("formulaire"),
targetMineur = document.getElementById("text-mineur"),
t = document.querySelector('.active-footer-item, a[href*="/resa/"]'),
n = document.getElementById("guestbook"),
o = document.createElement("div"),
l = document.createElement("button");
o.className = "fixed-button-container";
l.className = "scroll-button";
// --- FONCTION DE SCROLL 2 SECONDES ---
function smoothScrollTo(targetEl, duration) {
if (!targetEl) return;
const targetPosition = targetEl.getBoundingClientRect().top + window.pageYOffset;
const startPosition = window.pageYOffset;
const distance = targetPosition - startPosition;
let startTime = null;
function animation(currentTime) {
if (startTime === null) startTime = currentTime;
const timeElapsed = currentTime - startTime;
const run = ease(timeElapsed, startPosition, distance, duration);
window.scrollTo(0, run);
if (timeElapsed < duration) requestAnimationFrame(animation);
}
function ease(t, b, c, d) {
t /= d / 2;
if (t < 1) return c / 2 * t * t + b;
t--;
return -c / 2 * (t * (t - 2) - 1) + b;
}
requestAnimationFrame(animation);
}
if (e) {
l.textContent = "+ d'infos";
l.addEventListener("click", () => smoothScrollTo(targetMineur, 1500));
} else {
l.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="31" height="31" viewBox="0 0 448 512" style="vertical-align:middle; fill:white; margin-right:5px;"><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.1 0-65.6-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-5.5-2.8-23.4-8.6-44.6-27.6-16.5-14.7-27.6-32.8-30.8-38.4-3.2-5.6-.3-8.6 2.5-11.4 2.5-2.5 5.5-6.5 8.3-9.7 2.8-3.2 3.7-5.5 5.5-9.2 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 13.3 5.7 23.5 9.2 31.6 11.8 13.3 4.2 25.5 3.6 35.2 2.2 10.8-1.5 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg> WhatsApp';
l.style.backgroundColor = "#006800";
l.addEventListener("click", () => window.open("https://wa.me/message/OIB3KNQAIHWMC1", "_blank"));
}
o.appendChild(l);
document.body.appendChild(o);
// --- LOGIQUE D'ARRIVÉE AVEC #GO ---
if (window.location.hash === "#go") {
if ('scrollRestoration' in history) history.scrollRestoration = 'manual';
window.scrollTo(0, 0);
setTimeout(() => smoothScrollTo(targetMineur, 1500), 300);
}
// GESTION VISIBILITÉ BOUTON
const handleVisibility = () => {
const h = window.innerHeight;
let hide = false;
[t, e, n].forEach(el => { if (el && el.getBoundingClientRect().top < h) hide = true; });
o.style.display = hide ? "none" : "block";
};
window.addEventListener("scroll", handleVisibility, { passive: true });
handleVisibility();
};
</script>
</body>
</html>