<section class="sw-contact-section" id="contact">
<div class="sw-contact-inner">
<h2 class="sw-contact-title">
Contact — Get in touch
</h2>
<p class="sw-contact-text">
Always open to collaborations, commissions, and professional opportunities.<br>
Feel free to reach out — I personally read every message.<br><br>
<span class="sw-contact-text-fr">
Une idée, un projet, une collaboration ? Je lis chaque message personnellement et réponds dès que possible.
</span>
</p>
<!-- Formulaire Tally -->
<div class="sw-contact-form-wrapper">
<iframe
src="https://tally.so/r/318lyQ?transparentBackground=1&hideTitle=1"
width="100%"
height="920"
frameborder="0"
marginheight="0"
marginwidth="0"
title="Contact Form"
></iframe>
</div>
<!-- Email + WhatsApp -->
<p class="sw-contact-alt">
You can also write directly to
<a class="sw-mail"
href="mailto:sw@swws.net">
sw@swws.net
</a><br>
or send a message via
<a id="sw-wa-link" class="sw-wa-link" href="#" target="_blank" rel="noopener">
WhatsApp
</a>.<br><br>
<span class="sw-contact-alt-fr">
Vous pouvez aussi écrire directement à
<a class="sw-mail"
href="mailto:sw@swws.net">
sw@swws.net
</a><br>
ou m’envoyer un message via
<a id="sw-wa-link-fr" class="sw-wa-link" href="#" target="_blank" rel="noopener">
WhatsApp
</a>.
</span>
</p>
</div>
</section>
<script>
function initSWContact() {
// --- WHATSAPP PROTECTION ---
const waNumber = "33632493112"; // ton numéro sans le +
const waText = encodeURIComponent("Bonjour, je vous contacte depuis le site SWWS.");
["sw-wa-link", "sw-wa-link-fr"].forEach(id => {
const link = document.getElementById(id);
if (link && (!link.href || !link.href.includes("wa.me"))) {
link.href = https://wa.me/${waNumber}?text=${waText};
}
});
}
// 1) au chargement initial du DOM
document.addEventListener("DOMContentLoaded", initSWContact);
// 2) relances au cas où Super charge le contenu après coup
setTimeout(initSWContact, 1000);
setTimeout(initSWContact, 3000);
// 3) si le DOM change (navigation interne, lazy load, etc.)
if (typeof MutationObserver !== "undefined") {
const observer = new MutationObserver(initSWContact);
observer.observe(document.body, { childList: true, subtree: true });
}
</script>
.sw-contact-section { padding: 4rem 0; } .sw-contact-inner { max-width: 720px; margin: 0 auto; } .sw-contact-title { font-family: "Space Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 3.2rem; line-height: 1.15; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 1rem; } .sw-contact-text { margin-bottom: 2rem; font-family: "Inter", "Helvetica Neue", Arial, sans-serif; font-size: 1rem; line-height: 1.6; font-weight: 500; opacity: 0.9; } .sw-contact-text-fr { display: block; margin-top: 0.5rem; font-size: 0.95em; opacity: 0.7; } .sw-contact-form-wrapper { border-radius: 1.25rem; border: 1px solid rgba(0, 0, 0, 0.08); padding: 1.5rem; backdrop-filter: blur(12px); background-color: rgba(255, 255, 255, 0.6); } .sw-contact-alt { margin-top: 1.25rem; font-family: "Inter", "Helvetica Neue", Arial, sans-serif; font-size: 0.9rem; line-height: 1.5; opacity: 0.85; } .sw-contact-alt-fr { display: block; margin-top: 0.5rem; font-size: 0.85em; opacity: 0.65; } .sw-mail { text-decoration: underline; } .sw-wa-link { color: inherit; text-decoration: underline; transition: opacity 0.2s ease; } .sw-wa-link:hover { opacity: 0.7; } /* Responsive */ @media (max-width: 768px) { .sw-contact-section { padding: 2.5rem 1rem; } .sw-contact-title { font-size: 1.8rem; } }