<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MF Design — Identités visuelles · Trophées · Motion Design</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:ital,wght@0,300;0,400;0,600;1,300&family=Barlow+Condensed:wght@300;700&display=swap" rel="stylesheet">
<style>
:root {
--noir: #0a0a0a;
--rouge: #CC0000;
--jaune: #F5A623;
--blanc: #f0ede8;
--gris: #888;
--gris-clair: #1a1a1a;
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
background: var(--noir);
color: var(--blanc);
font-family: 'Barlow', sans-serif;
font-weight: 300;
overflow-x: hidden;
cursor: default;
}
/* GRAIN OVERLAY */
body::before {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 9999;
opacity: 0.4;
}
/* NAV */
nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
display: flex;
justify-content: space-between;
align-items: center;
padding: 24px 48px;
background: linear-gradient(to bottom, rgba(10,10,10,0.95), transparent);
}
.nav-logo {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.4rem;
letter-spacing: 4px;
color: var(--blanc);
text-decoration: none;
}
.nav-logo span { color: var(--rouge); }
.nav-links {
display: flex;
gap: 40px;
list-style: none;
}
.nav-links a {
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.8rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--gris);
text-decoration: none;
transition: color 0.3s;
}
.nav-links a:hover { color: var(--blanc); }
/* HERO */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
position: relative;
padding: 0 48px;
overflow: hidden;
}
.hero-bg {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at 70% 50%, rgba(204,0,0,0.08) 0%, transparent 60%),
radial-gradient(ellipse at 20% 80%, rgba(245,166,35,0.05) 0%, transparent 50%);
}
.hero-line {
position: absolute;
left: 48px;
top: 0;
bottom: 0;
width: 1px;
background: linear-gradient(to bottom, transparent, var(--rouge), var(--jaune), transparent);
opacity: 0.4;
}
.hero-content {
max-width: 900px;
padding-left: 64px;
animation: fadeUp 1.2s ease both;
}
.hero-eyebrow {
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.75rem;
letter-spacing: 6px;
text-transform: uppercase;
color: var(--rouge);
margin-bottom: 32px;
opacity: 0;
animation: fadeUp 0.8s ease 0.3s both;
}
.hero-title {
font-family: 'Bebas Neue', sans-serif;
font-size: clamp(5rem, 12vw, 11rem);
line-height: 0.9;
letter-spacing: -2px;
margin-bottom: 40px;
opacity: 0;
animation: fadeUp 1s ease 0.5s both;
}
.hero-title span {
display: block;
color: transparent;
-webkit-text-stroke: 1px rgba(240,237,232,0.3);
}
.hero-title em {
font-style: normal;
color: var(--rouge);
}
.hero-sub {
font-size: 1.1rem;
line-height: 1.7;
color: var(--gris);
max-width: 480px;
margin-bottom: 48px;
opacity: 0;
animation: fadeUp 1s ease 0.7s both;
}
.hero-cta {
display: inline-flex;
align-items: center;
gap: 16px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.85rem;
letter-spacing: 4px;
text-transform: uppercase;
color: var(--blanc);
text-decoration: none;
border: 1px solid rgba(240,237,232,0.2);
padding: 16px 32px;
transition: all 0.3s;
opacity: 0;
animation: fadeUp 1s ease 0.9s both;
}
.hero-cta:hover {
border-color: var(--rouge);
color: var(--rouge);
transform: translateX(8px);
}
.hero-cta::after {
content: '→';
transition: transform 0.3s;
}
.hero-cta:hover::after { transform: translateX(4px); }
.hero-logo {
position: absolute;
right: -40px;
top: 50%;
transform: translateY(-50%);
width: 55vw;
max-width: 700px;
opacity: 0.04;
filter: invert(1);
pointer-events: none;
animation: fadeIn 2s ease 1s both;
}
.hero-scroll {
position: absolute;
bottom: 40px;
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
opacity: 0;
animation: fadeIn 1s ease 1.5s both;
}
.hero-scroll span {
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.65rem;
letter-spacing: 4px;
text-transform: uppercase;
color: var(--gris);
}
.scroll-line {
width: 1px;
height: 60px;
background: linear-gradient(to bottom, var(--rouge), transparent);
animation: scrollPulse 2s ease infinite;
}
/* CHIFFRES */
.stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
border-top: 1px solid rgba(255,255,255,0.06);
border-bottom: 1px solid rgba(255,255,255,0.06);
}
.stat {
padding: 60px 48px;
border-right: 1px solid rgba(255,255,255,0.06);
position: relative;
overflow: hidden;
}
.stat:last-child { border-right: none; }
.stat::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(to right, var(--rouge), var(--jaune));
transform: scaleX(0);
transition: transform 0.5s ease;
}
.stat:hover::before { transform: scaleX(1); }
.stat-number {
font-family: 'Bebas Neue', sans-serif;
font-size: 4rem;
color: var(--blanc);
display: block;
}
.stat-number span { color: var(--rouge); }
.stat-label {
font-size: 0.8rem;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--gris);
font-family: 'Barlow Condensed', sans-serif;
}
/* SECTIONS */
section {
padding: 120px 48px;
}
.section-tag {
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.7rem;
letter-spacing: 6px;
text-transform: uppercase;
color: var(--rouge);
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 16px;
}
.section-tag::before {
content: '';
width: 40px;
height: 1px;
background: var(--rouge);
}
.section-title {
font-family: 'Bebas Neue', sans-serif;
font-size: clamp(3rem, 6vw, 5.5rem);
line-height: 1;
margin-bottom: 24px;
}
/* SERVICES */
.services { background: var(--noir); }
.services-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2px;
margin-top: 80px;
background: rgba(255,255,255,0.04);
}
.service-card {
background: var(--noir);
padding: 64px 48px;
position: relative;
overflow: hidden;
transition: background 0.4s;
}
.service-card:hover { background: var(--gris-clair); }
.service-num {
font-family: 'Bebas Neue', sans-serif;
font-size: 5rem;
color: transparent;
-webkit-text-stroke: 1px rgba(255,255,255,0.06);
position: absolute;
top: 24px;
right: 32px;
line-height: 1;
transition: -webkit-text-stroke-color 0.4s;
}
.service-card:hover .service-num {
-webkit-text-stroke-color: rgba(204,0,0,0.2);
}
.service-icon {
width: 48px;
height: 2px;
background: linear-gradient(to right, var(--rouge), var(--jaune));
margin-bottom: 32px;
transition: width 0.4s;
}
.service-card:hover .service-icon { width: 80px; }
.service-name {
font-family: 'Bebas Neue', sans-serif;
font-size: 2rem;
letter-spacing: 2px;
margin-bottom: 16px;
color: var(--blanc);
}
.service-desc {
font-size: 0.95rem;
line-height: 1.7;
color: var(--gris);
max-width: 380px;
}
.service-price {
margin-top: 32px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.8rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--jaune);
}
/* REFERENCES */
.references { background: var(--gris-clair); }
.ref-intro {
max-width: 600px;
font-size: 1.1rem;
line-height: 1.8;
color: var(--gris);
margin-bottom: 80px;
}
.ref-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px;
}
.ref-item {
border-top: 1px solid rgba(255,255,255,0.08);
padding-top: 32px;
}
.ref-name {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.4rem;
letter-spacing: 2px;
color: var(--blanc);
margin-bottom: 8px;
}
.ref-detail {
font-size: 0.85rem;
color: var(--gris);
line-height: 1.6;
}
.ref-badge {
display: inline-block;
margin-top: 12px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.65rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--rouge);
border: 1px solid rgba(204,0,0,0.3);
padding: 4px 12px;
}
/* CONTACT */
.contact {
background: var(--noir);
position: relative;
overflow: hidden;
}
.contact::before {
content: 'CONTACT';
position: absolute;
font-family: 'Bebas Neue', sans-serif;
font-size: 20vw;
color: transparent;
-webkit-text-stroke: 1px rgba(255,255,255,0.02);
bottom: -40px;
right: -20px;
line-height: 1;
pointer-events: none;
}
.contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
margin-top: 80px;
}
.contact-info { }
.contact-line {
display: flex;
align-items: flex-start;
gap: 24px;
margin-bottom: 40px;
padding-bottom: 40px;
border-bottom: 1px solid rgba(255,255,255,0.06);
}
.contact-line:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.contact-label {
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.65rem;
letter-spacing: 4px;
text-transform: uppercase;
color: var(--rouge);
min-width: 80px;
padding-top: 4px;
}
.contact-value {
font-size: 1rem;
color: var(--blanc);
line-height: 1.6;
}
.contact-value a {
color: var(--blanc);
text-decoration: none;
transition: color 0.3s;
}
.contact-value a:hover { color: var(--rouge); }
.contact-form { }
.form-group {
margin-bottom: 24px;
}
.form-group label {
display: block;
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.7rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--gris);
margin-bottom: 8px;
}
.form-group input,
.form-group textarea,
.form-group select {
width: 100%;
background: rgba(255,255,255,0.03);
border: 1px solid rgba(255,255,255,0.1);
color: var(--blanc);
padding: 14px 16px;
font-family: 'Barlow', sans-serif;
font-size: 0.95rem;
outline: none;
transition: border-color 0.3s;
-webkit-appearance: none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
border-color: var(--rouge);
}
.form-group select option {
background: #1a1a1a;
}
.form-group textarea {
height: 120px;
resize: none;
}
.form-submit {
width: 100%;
background: var(--rouge);
color: var(--blanc);
border: none;
padding: 18px;
font-family: 'Bebas Neue', sans-serif;
font-size: 1.2rem;
letter-spacing: 4px;
cursor: pointer;
transition: all 0.3s;
position: relative;
overflow: hidden;
}
.form-submit::before {
content: '';
position: absolute;
inset: 0;
background: var(--jaune);
transform: translateX(-100%);
transition: transform 0.4s ease;
}
.form-submit:hover::before { transform: translateX(0); }
.form-submit span { position: relative; }
/* FOOTER */
footer {
background: var(--gris-clair);
padding: 40px 48px;
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid rgba(255,255,255,0.04);
}
.footer-brand {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.2rem;
letter-spacing: 4px;
color: var(--blanc);
}
.footer-brand span { color: var(--rouge); }
.footer-legal {
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.7rem;
letter-spacing: 2px;
color: var(--gris);
text-align: center;
}
.footer-links {
display: flex;
gap: 24px;
}
.footer-links a {
font-family: 'Barlow Condensed', sans-serif;
font-size: 0.7rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--gris);
text-decoration: none;
transition: color 0.3s;
}
.footer-links a:hover { color: var(--rouge); }
/* ANIMATIONS */
@keyframes fadeUp {
from { opacity: 0; transform: translateY(40px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes scrollPulse {
0%, 100% { opacity: 0.3; transform: scaleY(1); }
50% { opacity: 1; transform: scaleY(1.2); }
}
/* SCROLL REVEAL */
.reveal {
opacity: 0;
transform: translateY(40px);
transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
/* RESPONSIVE */
@media (max-width: 768px) {
nav { padding: 20px 24px; }
.nav-links { display: none; }
.hero { padding: 0 24px; }
.hero-content { padding-left: 32px; }
section { padding: 80px 24px; }
.services-grid { grid-template-columns: 1fr; }
.ref-list { grid-template-columns: 1fr; }
.contact-grid { grid-template-columns: 1fr; gap: 48px; }
.stats { grid-template-columns: 1fr; }
.stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); }
footer { flex-direction: column; gap: 20px; text-align: center; }
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<a href="#" class="nav-logo">MF<span>.</span>DESIGN</a>
<ul class="nav-links">
<li><a href="#services">Services</a></li>
<li><a href="#references">Références</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
<!-- HERO -->
<section class="hero" id="accueil">
<div class="hero-bg"></div>
<div class="hero-line"></div>
<img src="mon_logo_trans_web_.png" alt="" class="hero-logo">
<div class="hero-content">
<p class="hero-eyebrow">Martial Fournel — MF Design — Monistrol-sur-Loire</p>
<h1 class="hero-title">
CRÉER<br>
<span>CE QUI</span><br>
<em>DURE.</em>
</h1>
<p class="hero-sub">Identités visuelles, trophées sur mesure et motion design pour les entreprises qui accordent de l'importance à leur image.</p>
<a href="#contact" class="hero-cta">Démarrer un projet</a>
</div>
<div class="hero-scroll">
<span>Défiler</span>
<div class="scroll-line"></div>
</div>
</section>
<!-- STATS -->
<div class="stats">
<div class="stat reveal">
<span class="stat-number">30<span>+</span></span>
<span class="stat-label">Trophées Volants d'Or — Fraikin France</span>
</div>
<div class="stat reveal reveal-delay-1">
<span class="stat-number">5<span>+</span></span>
<span class="stat-label">Années d'expérience en création</span>
</div>
<div class="stat reveal reveal-delay-2">
<span class="stat-number">A<span>→Z</span></span>
<span class="stat-label">Du brief au livrable final</span>
</div>
</div>
<!-- SERVICES -->
<section class="services" id="services">
<div class="section-tag">Ce que je fais</div>
<h2 class="section-title reveal">MES<br>SERVICES</h2>
<div class="services-grid">
<div class="service-card reveal">
<span class="service-num">01</span>
<div class="service-icon"></div>
<h3 class="service-name">Trophées & Médailles</h3>
<p class="service-desc">Conception complète de A à Z — brief, design, fichiers techniques, coordination fabrication et livraison. Chaque pièce est unique, conçue pour valoriser vos collaborateurs.</p>
<div class="service-price">Design 850€ · Prototype 240–350€ · Série sur devis</div>
</div>
<div class="service-card reveal reveal-delay-1">
<span class="service-num">02</span>
<div class="service-icon"></div>
<h3 class="service-name">Identité Visuelle</h3>
<p class="service-desc">Logo, charte graphique, déclinaisons print et digital. Une image cohérente et mémorable qui reflète vraiment votre entreprise.</p>
<div class="service-price">Pack Logo 350€ · Pack Identité 750€</div>
</div>
<div class="service-card reveal reveal-delay-2">
<span class="service-num">03</span>
<div class="service-icon"></div>
<h3 class="service-name">Motion Design</h3>
<p class="service-desc">Teasers, animations, vidéos événementielles. Des contenus visuels dynamiques qui donnent vie à vos projets sur tous vos écrans.</p>
<div class="service-price">Sur devis selon complexité</div>
</div>
<div class="service-card reveal reveal-delay-3">
<span class="service-num">04</span>
<div class="service-icon"></div>
<h3 class="service-name">Supports Communication</h3>
<p class="service-desc">Affiches, flyers, visuels réseaux sociaux, bannières publicitaires. Création du visuel prêt à l'impression — hors impression et livraison.</p>
<div class="service-price">À partir de 60€ · Taux horaire 30€/h</div>
</div>
</div>
</section>
<!-- REFERENCES -->
<section class="references" id="references">
<div class="section-tag">Ils me font confiance</div>
<h2 class="section-title reveal">RÉFÉRENCES</h2>
<p class="ref-intro reveal">Je travaille avec des entreprises de toutes tailles, des PME locales aux grands groupes nationaux. Chaque projet est traité avec la même rigueur et le même engagement.</p>
<div class="ref-list">
<div class="ref-item reveal">
<div class="ref-name">Groupe Fraikin France</div>
<div class="ref-detail">Conception et production des trophées Volants d'Or — 30 pièces annuelles pour leur cérémonie nationale à Paris.</div>
<span class="ref-badge">Trophées · Récurrent</span>
</div>
<div class="ref-item reveal reveal-delay-1">
<div class="ref-name">Giraudon Carrosserie</div>
<div class="ref-detail">Trophées Giraudon d'Or, affiches événementielles, visuels flocage véhicule pour les Giraudon Games 2025.</div>
<span class="ref-badge">Trophées · Design</span>
</div>
<div class="ref-item reveal reveal-delay-2">
<div class="ref-name">Multitrailer</div>
<div class="ref-detail">Identité visuelle complète — logo, charte graphique, carte de visite pour Bruno Davier.</div>
<span class="ref-badge">Identité visuelle</span>
</div>
<div class="ref-item reveal reveal-delay-1">
<div class="ref-name">L'Auto du Fau</div>
<div class="ref-detail">Logo, charte graphique, carte de visite, flyer A5, flocage véhicule.</div>
<span class="ref-badge">Identité visuelle</span>
</div>
<div class="ref-item reveal reveal-delay-2">
<div class="ref-name">Pizza Mania</div>
<div class="ref-detail">Création de l'identité visuelle complète — logo original et déclinaisons.</div>
<span class="ref-badge">Logo · Design</span>
</div>
<div class="ref-item reveal reveal-delay-3">
<div class="ref-name">Tôlerie Fournel</div>
<div class="ref-detail">Série vidéo documentaire — teaser, motion design, post-production épisode 1.</div>
<span class="ref-badge">Motion Design · Vidéo</span>
</div>
</div>
</section>
<!-- CONTACT -->
<section class="contact" id="contact">
<div class="section-tag">Travaillons ensemble</div>
<h2 class="section-title reveal">DÉMARRER<br>UN PROJET</h2>
<div class="contact-grid">
<div class="contact-info reveal">
<div class="contact-line">
<span class="contact-label">Email</span>
<div class="contact-value"><a href="mailto:martial@mfdesign.fr">martial@mfdesign.fr</a></div>
</div>
<div class="contact-line">
<span class="contact-label">Téléphone</span>
<div class="contact-value"><a href="tel:0619576887">06.19.57.68.87</a></div>
</div>
<div class="contact-line">
<span class="contact-label">Localisation</span>
<div class="contact-value">Monistrol-sur-Loire (43)<br><span style="color:var(--gris);font-size:0.85rem">Intervention sur toute la France</span></div>
</div>
<div class="contact-line">
<span class="contact-label">SIREN</span>
<div class="contact-value" style="color:var(--gris);font-size:0.85rem">829 673 755 · Micro-entreprise<br>TVA non applicable — art. 293 B CGI</div>
</div>
<div class="contact-line">
<span class="contact-label">Portfolio</span>
<div class="contact-value"><a href="https://behance.net/martialfournel" target="_blank">behance.net/martialfournel</a></div>
</div>
</div>
<div class="contact-form reveal reveal-delay-2">
<form onsubmit="handleSubmit(event)">
<div class="form-group">
<label>Nom / Entreprise</label>
<input type="text" placeholder="Jean Dupont — Entreprise SA" required>
</div>
<div class="form-group">
<label>Email</label>
<input type="email" placeholder="jean@entreprise.fr" required>
</div>
<div class="form-group">
<label>Type de projet</label>
<select required>
<option value="" disabled selected>Sélectionner...</option>
<option>Trophées & Médailles sur mesure</option>
<option>Identité visuelle / Logo</option>
<option>Motion Design / Vidéo</option>
<option>Supports de communication</option>
<option>Autre projet</option>
</select>
</div>
<div class="form-group">
<label>Message</label>
<textarea placeholder="Décrivez votre projet..." required></textarea>
</div>
<button type="submit" class="form-submit"><span>ENVOYER LE MESSAGE →</span></button>
</form>
</div>
</div>
</section>
<!-- FOOTER -->
<footer>
<div class="footer-brand">MF<span>.</span>DESIGN</div>
<div class="footer-legal">© 2026 MF Design — Martial Fournel · SIREN 829 673 755</div>
<div class="footer-links">
<a href="https://behance.net/martialfournel" target="_blank">Behance</a>
<a href="https://linkedin.com/company/mfdesign-creation" target="_blank">LinkedIn</a>
</div>
</footer>
<script>
// Scroll reveal
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
// Form
function handleSubmit(e) {
e.preventDefault();
const btn = e.target.querySelector('.form-submit span');
btn.textContent = 'MESSAGE ENVOYÉ ✓';
setTimeout(() => { btn.textContent = 'ENVOYER LE MESSAGE →'; e.target.reset(); }, 3000);
}
// Smooth nav highlight
window.addEventListener('scroll', () => {
const nav = document.querySelector('nav');
if (window.scrollY > 80) {
nav.style.background = 'rgba(10,10,10,0.97)';
nav.style.backdropFilter = 'blur(10px)';
} else {
nav.style.background = 'linear-gradient(to bottom, rgba(10,10,10,0.95), transparent)';
nav.style.backdropFilter = 'none';
}
});
</script>
</body>
</html>