DUPONT SERRURIER 🔑 Porte claquée, clé cassée, serrure bloquée ? Intervention immédiate ! ☎ 06 01 02 03 04 — URGENCE 24H/24

Disponible 24h/24 · 7j/7 · Île-de-France

Votre serrurier
de confiance,
à toute heure.

Dépannage d’urgence, installation de serrures haute sécurité, ouverture de porte claquée — nous intervenons partout en Île-de-France en moins de 30 minutes.

☎ Appeler maintenant Nos services ↓ 30′ Délai d’intervention +2000 Clients satisfaits 15 ans D’expérience
919da71e0_generated_a15f08ec
bc766204c_generated_85c50935
locksmith-installs-doorknob-repair-door-lock_8119-1837
<!DOCTYPE html> <html lang= »fr »> <head> <meta charset= »UTF-8″> <meta name= »viewport » content= »width=device-width, initial-scale=1.0″> <title>Dupont Serrurier – Dépannage 24h/24 · Île-de-France</title> <link rel= »preconnect » href= »https://fonts.googleapis.com »> <link rel= »preconnect » href= »https://fonts.gstatic.com » crossorigin> <link href= »https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap » rel= »stylesheet »>   <style> /* ═══════════════════════════════════════════════    DESIGN SYSTEM — ELEMENTOR STYLE ═══════════════════════════════════════════════ */ :root {   –gold:#C8860A;   –gold-d:#9A6508;   –gold-l:#E8A020;   –gold-xs:#FEF3DC;   –dark:#111111;   –dark2:#1C1C1E;   –dark3:#2A2A2C;   –mid:#5C5C6A;   –cream:#FAFAF7;   –cream2:#F3F1EB;   –cream3:#E8E4DA;   –text:#2C2C2E;   –muted:#6C6C74;   –light-border:rgba(0,0,0,.08);   –gold-border:rgba(200,134,10,.25);   –sh-sm:0 2px 12px rgba(0,0,0,.07);   –sh-md:0 8px 40px rgba(0,0,0,.10);   –sh-lg:0 24px 72px rgba(0,0,0,.14);   –sh-gold:0 8px 32px rgba(200,134,10,.22);   –r:5px;   –r-lg:12px;   –r-xl:20px;   –font-h:’Syne’,sans-serif;   –font-b:’DM Sans’,sans-serif; } *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth} body{font-family:var(–font-b);background:var(–cream);color:var(–text);font-size:16px;line-height:1.65;overflow-x:hidden} a{text-decoration:none;color:inherit} img{display:block;max-width:100%}   /* ═══ ELEMENTOR GENERIC ═══ */ .e-section{position:relative;width:100%} .e-container{max-width:1220px;margin:0 auto;padding:0 5vw} .e-row{display:grid;align-items:center;gap:5vw} .e-col{position:relative}   /* ═══ SHAPE DIVIDERS ═══ */ .shape-bottom{position:absolute;bottom:-1px;left:0;width:100%;overflow:hidden;line-height:0;z-index:2} .shape-top{position:absolute;top:-1px;left:0;width:100%;overflow:hidden;line-height:0;z-index:2;transform:rotate(180deg)} .shape-bottom svg,.shape-top svg{display:block;width:100%;height:60px}   /* ═══ EYEBROW ═══ */ .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(–font-b);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(–gold);margin-bottom:1rem} .eyebrow::before{content: »;width:20px;height:1.5px;background:var(–gold)} .eyebrow.light{color:rgba(255,255,255,.6)} .eyebrow.light::before{background:rgba(255,255,255,.4)}   /* ═══ HEADINGS ═══ */ h1,h2,h3{font-family:var(–font-h);line-height:1.08;letter-spacing:-.02em} h1{font-size:clamp(2.8rem,6vw,5.5rem);font-weight:800;color:var(–dark)} h1 em,h2 em{font-style:normal;color:var(–gold)} h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:var(–dark)} h3{font-size:1.25rem;font-weight:700;color:var(–dark)}   /* ═══ BUTTONS ═══ */ .btn-gold{display:inline-flex;align-items:center;gap:10px;background:var(–gold);color:#fff;padding:.9rem 2rem;border-radius:var(–r);font-family:var(–font-h);font-size:1rem;font-weight:700;letter-spacing:.02em;transition:all .2s;box-shadow:var(–sh-gold);white-space:nowrap} .btn-gold:hover{background:var(–gold-d);transform:translateY(-2px);box-shadow:0 12px 40px rgba(200,134,10,.35)} .btn-ghost{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(–dark);border:1.5px solid rgba(0,0,0,.18);padding:.9rem 2rem;border-radius:var(–r);font-family:var(–font-h);font-size:1rem;font-weight:600;transition:all .2s;white-space:nowrap} .btn-ghost:hover{border-color:var(–gold);color:var(–gold)} .btn-ghost.white{color:#fff;border-color:rgba(255,255,255,.3)} .btn-ghost.white:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.1)}   /* ════════════════════════════════════════════════    NAV ════════════════════════════════════════════════ */ #navbar{   position:fixed;top:0;left:0;right:0;z-index:300;   height:66px;   display:flex;align-items:center;   padding:0 5vw;   background:rgba(255,255,255,.97);   backdrop-filter:blur(12px);   border-bottom:1px solid var(–light-border);   box-shadow:0 1px 0 rgba(0,0,0,.05),0 4px 20px rgba(0,0,0,.06);   justify-content:space-between;   transition:box-shadow .3s; } .nav-logo{font-family:var(–font-h);font-size:1.35rem;font-weight:800;color:var(–dark);letter-spacing:-.01em} .nav-logo span{color:var(–gold)} .nav-links{list-style:none;display:flex;gap:2.5rem} .nav-links a{font-size:.82rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(–muted);transition:color .15s} .nav-links a:hover{color:var(–gold)} .nav-r{display:flex;align-items:center;gap:12px} .nav-tel-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(–gold);line-height:1} .nav-tel-num{font-family:var(–font-h);font-size:1.15rem;font-weight:800;color:var(–dark);line-height:1;margin-top:2px} .nav-tel-num a{color:inherit;transition:color .15s} .nav-tel-num a:hover{color:var(–gold)} .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px} .hamburger span{display:block;width:24px;height:2px;background:var(–dark);border-radius:2px;transition:.3s}   /* ════════════════════════════════════════════════    HERO — ELEMENTOR FULL-HEIGHT SPLIT ════════════════════════════════════════════════ */ #hero{   min-height:100vh;   padding-top:66px;   display:flex;align-items:center;   background:var(–cream);   position:relative;   overflow:hidden; } .hero-bg-decor{   position:absolute;   right:0;top:0;bottom:0;   width:52%;   overflow:hidden; } .hero-bg-decor img{   width:100%;height:100%;   object-fit:cover;   object-position:center 30%; } .hero-bg-decor::after{   content: »;   position:absolute;inset:0;   background:linear-gradient(to right, var(–cream) 0%, transparent 40%); } .hero-bg-decor .clip-mask{   position:absolute;inset:0;   background:inherit;   clip-path:polygon(12% 0%, 100% 0%, 100% 100%, 0% 100%); } .hero-body{position:relative;z-index:2;padding:80px 0 60px} .hero-live-badge{   display:inline-flex;align-items:center;gap:8px;   background:#fff;border:1px solid var(–light-border);   padding:6px 14px 6px 8px;border-radius:100px;   font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;   color:var(–muted);margin-bottom:1.6rem;   box-shadow:var(–sh-sm); } .live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulse-dot 1.6s ease-in-out infinite} @keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}} .hero-h1{margin-bottom:1.4rem;max-width:560px} .hero-sub{font-size:1.05rem;color:var(–muted);max-width:480px;line-height:1.75;margin-bottom:2.5rem} .hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3.5rem} .hero-stats{display:flex;flex-wrap:wrap;gap:2.5rem} .hero-stat-n{font-family:var(–font-h);font-size:2.5rem;font-weight:800;color:var(–gold);line-height:1} .hero-stat-l{font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(–muted);margin-top:2px}   /* Floating trust card */ .hero-trust-float{   position:absolute;bottom:60px;right:5vw;z-index:10;   background:#fff;border:1px solid var(–gold-border);   border-radius:var(–r-lg);padding:16px 20px;   box-shadow:var(–sh-lg);   display:flex;align-items:center;gap:14px;   animation:float-bob 4s ease-in-out infinite;   max-width:240px; } @keyframes float-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}} .float-icon{width:44px;height:44px;border-radius:var(–r);background:var(–gold-xs);border:1px solid var(–gold-border);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0} .float-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(–muted)} .float-val{font-family:var(–font-h);font-size:1.1rem;font-weight:800;color:var(–dark);margin-top:1px}   /* ════════════════════════════════════════════════    URGENCE BANNER ════════════════════════════════════════════════ */ .urgence-band{   background:var(–gold);   padding:18px 5vw;   display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap;   position:relative;z-index:5; } .urgence-band p{color:#fff;font-weight:600;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase} .urgence-btn{   background:#fff;color:var(–gold-d);   padding:9px 22px;border-radius:var(–r);   font-family:var(–font-h);font-weight:700;font-size:.98rem;   white-space:nowrap;transition:all .2s;   box-shadow:0 2px 12px rgba(0,0,0,.15); } .urgence-btn:hover{background:var(–gold-xs)}   /* ════════════════════════════════════════════════    PHOTO STRIP — ELEMENTOR IMAGE GALLERY ════════════════════════════════════════════════ */ .photo-strip{overflow:hidden;position:relative;z-index:4} .photo-strip-grid{   display:grid;   grid-template-columns:2fr 1fr 1fr 1fr;   height:320px;gap:3px; } .photo-strip-grid .ps-item{   position:relative;overflow:hidden; } .photo-strip-grid .ps-item img{   width:100%;height:100%;object-fit:cover;   transition:transform .5s ease, filter .4s;   filter:brightness(.9) saturate(.88); } .photo-strip-grid .ps-item:hover img{transform:scale(1.06);filter:brightness(.98) saturate(1.1)} .photo-strip-grid .ps-item .ps-overlay{   position:absolute;inset:0;   background:linear-gradient(to top, rgba(17,17,17,.6) 0%, transparent 55%);   opacity:0;transition:opacity .3s;   display:flex;align-items:flex-end;padding:14px; } .photo-strip-grid .ps-item:hover .ps-overlay{opacity:1} .ps-overlay span{font-family:var(–font-h);font-size:.78rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em}   /* ════════════════════════════════════════════════    SERVICES — ELEMENTOR IMAGE BOX GRID ════════════════════════════════════════════════ */ #services{background:var(–cream2);padding:100px 0 120px;position:relative} .services-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem} .services-grid{   display:grid;   grid-template-columns:repeat(3,1fr);   gap:3px;   border-radius:var(–r-xl);overflow:hidden;   box-shadow:var(–sh-md); } .svc-card{   background:#fff;   position:relative;overflow:hidden;   display:flex;flex-direction:column;   transition:transform .3s; } .svc-card:hover{z-index:2;transform:scale(1.02)} .svc-img{   position:relative;overflow:hidden;height:180px;flex-shrink:0; } .svc-img img{   width:100%;height:100%;object-fit:cover;   transition:transform .5s, filter .4s;   filter:brightness(.92) saturate(.85); } .svc-card:hover .svc-img img{transform:scale(1.07);filter:brightness(1) saturate(1.05)} .svc-img-overlay{   position:absolute;inset:0;   background:linear-gradient(to bottom, transparent 40%, rgba(17,17,17,.55) 100%); } .svc-tag{   position:absolute;top:12px;left:12px;   background:var(–gold);color:#fff;   font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;   padding:3px 9px;border-radius:3px; } .svc-body{padding:1.5rem 1.6rem 1.75rem;flex:1;border-top:1px solid var(–light-border)} .svc-icon{font-size:1.75rem;margin-bottom:.75rem} .svc-card h3{font-size:1.08rem;font-weight:700;color:var(–dark);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em} .svc-card p{font-size:.84rem;color:var(–muted);line-height:1.6} .svc-card:hover .svc-body{background:var(–gold-xs)}   /* ════════════════════════════════════════════════    POURQUOI NOUS — ELEMENTOR SPLIT SECTION ════════════════════════════════════════════════ */ #pourquoi{background:#fff;padding:100px 0;position:relative;overflow:hidden} .pq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch} .pq-img-col{   position:relative;overflow:hidden;min-height:560px;   border-radius:0 var(–r-xl) var(–r-xl) 0;   margin-left:calc(50% – 50vw);   width:calc(50vw – 5vw + ((100% – 100%) / 2)); } .pq-img-col img{   position:absolute;inset:0;width:100%;height:100%;object-fit:cover;   filter:brightness(.88) saturate(.9); } .pq-img-overlay{   position:absolute;inset:0;   background:linear-gradient(135deg, rgba(17,17,17,.5) 0%, rgba(200,134,10,.35) 100%); } .pq-img-badge{   position:absolute;bottom:2.5rem;right:2.5rem;   background:#fff;border-radius:var(–r-lg);   padding:1.25rem 1.5rem;   box-shadow:var(–sh-lg);   text-align:center;   min-width:140px; } .pq-badge-n{font-family:var(–font-h);font-size:2.8rem;font-weight:800;color:var(–gold);line-height:1} .pq-badge-l{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(–muted);margin-top:4px} .pq-badge-stars{color:var(–gold);font-size:.9rem;margin-top:4px}   .pq-text-col{padding:60px 5vw 60px 5rem;display:flex;flex-direction:column;justify-content:center}   .checklist{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:1.1rem} .checklist li{display:flex;align-items:flex-start;gap:14px;font-size:.95rem;color:var(–text)} .check-ico{   width:26px;height:26px;flex-shrink:0;   background:var(–gold-xs);border:1.5px solid var(–gold-border);   color:var(–gold);font-size:.8rem;font-weight:700;   display:flex;align-items:center;justify-content:center;border-radius:4px;   margin-top:1px; } .checklist strong{color:var(–dark);font-weight:600}   /* ════════════════════════════════════════════════    STATS BAND — ELEMENTOR COUNTER ════════════════════════════════════════════════ */ .stats-band{   background:var(–dark2);   padding:64px 5vw;   position:relative;overflow:hidden; } .stats-band::before{   content: »;position:absolute;inset:0;   background:radial-gradient(ellipse at 60% 50%, rgba(200,134,10,.18) 0%, transparent 65%);   pointer-events:none; } .stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1000px;margin:0 auto;position:relative;z-index:1} .stat-item{text-align:center;padding:16px} .stat-item:not(:last-child){border-right:1px solid rgba(255,255,255,.07)} .stat-n{font-family:var(–font-h);font-size:3.5rem;font-weight:800;color:var(–gold);line-height:1;margin-bottom:6px} .stat-n em{font-style:normal;font-size:2rem} .stat-l{font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4)}   /* ════════════════════════════════════════════════    INTERVENTIONS ZONES ════════════════════════════════════════════════ */ #interventions{background:var(–cream2);padding:100px 0;position:relative;overflow:hidden} .zones-grid{   display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));   gap:.75rem;margin-top:2.5rem } .zone-chip{   background:#fff;border:1.5px solid var(–light-border);   border-radius:var(–r);padding:.9rem 1rem;   text-align:center;   transition:border-color .2s, background .2s, box-shadow .2s, transform .15s;   box-shadow:var(–sh-sm);cursor:default; } .zone-chip:hover{border-color:var(–gold);background:var(–gold-xs);box-shadow:0 4px 20px rgba(200,134,10,.15);transform:translateY(-2px)} .zone-name{font-weight:700;font-size:.9rem;color:var(–dark)} .zone-code{   display:inline-block;margin-top:4px;   font-family:var(–font-h);font-size:.78rem;font-weight:700;   color:var(–gold);letter-spacing:.05em; } .inter-cta{   margin-top:3rem;   background:linear-gradient(135deg, var(–dark2) 0%, var(–dark3) 100%);   border-radius:var(–r-xl);   padding:2rem 2.5rem;   display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;   box-shadow:var(–sh-md); } .inter-cta-text strong{color:#fff;font-size:1.1rem} .inter-cta-text p{color:rgba(255,255,255,.5);font-size:.88rem;margin-top:4px}   /* ════════════════════════════════════════════════    AVIS — ELEMENTOR TESTIMONIAL GRID ════════════════════════════════════════════════ */ #avis{background:#fff;padding:100px 0} .avis-rating-wrap{display:flex;align-items:center;gap:3rem;margin-bottom:3.5rem;flex-wrap:wrap} .rating-big{font-family:var(–font-h);font-size:5rem;font-weight:800;color:var(–gold);line-height:1} .rating-sep{width:1px;height:60px;background:var(–light-border)} .rating-side .stars-row{color:var(–gold);font-size:1.2rem;letter-spacing:2px;margin-bottom:6px} .rating-side p{font-size:.82rem;color:var(–muted)} .avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem} .avis-card{   background:var(–cream2);border:1.5px solid var(–light-border);   border-radius:var(–r-lg);padding:1.75rem;   transition:all .25s;box-shadow:var(–sh-sm);position:relative; } .avis-card:hover{border-color:rgba(200,134,10,.3);box-shadow:var(–sh-md);transform:translateY(-3px)} .avis-card.featured{background:linear-gradient(135deg,var(–gold-xs) 0%,#fff 100%);border-color:var(–gold-border)} .avis-stars{color:var(–gold);font-size:.95rem;letter-spacing:2px;margin-bottom:1rem} .avis-quote{   font-size:.88rem;color:var(–mid);line-height:1.75;font-style:italic;   margin-bottom:1.25rem; } .avis-quote::before{content:' »‘;font-family:var(–font-h);font-size:2.5rem;color:var(–gold);line-height:.5;float:left;margin-right:6px;margin-top:12px} .avis-foot{display:flex;align-items:center;gap:10px} .avis-av{   width:38px;height:38px;border-radius:50%;   background:var(–gold);color:#fff;   display:flex;align-items:center;justify-content:center;   font-family:var(–font-h);font-size:.82rem;font-weight:700;flex-shrink:0;   box-shadow:0 2px 8px rgba(200,134,10,.3); } .avis-name{font-weight:700;font-size:.86rem;color:var(–dark)} .avis-city{font-size:.74rem;color:var(–muted);margin-top:1px} .avis-badge{   position:absolute;top:14px;right:14px;   background:var(–gold);color:#fff;   font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;   padding:3px 8px;border-radius:3px; }   /* ════════════════════════════════════════════════    TARIFS — ELEMENTOR PRICING TABLE ════════════════════════════════════════════════ */ #tarifs{background:var(–cream2);padding:100px 0;position:relative;overflow:hidden} .tarifs-grid{   display:grid;grid-template-columns:repeat(3,1fr);   gap:1.25rem;margin-top:3rem; } .tarif-card{   background:#fff;border:1.5px solid var(–light-border);   border-radius:var(–r-lg);padding:2rem 1.75rem;   transition:all .25s;box-shadow:var(–sh-sm);   display:flex;flex-direction:column;   position:relative;overflow:hidden; } .tarif-card::before{   content: »;position:absolute;top:0;left:0;right:0;height:3px;   background:var(–gold);   transform:scaleX(0);transform-origin:left;transition:transform .3s; } .tarif-card:hover::before{transform:scaleX(1)} .tarif-card:hover{border-color:var(–gold-border);box-shadow:var(–sh-gold);transform:translateY(-4px)} .tarif-card.highlight{   background:linear-gradient(160deg,var(–dark2) 0%,var(–dark3) 100%);   border-color:var(–gold); } .tarif-card.highlight::before{background:#fff;transform:scaleX(1)} .tarif-icon{font-size:2rem;margin-bottom:1rem} .tarif-service{font-family:var(–font-h);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(–muted);margin-bottom:.75rem} .tarif-card.highlight .tarif-service{color:rgba(255,255,255,.5)} .tarif-price{font-family:var(–font-h);font-size:2.6rem;font-weight:800;color:var(–dark);line-height:1;margin-bottom:4px} .tarif-price.gold-pr{color:var(–gold)} .tarif-price span{font-size:1rem;font-weight:500;color:var(–muted)} .tarif-card.highlight .tarif-price{color:#fff} .tarif-note{font-size:.78rem;color:var(–muted);margin-top:.5rem;flex:1} .tarif-card.highlight .tarif-note{color:rgba(255,255,255,.45)} .tarif-cta{   display:inline-flex;align-items:center;gap:6px;   margin-top:1.25rem;   font-family:var(–font-h);font-size:.78rem;font-weight:700;   text-transform:uppercase;letter-spacing:.06em;   color:var(–gold);transition:gap .2s; } .tarif-card.highlight .tarif-cta{color:#fff} .tarif-cta:hover{gap:10px} .tarifs-note{margin-top:1.5rem;font-size:.78rem;color:var(–muted);text-align:center}   /* ════════════════════════════════════════════════    CONTACT — ELEMENTOR SECTION ════════════════════════════════════════════════ */ #contact{background:#fff;padding:100px 0} .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start} .contact-info-stack{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem} .cinfo{   display:flex;align-items:flex-start;gap:1rem;   padding:1rem 1.25rem;background:var(–cream2);   border:1px solid var(–light-border);border-radius:var(–r);   transition:border-color .2s; } .cinfo:hover{border-color:var(–gold-border)} .cinfo-icon{   width:42px;height:42px;flex-shrink:0;   background:var(–gold-xs);border:1px solid var(–gold-border);   border-radius:var(–r);display:flex;align-items:center;justify-content:center;   font-size:1.15rem; } .cinfo-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(–muted)} .cinfo-val{font-size:.96rem;font-weight:600;color:var(–dark);margin-top:3px} .cinfo-val a{color:var(–gold-d);transition:color .15s} .cinfo-val a:hover{color:var(–gold)} .payment-block{   margin-top:1.5rem;padding:1.25rem 1.5rem;   background:var(–gold-xs);border:1px solid var(–gold-border);   border-radius:var(–r-lg); } .payment-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(–gold-d);margin-bottom:.5rem} .payment-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem} .payment-chip{   background:#fff;border:1px solid var(–gold-border);   padding:4px 10px;border-radius:100px;   font-size:.72rem;font-weight:600;color:var(–gold-d); } .contact-form-card{   background:var(–cream2);border:1.5px solid var(–light-border);   border-radius:var(–r-xl);padding:2.5rem;   box-shadow:var(–sh-md); } .contact-form-card h3{font-size:1.5rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1.5rem} .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem} .fg{display:flex;flex-direction:column;gap:5px;margin-bottom:1rem} .fg label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(–muted)} .fg input,.fg select,.fg textarea{   background:#fff;border:1.5px solid var(–light-border);   color:var(–dark);border-radius:var(–r);   padding:.7rem 1rem;font-family:var(–font-b);font-size:.92rem;   transition:border-color .2s, box-shadow .2s;outline:none; } .fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(–gold);box-shadow:0 0 0 3px rgba(200,134,10,.1)} .fg textarea{min-height:90px;resize:vertical}   /* ════════════════════════════════════════════════    FOOTER ════════════════════════════════════════════════ */ footer{background:var(–dark);border-top:3px solid var(–gold);padding:4rem 5vw 2rem} .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3.5rem;margin-bottom:3rem} .footer-logo{font-family:var(–font-h);font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.01em;display:inline-block;margin-bottom:1rem} .footer-logo span{color:var(–gold)} .footer-desc{font-size:.84rem;color:#8B93A8;max-width:280px;line-height:1.75} .footer-socials{display:flex;gap:.6rem;margin-top:1.5rem} .footer-social{   width:34px;height:34px;border-radius:5px;   background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);   display:flex;align-items:center;justify-content:center;   font-size:.82rem;color:#8B93A8;cursor:pointer;transition:all .2s; } .footer-social:hover{background:var(–gold);border-color:var(–gold);color:#fff} .footer-col h4{font-family:var(–font-h);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:1rem} .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem} .footer-col ul li a{font-size:.84rem;color:#8B93A8;transition:color .15s} .footer-col ul li a:hover{color:var(–gold)} .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:#8B93A8} .footer-bottom a{color:#8B93A8;transition:color .15s} .footer-bottom a:hover{color:var(–gold)}   /* ════════════════════════════════════════════════    STICKY CTA (mobile) ════════════════════════════════════════════════ */ .sticky-cta{   display:none;position:fixed;bottom:1.5rem;right:1.5rem;z-index:200; } .sticky-cta a{   display:flex;align-items:center;justify-content:center;   width:58px;height:58px;border-radius:50%;   background:var(–gold);color:#fff;font-size:1.5rem;   box-shadow:0 4px 24px rgba(200,134,10,.5);   transition:transform .2s,box-shadow .2s; } .sticky-cta a:hover{transform:scale(1.08);box-shadow:0 8px 32px rgba(200,134,10,.6)}   /* ════════════════════════════════════════════════    ANIMATIONS ════════════════════════════════════════════════ */ .fade-up{opacity:0;transform:translateY(28px);transition:opacity .65s ease, transform .65s ease} .fade-up.in{opacity:1;transform:translateY(0)} .fade-in{opacity:0;transition:opacity .6s ease} .fade-in.in{opacity:1}   /* ════════════════════════════════════════════════    RESPONSIVE ════════════════════════════════════════════════ */ @media(max-width:1024px){   .services-grid{grid-template-columns:repeat(2,1fr)}   .pq-grid{grid-template-columns:1fr}   .pq-img-col{min-height:320px;width:100%;margin-left:0;border-radius:var(–r-xl)}   .pq-text-col{padding:2.5rem 0}   .tarifs-grid{grid-template-columns:1fr 1fr} } @media(max-width:860px){   .nav-links{display:none}   .hamburger{display:flex}   .hero-bg-decor{display:none}   .stats-inner{grid-template-columns:1fr 1fr}   .stat-item:nth-child(2){border-right:none}   .stat-item{border-bottom:1px solid rgba(255,255,255,.07);border-right:none!important}   .stat-item:nth-child(2n){border-right:none}   .stat-item:nth-last-child(-n+2){border-bottom:none}   .avis-grid{grid-template-columns:1fr 1fr}   .contact-grid{grid-template-columns:1fr}   .footer-grid{grid-template-columns:1fr 1fr}   .services-head{grid-template-columns:1fr}   .photo-strip-grid{grid-template-columns:1fr 1fr;height:220px}   .photo-strip-grid .ps-item:nth-child(n+3){display:none}   .hero-trust-float{display:none} } @media(max-width:600px){   .services-grid{grid-template-columns:1fr}   .avis-grid{grid-template-columns:1fr}   .tarifs-grid{grid-template-columns:1fr}   .form-row{grid-template-columns:1fr}   .footer-grid{grid-template-columns:1fr}   .sticky-cta{display:block}   .stats-inner{grid-template-columns:1fr 1fr} } </style> </head> <body>   <!– ──── NAV ──── –> <nav id= »navbar »>   <a href= »#hero »>DUPONT <span>SERRURIER</span></a>   <ul>     <li><a href= »#services »>Services</a></li>     <li><a href= »#pourquoi »>Pourquoi nous</a></li>     <li><a href= »#interventions »>Zones</a></li>     <li><a href= »#avis »>Avis</a></li>     <li><a href= »#tarifs »>Tarifs</a></li>     <li><a href= »#contact »>Contact</a></li>   </ul>   <div>     <div>       <div>Urgence 7j/7</div>       <div><a href= »tel:0601020304″>06 01 02 03 04</a></div>     </div>     <a href= »tel:0601020304″ style= »font-size:.85rem;padding:.55rem 1.1rem »>☎ Appeler</a>   </div>   <div onclick= »toggleMenu() » aria-label= »Menu »>     <span></span><span></span><span></span>   </div> </nav>   <!– ──── HERO ──── –> <section id= »hero »>     <!– Image droite style Elementor –>   <div>     <img       src= »https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200&auto=format&fit=crop&q=85″       alt= »Serrurier professionnel en intervention »       loading= »eager »     >     <div style= »position:absolute;inset:0;background:linear-gradient(to right, var(–cream) 0%, rgba(250,250,247,0) 35%) »></div>   </div>     <div style= »width:100% »>     <div>       <div>         <span></span>         Disponible maintenant · Île-de-France       </div>       <h1>         Votre serrurier<br>         de <em>confiance</em>,<br>         à toute heure.       </h1>       <p style= »transition-delay:.1s »>         Dépannage d’urgence, installation de serrures haute sécurité, ouverture de porte claquée — intervention partout en Île-de-France en moins de 30 minutes.       </p>       <div style= »transition-delay:.2s »>         <a href= »tel:0601020304″>           <svg width= »16″ height= »16″ viewBox= »0 0 512 512″ fill= »currentColor »><path d= »M493 373l-76-65c-20-13-46-10-62 7l-41 41c-3 3-7 4-11 2-47-19-85-48-114-87-22-29-30-52-31-55a8 8 0 00-1-2c-2-4-1-8 2-11l41-41c17-17 20-42 7-62l-55-76C129-4 92-8 69 15l-38 38C-4 88-10 141 15 206c21 56 63 117 118 172 56 56 119 99 176 120 57 21 117 23 160-20l28-28c23-22 19-59-4-77z »/></svg>           Appeler maintenant         </a>         <a href= »#services »>Découvrir nos services ↓</a>       </div>       <div style= »transition-delay:.3s »>         <div>           <div>30′</div>           <div>Délai max</div>         </div>         <div>           <div>+2000</div>           <div>Clients satisfaits</div>         </div>         <div>           <div>15 ans</div>           <div>D’expérience</div>         </div>         <div>           <div>4.9★</div>           <div>Avis Google</div>         </div>       </div>     </div>   </div>     <!– Floating trust badge –>   <div>     <div>🛡️</div>     <div>       <div>Artisan certifié</div>       <div>A2P · CNPP</div>     </div>   </div>   </section>   <!– ──── URGENCE BAND ──── –> <div>   <p>🔑 Porte claquée, clé cassée, serrure bloquée ? Intervention immédiate !</p>   <a href= »tel:0601020304″>☎ 06 01 02 03 04 — Urgence 24h/24</a> </div>   <!– ──── PHOTO STRIP ──── –> <div>   <div>     <div>       <img src= »https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=900&auto=format&fit=crop&q=80″ alt= »Serrurier en intervention » loading= »lazy »>       <div><span>Ouverture de porte</span></div>     </div>     <div>       <img src= »https://images.unsplash.com/photo-1616763355548-1b606f439f86?w=600&auto=format&fit=crop&q=80″ alt= »Serrure cylindrique » loading= »lazy »>       <div><span>Cylindres A2P</span></div>     </div>     <div>       <img src= »https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=600&auto=format&fit=crop&q=80″ alt= »Artisan serrurier au travail » loading= »lazy »>       <div><span>Pose professionnelle</span></div>     </div>     <div>       <img src= »https://images.unsplash.com/photo-1582139329536-e7284fece509?w=600&auto=format&fit=crop&q=80″ alt= »Clés et serrurerie » loading= »lazy »>       <div><span>Duplicata & clés</span></div>     </div>   </div> </div>   <!– ──── SERVICES ──── –> <section id= »services »>   <div>     <div>       <div>         <div>Ce que nous faisons</div>         <h2>Nos <em>services</em></h2>       </div>       <p style= »color:var(–muted);font-size:1rem;line-height:1.7;max-width:420px »>         Du dépannage d’urgence à l’installation complète, notre artisan certifié répond à tous vos besoins de serrurerie.       </p>     </div>       <div style= »transition-delay:.1s »>         <div>         <div>           <img src= »https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=700&auto=format&fit=crop&q=80″ alt= »Ouverture de porte » loading= »lazy »>           <div></div>           <span>Urgence</span>         </div>         <div>           <div>🚪</div>           <h3>Ouverture de porte</h3>           <p>Porte claquée, serrure bloquée, clé cassée dans le barillet. Intervention non destructive garantie dans 9 cas sur 10.</p>         </div>       </div>         <div>         <div>           <img src= »https://images.unsplash.com/photo-1616763355548-1b606f439f86?w=700&auto=format&fit=crop&q=80″ alt= »Changement de serrure » loading= »lazy »>           <div></div>           <span>Installation</span>         </div>         <div>           <div>🔑</div>           <h3>Changement de serrure</h3>           <p>Serrures multipoints, cylindres haute sécurité Mul-T-Lock, Fichet, ISEO. Certifiés A2P pour votre assurance.</p>         </div>       </div>         <div>         <div>           <img src= »https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=700&auto=format&fit=crop&q=80″ alt= »Blindage de porte » loading= »lazy »>           <div></div>           <span>Sécurité</span>         </div>         <div>           <div>🛡️</div>           <h3>Blindage de porte</h3>           <p>Portes blindées certifiées A2P BP1, BP2, BP3. Renforcement complet contre les tentatives d’effraction.</p>         </div>       </div>         <div>         <div>           <img src= »https://images.unsplash.com/photo-1582139329536-e7284fece509?w=700&auto=format&fit=crop&q=80″ alt= »Serrure connectée » loading= »lazy »>           <div></div>           <span>High-tech</span>         </div>         <div>           <div>🔒</div>           <h3>Serrure connectée</h3>           <p>Contrôle d’accès numérique, ouverture smartphone ou code PIN. Installation et configuration incluses.</p>         </div>       </div>         <div>         <div>           <img src= »https://images.unsplash.com/photo-1497366216548-37526070297c?w=700&auto=format&fit=crop&q=80″ alt= »Locaux professionnels » loading= »lazy »>           <div></div>           <span>Pro</span>         </div>         <div>           <div>🏢</div>           <h3>Locaux professionnels</h3>           <p>Sécurisation de bureaux, commerces, entrepôts. Badges, interphones, digicode et maîtrise des accès.</p>         </div>       </div>         <div>         <div>           <img src= »https://images.unsplash.com/photo-1534349762230-e0cadf78f5da?w=700&auto=format&fit=crop&q=80″ alt= »Volets et fenêtres » loading= »lazy »>           <div></div>           <span>Menuiserie</span>         </div>         <div>           <div>🪟</div>           <h3>Volets & fenêtres</h3>           <p>Réparation et sécurisation de volets roulants, grilles de défense, verrous de fenêtres et portes coulissantes.</p>         </div>       </div>       </div>   </div> </section>   <!– ──── POURQUOI NOUS ──── –> <section id= »pourquoi »>   <div style= »display:grid;grid-template-columns:1fr 1fr;max-width:100%;align-items:stretch »>       <!– Image col — style Elementor plein bord –>     <div>       <img src= »https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=900&auto=format&fit=crop&q=82″ alt= »Artisan serrurier professionnel certifié » loading= »lazy »>       <div></div>       <div>         <div>4.9</div>         <div>★★★★★</div>         <div>Google · 340+ avis</div>       </div>     </div>       <!– Text col –>     <div>       <div>Pourquoi nous choisir</div>       <h2>Artisan<br><em>indépendant</em><br>& certifié</h2>       <p style= »color:var(–muted);margin-top:1rem;font-size:.96rem;line-height:1.75″>         Chez Dupont Serrurier, vous parlez directement à l’artisan — pas à une plateforme. Devis clair avant intervention, tarifs annoncés, zéro mauvaise surprise.       </p>       <ul>         <li>           <div>✓</div>           <div><strong>Intervention en moins de 30 minutes</strong><br>Disponible 7j/7, même les jours fériés et la nuit.</div>         </li>         <li>           <div>✓</div>           <div><strong>Devis transparent avant intervention</strong><br>Prix annoncé par téléphone, aucune surfacturation.</div>         </li>         <li>           <div>✓</div>           <div><strong>Matériel certifié A2P &amp; NF</strong><br>Serrures et équipements référencés par les assurances.</div>         </li>         <li>           <div>✓</div>           <div><strong>Garantie 2 ans sur toutes les installations</strong><br>Pièces et main-d’œuvre incluses.</div>         </li>         <li>           <div>✓</div>           <div><strong>Facture officielle, paiement sécurisé</strong><br>CB, virement, espèces — reçu remis en fin de chantier.</div>         </li>       </ul>       <div style= »margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap »>         <a href= »tel:0601020304″>☎ Appeler maintenant</a>         <a href= »#contact »>Devis gratuit</a>       </div>     </div>   </div> </section>   <!– ──── STATS BAND ──── –> <div>   <div>     <div>       <div>30<em>'</em></div>       <div>Délai d’intervention</div>     </div>     <div style= »transition-delay:.1s »>       <div>+2000</div>       <div>Clients satisfaits</div>     </div>     <div style= »transition-delay:.2s »>       <div>15</div>       <div>Ans d’expérience</div>     </div>     <div style= »transition-delay:.3s »>       <div>8</div>       <div>Depts couverts</div>     </div>   </div> </div>   <!– ──── ZONES ──── –> <section id= »interventions »>   <div>     <div>       <div>Zones d’intervention</div>       <h2>Île-de-France <em>entière</em></h2>       <p style= »color:var(–muted);margin-top:.5rem;max-width:520px;font-size:.98rem »>Basés en Essonne, nous couvrons l’ensemble de la région parisienne. Intervention rapide sur Paris et toute la banlieue.</p>     </div>       <div style= »transition-delay:.1s »>       <div><div>Val-d’Oise</div><div>95</div></div>       <div><div>Seine-et-Marne</div><div>78</div></div>       <div><div>Paris</div><div>75</div></div>       <div><div>Oise</div><div>60</div></div>     </div>       <div style= »transition-delay:.2s »>       <div>         <strong>Villes principales couvertes</strong>         <p>Argenteuil, Cergy, Sarcelles, Garges-lès-Gonesse et Pontoise, et quelques communes alentours.</p>       </div>       <a href= »tel:0766568690″ style= »flex-shrink:0″>Vérifier ma zone</a>     </div>   </div> </section>   <!– ──── AVIS ──── –> <section id= »avis »>   <div>     <div>       <div>Avis clients vérifiés</div>       <h2>Ce que disent<br>nos <em>clients</em></h2>     </div>       <div style= »transition-delay:.1s »>       <div>4.9</div>       <div></div>       <div>         <div>★★★★★</div>         <p>340 avis Google vérifiés</p>       </div>     </div>       <div style= »transition-delay:.15s »>         <div>         <div>Top avis</div>         <div>★★★★★</div>         <p>Appel à 23h pour une porte claquée, arrivée en 20 minutes. Professionnel, rapide, prix annoncé au téléphone respecté. Je recommande vivement !</p>         <div>           <div>SB</div>           <div><div>Sophie B.</div><div>Paris 15e</div></div>         </div>       </div>         <div>         <div>★★★★★</div>         <p>Changement de serrure multipoints en 45 min, propre et soigné. Le serrurier a pris le temps d’expliquer le fonctionnement. Excellent rapport qualité-prix.</p>         <div>           <div>ML</div>           <div><div>Marc L.</div><div>Versailles</div></div>         </div>       </div>         <div>         <div>★★★★★</div>         <p>Porte blindée installée suite à une tentative d’effraction. Travail impeccable et rapide. Je me sens enfin sécurisée chez moi. Merci infiniment !</p>         <div>           <div>NC</div>           <div><div>Nathalie C.</div><div>Créteil</div></div>         </div>       </div>         <div>         <div>★★★★★</div>         <p>Pour mon commerce, installation d’un digicode et d’un contrôle d’accès. Travail professionnel, suivi impeccable après l’installation. Parfait !</p>         <div>           <div>RP</div>           <div><div>Romain P.</div><div>Neuilly-sur-Seine</div></div>         </div>       </div>         <div>         <div>★★★★★</div>         <p>Clé cassée dans la serrure un dimanche matin. Intervention en 25 minutes, problème résolu sans casse. Sérieux et compétent, je le recommande sans hésiter.</p>         <div>           <div>JF</div>           <div><div>Jean-Luc F.</div><div>Évry</div></div>         </div>       </div>         <div>         <div>★★★★★</div>         <p>Devis clair, intervention ponctuelle, résultat impeccable. Enfin un artisan honnête dans ce domaine ! Je garde son numéro précieusement.</p>         <div>           <div>AV</div>           <div><div>Amandine V.</div><div>Massy</div></div>         </div>       </div>       </div>   </div> </section>   <!– ──── TARIFS ──── –> <section id= »tarifs »>   <div>     <div>       <div>Grille tarifaire</div>       <h2>Des tarifs <em>transparents</em></h2>       <p style= »color:var(–muted);margin-top:.5rem;max-width:520px;font-size:.98rem »>Prix indicatifs TTC. Devis précis communiqué avant toute intervention. Aucun frais caché, jamais.</p>     </div>       <div style= »transition-delay:.1s »>         <div>         <div>🔍</div>         <div>Déplacement + diagnostic</div>         <div>Gratuit</div>         <div>Sur devis accepté. Évaluation complète de la situation avant d’engager les travaux.</div>         <a href= »tel:0601020304″>Appeler → </a>       </div>         <div>         <div>🚪</div>         <div>Ouverture de porte (jour)</div>         <div>dès 90€<span> TTC</span></div>         <div>Technique non destructive dans la grande majorité des cas. Sans dommage garanti.</div>         <a href= »tel:0601020304″>Appeler → </a>       </div>         <div>         <div>🌙</div>         <div>Ouverture nuit / week-end</div>         <div>dès 150€<span> TTC</span></div>         <div style= »color:rgba(255,255,255,.45) »>Intervention 24h/24, 7j/7 y compris jours fériés. Délai inchangé.</div>         <a href= »tel:0601020304″>Appeler → </a>       </div>         <div>         <div>🔄</div>         <div>Changement de cylindre</div>         <div>dès 120€<span> TTC</span></div>         <div>Cylindre haute sécurité certifié A2P inclus dans le prix.</div>         <a href= »tel:0601020304″>Appeler → </a>       </div>         <div>         <div>🔐</div>         <div>Serrure multipoints</div>         <div>dès 250€<span> TTC</span></div>         <div>Matériel certifié A2P BP1, pose incluse, garantie 2 ans pièces et main-d’œuvre.</div>         <a href= »tel:0601020304″>Appeler → </a>       </div>         <div>         <div>🛡️</div>         <div>Blindage de porte</div>         <div>Sur devis</div>         <div>Selon modèle BP1, BP2 ou BP3 et configuration de votre porte. Devis gratuit à domicile.</div>         <a href= »#contact »>Devis gratuit → </a>       </div>       </div>     <p>* Les tarifs peuvent varier selon la complexité du chantier et le matériel utilisé. Devis précis toujours communiqué avant intervention.</p>   </div> </section>   <!– ──── CONTACT ──── –> <section id= »contact »>   <div>     <div>       <div>Nous contacter</div>       <h2>Besoin d’un <em>serrurier ?</em></h2>     </div>       <div style= »margin-top:3rem »>         <div>         <p style= »color:var(–muted);font-size:.98rem;line-height:1.75;margin-bottom:1.5rem »>           Pour une urgence, appelez directement. Pour un projet, remplissez le formulaire et nous vous rappelons sous 2h en journée.         </p>           <div>           <div>             <div>☎</div>             <div><div>Téléphone urgence</div><div><a href= »tel:0601020304″>06 01 02 03 04</a></div></div>           </div>           <div>             <div>✉</div>             <div><div>Email</div><div><a href= »mailto:contact@dupont-serrurier.fr »>contact@dupont-serrurier.fr</a></div></div>           </div>           <div>             <div>🕐</div>             <div><div>Disponibilité</div><div>24h/24 · 7j/7 · Jours fériés</div></div>           </div>           <div>             <div>📍</div>             <div><div>Zone</div><div>Île-de-France (75, 77, 78, 91, 92, 93, 94, 95)</div></div>           </div>         </div>           <div>           <div>Paiements acceptés</div>           <div>             <span>💳 Carte bancaire</span>             <span>🏦 Virement</span>             <span>💵 Espèces</span>             <span>📄 Chèque</span>           </div>           <p style= »font-size:.78rem;color:var(–muted);margin-top:.75rem »>Facture officielle remise à chaque intervention.</p>         </div>       </div>         <div style= »transition-delay:.15s »>         <h3>Demander un devis</h3>         <div>           <div><label>Prénom & Nom</label><input type= »text » placeholder= »Jean Dupont »></div>           <div><label>Téléphone</label><input type= »tel » placeholder= »06 XX XX XX XX »></div>         </div>         <div><label>Adresse d’intervention</label><input type= »text » placeholder= »Rue, ville, code postal »></div>         <div>           <label>Type de prestation</label>           <select>             <option value= » »>Sélectionnez…</option>             <option>Ouverture de porte d’urgence</option>             <option>Changement de serrure / cylindre</option>             <option>Installation serrure multipoints</option>             <option>Blindage de porte</option>             <option>Serrure connectée</option>             <option>Sécurisation locaux professionnels</option>             <option>Autre</option>           </select>         </div>         <div><label>Message (optionnel)</label><textarea placeholder= »Décrivez votre situation… »></textarea></div>         <button style= »width:100%;justify-content:center;font-size:1rem » onclick= »handleSubmit(this) »>           Envoyer ma demande →         </button>         <p style= »font-size:.72rem;color:var(–muted);margin-top:.75rem;text-align:center »>Réponse sous 2h · Urgences : appelez directement</p>       </div>       </div>   </div> </section>   <!– ──── FOOTER ──── –> <footer>   <div>     <div>       <div>         <a href= »#hero »>DUPONT <span>SERRURIER</span></a>         <p>Artisan serrurier indépendant en Île-de-France. Dépannage 24h/24, installation et sécurisation. Devis transparent avant toute intervention.</p>         <div>           <div>G</div>           <div>f</div>           <div>in</div>         </div>       </div>       <div>         <h4>Services</h4>         <ul>           <li><a href= »#services »>Ouverture de porte</a></li>           <li><a href= »#services »>Changement de serrure</a></li>           <li><a href= »#services »>Blindage de porte</a></li>           <li><a href= »#services »>Serrure connectée</a></li>           <li><a href= »#services »>Locaux professionnels</a></li>         </ul>       </div>       <div>         <h4>Informations</h4>         <ul>           <li><a href= »#interventions »>Zones d’intervention</a></li>           <li><a href= »#tarifs »>Tarifs</a></li>           <li><a href= »#avis »>Avis clients</a></li>           <li><a href= »#contact »>Nous contacter</a></li>           <li><a href= »# »>Mentions légales</a></li>         </ul>       </div>     </div>     <div>       <p>© 2025 Dupont Serrurier · SIRET 123 456 789 00010 · Artisan certifié A2P</p>       <div style= »display:flex;gap:1.5rem »>         <a href= »# »>Mentions légales</a>         <a href= »# »>Politique de confidentialité</a>       </div>     </div>   </div> </footer>   <!– Sticky mobile CTA –> <div>   <a href= »tel:0601020304″ aria-label= »Appeler Dupont Serrurier »>☎</a> </div>   <script> /* ── NAV TOGGLE ── */ function toggleMenu(){   const links = document.querySelector(‘.nav-links’);   const open = links.style.display === ‘flex’;   if(open){     links.style.display =  »;   } else {     Object.assign(links.style, {       display:’flex’,flexDirection:’column’,position:’fixed’,       top:’66px’,left:0,right:0,background:’#fff’,       padding:’1.5rem 5vw’,gap:’1rem’,       borderBottom:’1px solid #eee’,boxShadow:’0 8px 32px rgba(0,0,0,.1)’,       zIndex:200     });   } } document.querySelectorAll(‘.nav-links a’).forEach(l=>{   l.addEventListener(‘click’,()=>{     if(window.innerWidth<860) document.querySelector(‘.nav-links’).style.display= »;   }); });   /* ── NAV SCROLL ── */ window.addEventListener(‘scroll’,()=>{   const nav = document.getElementById(‘navbar’);   nav.style.boxShadow = window.scrollY>60     ? ‘0 2px 0 rgba(0,0,0,.05),0 8px 32px rgba(0,0,0,.1)’     : ‘0 1px 0 rgba(0,0,0,.05),0 4px 20px rgba(0,0,0,.06)’; },{passive:true});   /* ── SCROLL ANIMATIONS ── */ const io = new IntersectionObserver((entries)=>{   entries.forEach(e=>{     if(e.isIntersecting){       e.target.classList.add(‘in’);       io.unobserve(e.target);     }   }); },{threshold:.12}); document.querySelectorAll(‘.fade-up,.fade-in’).forEach(el=>io.observe(el));   /* ── FORM SUBMIT ── */ function handleSubmit(btn){   btn.textContent = ‘✓ Demande envoyée !’;   btn.style.background = ‘#22c55e’;   btn.style.boxShadow = ‘0 4px 18px rgba(34,197,94,.3)’;   btn.disabled = true; }   /* ── ACTIVE NAV TAB ── */ const sections = document.querySelectorAll(‘section[id], div.urgence-band’); const navLinks = document.querySelectorAll(‘.nav-links a[href^= »# »]’); const navObserver = new IntersectionObserver((entries)=>{   entries.forEach(e=>{     if(e.isIntersecting){       const id = e.target.id;       navLinks.forEach(l=>{         l.style.color = l.getAttribute(‘href’)===’#’+id ? ‘var(–gold)’ :  »;       });     }   }); },{rootMargin:’-40% 0px -50% 0px’}); document.querySelectorAll(‘section[id]’).forEach(s=>navObserver.observe(s)); </script> </body> </html>