
.dpm-sitebar,.dpm-sitebar *{box-sizing:border-box}
.dpm-sitebar{position:sticky;top:0;z-index:90;display:flex;justify-content:center;padding:12px 20px;background:#07090d;box-shadow:0 1px 0 rgba(255,255,255,.08);font-family:'Space Grotesk','Mulish',system-ui,-apple-system,sans-serif}
.dpm-sitebar a{text-decoration:none;color:#fff}
.dpm-sitebar .dpm-sb-in{width:100%;max-width:1408px;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;border-radius:14px;background:rgba(20,22,28,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.dpm-sitebar .dpm-sb-brand{display:flex;align-items:center;gap:10px;flex:none}
.dpm-sitebar .dpm-sb-brand img{width:28px!important;height:35px!important;flex:none}
.dpm-sitebar .dpm-sb-txt{display:flex;flex-direction:column;line-height:1.15}
.dpm-sitebar .dpm-sb-txt b{font-weight:700;font-size:16px;letter-spacing:-.01em;white-space:nowrap}
.dpm-sitebar .dpm-sb-sub{font-size:8.5px;color:#b0b0b0;letter-spacing:.14em;white-space:nowrap}
.dpm-sitebar .dpm-sb-nav{display:flex;gap:22px;font-size:15px;font-weight:500}
.dpm-sitebar .dpm-sb-nav a:hover{color:#9cc0ff}
.dpm-sitebar .dpm-sb-nav a[aria-current="page"]{color:#9cc0ff}
.dpm-sitebar .dpm-sb-cta{display:flex;align-items:center;gap:12px;flex:none}
.dpm-sitebar .dpm-sb-loc{font-size:14px;font-weight:600;padding:9px 14px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);white-space:nowrap}
.dpm-sitebar .dpm-sb-loc:hover{background:rgba(255,255,255,.08)}
.dpm-sitebar .dpm-sb-ghost{font-size:15px;font-weight:500;padding:9px 22px;border-radius:8px;background:linear-gradient(137deg,rgba(22,22,22,.15),rgba(190,190,190,.15));box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.dpm-sitebar .dpm-sb-red{font-size:15px;font-weight:500;padding:10px 20px;border-radius:8px;background:linear-gradient(-86deg,#ff2b37,#94050d);box-shadow:inset 0 0 0 1px rgba(255,0,0,.6);white-space:nowrap}
@media(max-width:1080px){.dpm-sitebar .dpm-sb-nav{gap:14px;font-size:14px}}
/* Zone intermédiaire (tablette paysage, petit portable) : le repli mobile ne
   s'active qu'à 900px, donc la barre affiche encore les 5 métiers ET les 3 CTA
   — 434px de boutons qui ne tiennent plus, d'où un débordement horizontal de
   la PAGE ENTIÈRE. On fait passer la navigation sur une 2e ligne plutôt que de
   rogner des liens : rien n'est perdu, plus de scroll horizontal. */
@media(min-width:901px) and (max-width:1180px){
  .dpm-sitebar .dpm-sb-in{flex-wrap:wrap;row-gap:10px}
  .dpm-sitebar .dpm-sb-nav{order:3;flex:1 0 100%;justify-content:center}
}
@media(max-width:900px){.dpm-sitebar .dpm-sb-nav,.dpm-sitebar .dpm-sb-ghost,.dpm-sitebar .dpm-sb-loc{display:none}}
/* ── Menu mobile ──
   Sous 900px la barre masquait les 5 métiers, Contact et « Votre ville » SANS
   rien proposer à la place : il ne restait que le logo et le bouton d'urgence.
   Sur du dépannage, où le mobile fait l'essentiel du trafic, la navigation
   disparaissait donc pour la majorité des visiteurs. */
.dpm-sitebar .dpm-sb-burger{display:none;align-items:center;justify-content:center;gap:4px;flex-direction:column;width:42px;height:42px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);cursor:pointer;flex:none}
.dpm-sitebar .dpm-sb-burger:hover{background:rgba(255,255,255,.16)}
.dpm-sitebar .dpm-sb-burger:focus-visible{outline:2px solid #9cc0ff;outline-offset:2px}
.dpm-sitebar .dpm-sb-burger span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .22s,opacity .22s}
.dpm-sitebar .dpm-sb-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.dpm-sitebar .dpm-sb-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.dpm-sitebar .dpm-sb-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.dpm-sitebar .dpm-sb-mobile{position:absolute;top:100%;left:0;right:0;z-index:95;padding:10px 20px 18px;background:#07090d;box-shadow:0 18px 34px rgba(0,0,0,.5);border-top:1px solid rgba(255,255,255,.1)}
.dpm-sitebar .dpm-sb-mobile[hidden]{display:none}
.dpm-sitebar .dpm-sb-mobile a{display:block;padding:13px 14px;border-radius:10px;font-size:16px;font-weight:500;color:#fff}
.dpm-sitebar .dpm-sb-mobile a+a{margin-top:4px}
.dpm-sitebar .dpm-sb-mobile a:hover{background:rgba(255,255,255,.08)}
.dpm-sitebar .dpm-sb-mobile a[aria-current="page"]{color:#9cc0ff;background:rgba(156,192,255,.1)}
.dpm-sitebar .dpm-sb-mobile span{display:block;padding:13px 14px;font-size:16px;color:rgba(255,255,255,.4)}
.dpm-sitebar .dpm-sb-mobile .dpm-sb-sep{margin:8px 0;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:900px){.dpm-sitebar .dpm-sb-burger{display:inline-flex}}
@media(min-width:901px){.dpm-sitebar .dpm-sb-mobile{display:none!important}}
/* Le libellé long du bouton d'urgence (196px) ne rétrécit pas : combiné à la
   marque et au bouton de menu, il débordait de l'écran sur un mobile 375px.
   Sous 560px on bascule sur le libellé court et la marque devient tronquable. */
.dpm-sitebar .dpm-sb-red-short{display:none}
@media(max-width:560px){
  .dpm-sitebar{padding:10px 12px}
  .dpm-sitebar .dpm-sb-in{gap:10px;padding:8px 10px}
  .dpm-sitebar .dpm-sb-brand{min-width:0}
  .dpm-sitebar .dpm-sb-txt{min-width:0}
  .dpm-sitebar .dpm-sb-txt b{font-size:14px;overflow:hidden;text-overflow:ellipsis}
  .dpm-sitebar .dpm-sb-sub{display:none}
  .dpm-sitebar .dpm-sb-cta{gap:8px}
  .dpm-sitebar .dpm-sb-red{padding:10px 14px;font-size:14px}
  .dpm-sitebar .dpm-sb-red-long{display:none}
  .dpm-sitebar .dpm-sb-red-short{display:inline}
}
.dpm-footer{background:#07090d;color:#fff;padding:72px 24px 36px;font-family:'Mulish',system-ui,sans-serif}
.dpm-footer a{text-decoration:none;color:#9a9a9a}
.dpm-footer a:hover{color:#fff}
.dpm-footer .dpm-ft-grid{max-width:1328px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.dpm-footer .dpm-ft-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.dpm-footer .dpm-ft-brand img{width:34px!important;height:42px!important;display:block}
.dpm-footer .dpm-ft-name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;line-height:1.05}
.dpm-footer .dpm-ft-sub{font-size:9px;color:#8a8a8a;font-weight:500;letter-spacing:.14em}
.dpm-footer .dpm-ft-txt{font-size:14px;line-height:1.6;color:#9a9a9a;margin:0;max-width:300px}
.dpm-footer .dpm-ft-h{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;color:#fff;margin-bottom:18px}
.dpm-footer .dpm-ft-col{display:flex;flex-direction:column;gap:12px;font-size:14px}
.dpm-footer .dpm-ft-bottom{max-width:1328px;margin:48px auto 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:#7a7a7a}
@media(max-width:900px){.dpm-footer .dpm-ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dpm-footer .dpm-ft-grid{grid-template-columns:1fr}}


/* ── RESET SCOPED ── */
.dpem *, .dpem *::before, .dpem *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── TOKENS ── */
.dpem {
  --dark:         #0b1523;
  --dark-2:       #112035;
  --dark-card:    #172840;
  --light:        #f5f7fa;
  --light-card:   #ffffff;
  --light-border: #e2e8f0;
  --blue:         #1a6eff;
  --blue-lite:    #4d9fff;
  --blue-dark:    #1254c9;
  --blue-glow:    rgba(26,110,255,.14);
  --muted-dark:   #6b85a8;
  --muted-light:  #64748b;
  --text-dark:    #c8d8ee;
  --text-light:   #334155;
  --radius:       14px;
  --shadow-light: 0 4px 24px rgba(0,0,0,.08);
  --shadow-dark:  0 12px 40px rgba(0,0,0,.5);

  font-family: 'Mulish', sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

.dpem a { color: inherit; text-decoration: none; }
.dpem img { max-width: 100%; display: block; }
.dpem h1, .dpem h2, .dpem h3, .dpem h4 { font-family: 'Mulish', sans-serif; line-height: 1.25; font-weight: 800; }

/* ── LAYOUT ── */
.dpem .container  { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.dpem .section    { padding: 88px 0; }
.dpem .section-sm { padding: 60px 0; }

/* ── DARK SECTIONS ── */
.dpem .s-dark { background: var(--dark); color: var(--text-dark); }
.dpem .s-dark h1, .dpem .s-dark h2, .dpem .s-dark h3, .dpem .s-dark h4 { color: #fff; }
.dpem .s-dark .tag { color: var(--blue-lite); }

/* ── LIGHT SECTIONS ── */
.dpem .s-light { background: var(--light); color: var(--text-light); }
.dpem .s-light h1, .dpem .s-light h2, .dpem .s-light h3, .dpem .s-light h4 { color: #0f172a; }
.dpem .s-light .tag { color: var(--blue); }
.dpem .s-light p { color: var(--text-light); }

/* ── TRUST BAR ── */
.dpem .s-trust {
  background: var(--dark-2);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: var(--text-dark);
}

/* ── UTILITY ── */
.dpem .tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  margin-bottom: 14px;
}
.dpem .chip {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(26,110,255,.1); border: 1px solid rgba(26,110,255,.25);
  border-radius: 100px; padding: 6px 14px; font-size: .8rem; font-weight: 700; color: var(--blue-lite);
}

/* ── BUTTONS ── */
.dpem .btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Mulish', sans-serif; font-weight: 800; font-size: .95rem;
  padding: 14px 28px; border-radius: var(--radius); border: none; cursor: pointer;
  transition: all .2s; white-space: nowrap; text-decoration: none;
}
.dpem .btn-primary { background: var(--blue); color: #fff; box-shadow: 0 4px 20px rgba(26,110,255,.35); }
.dpem .btn-primary:hover { background: var(--blue-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(26,110,255,.45); }
.dpem .btn-white { background: #fff; color: var(--blue); box-shadow: 0 4px 16px rgba(0,0,0,.12); }
.dpem .btn-white:hover { background: #eff6ff; transform: translateY(-2px); }
.dpem .btn-outline-dark { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.22); }
.dpem .btn-outline-dark:hover { border-color: var(--blue-lite); background: rgba(26,110,255,.08); }
.dpem .btn-outline-light { background: transparent; color: var(--blue); border: 1.5px solid rgba(26,110,255,.3); }
.dpem .btn-outline-light:hover { border-color: var(--blue); background: rgba(26,110,255,.06); }
.dpem .btn-lg { padding: 17px 36px; font-size: 1.05rem; }

/* ── SECTION HEADER ── */
.dpem .sh { text-align: center; margin-bottom: 56px; }
.dpem .sh h2 { font-size: clamp(1.7rem,3vw,2.4rem); font-weight: 900; margin-bottom: 12px; }
.dpem .sh p  { max-width: 580px; margin: 0 auto; font-size: .97rem; }
.dpem .s-dark  .sh p { color: var(--muted-dark); }
.dpem .s-light .sh p { color: var(--muted-light); }

/* ━━━ HERO ━━━ */
.dpem .hero { position: relative; overflow: hidden; padding: 144px 0 80px; }
.dpem .hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 900px 600px at 75% 30%, rgba(26,110,255,.13) 0%, transparent 65%),
    radial-gradient(ellipse 500px 400px at 5%  90%, rgba(26,110,255,.06) 0%, transparent 60%);
}
.dpem .hero-grid { display: grid; grid-template-columns: 1fr 460px; gap: 60px; align-items: center; }
.dpem .hero-bc   { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .8rem; color: var(--muted-dark); margin-bottom: 22px; }
.dpem .hero-bc a { color: var(--muted-dark); }
.dpem .hero-bc a:hover { color: var(--blue-lite); }
.dpem h1.hero-title { font-size: clamp(2rem,3.8vw,3rem); font-weight: 900; color: #fff; margin-bottom: 20px; }
.dpem h1.hero-title span { color: var(--blue-lite); }
.dpem .hero-desc { font-size: 1rem; color: var(--text-dark); margin-bottom: 28px; max-width: 500px; }
.dpem .hero-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.dpem .badge-dark {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  border-radius: 100px; padding: 6px 13px; font-size: .79rem; font-weight: 600; color: var(--text-dark);
}
.dpem .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.dpem .hero-card { background: var(--dark-card); border: 1px solid rgba(255,255,255,.08); border-radius: 22px; overflow: hidden; box-shadow: var(--shadow-dark); }
.dpem .hero-card img { width: 100%; height: 270px; object-fit: cover; }
.dpem .hero-card-body { padding: 24px; }
.dpem .hero-card-body h3 { font-size: 1rem; color: #fff; margin-bottom: 8px; }
.dpem .hero-card-body p  { font-size: .85rem; color: var(--muted-dark); margin-bottom: 18px; }
.dpem .avail-box {
  display: flex; align-items: center; gap: 10px;
  background: rgba(34,197,94,.07); border: 1px solid rgba(34,197,94,.18);
  border-radius: 10px; padding: 11px 14px;
}
.dpem .dot-g {
  width: 10px; height: 10px; border-radius: 50%; background: #22c55e; flex-shrink: 0;
  box-shadow: 0 0 0 4px rgba(34,197,94,.18); animation: dpem-pg 2s infinite;
}
@keyframes dpem-pg {
  0%,100% { box-shadow: 0 0 0 4px rgba(34,197,94,.18); }
  50%      { box-shadow: 0 0 0 7px rgba(34,197,94,.07); }
}
.dpem .avail-box p     { font-size: .83rem; font-weight: 700; color: #4ade80; margin: 0; }
.dpem .avail-box small { font-size: .73rem; color: var(--muted-dark); display: block; }

/* ━━━ TRUST BAR ━━━ */
.dpem .trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.dpem .trust-item {
  display: flex; align-items: center; gap: 14px;
  padding: 28px 24px; border-right: 1px solid rgba(255,255,255,.07);
}
.dpem .trust-item:last-child { border-right: none; }
.dpem .trust-icon {
  width: 44px; height: 44px; flex-shrink: 0;
  background: var(--blue-glow); border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
}
.dpem .trust-icon svg { color: var(--blue-lite); }
.dpem .trust-num     { font-weight: 900; font-size: 1.5rem; color: #fff; }
.dpem .trust-num em  { color: var(--blue-lite); font-style: normal; }
.dpem .trust-label   { font-size: .77rem; color: var(--muted-dark); font-weight: 500; }

/* ━━━ SERVICES ━━━ */
.dpem .svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.dpem .svc-card {
  border-radius: var(--radius); padding: 26px;
  transition: all .25s; position: relative; overflow: hidden;
}
.dpem .svc-card::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--blue-lite));
  opacity: 0; transition: opacity .25s;
}
.dpem .svc-card:hover { transform: translateY(-4px); }
.dpem .svc-card:hover::after { opacity: 1; }
.dpem .s-light .svc-card { background: #fff; border: 1px solid var(--light-border); box-shadow: var(--shadow-light); }
.dpem .s-light .svc-card:hover { border-color: rgba(26,110,255,.25); box-shadow: 0 12px 32px rgba(26,110,255,.1); }
.dpem .svc-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.dpem .s-light .svc-icon { background: rgba(26,110,255,.07); }
.dpem .svc-icon svg { color: var(--blue); }
.dpem .svc-card h3 { font-size: .95rem; font-weight: 800; margin-bottom: 8px; }
.dpem .s-light .svc-card h3 { color: #0f172a; }
.dpem .svc-card p  { font-size: .83rem; margin-bottom: 16px; line-height: 1.6; }
.dpem .s-light .svc-card p  { color: var(--muted-light); }
.dpem .svc-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 14px; }
.dpem .s-light .svc-foot { border-top: 1px solid var(--light-border); }
.dpem .svc-price { font-weight: 900; font-size: .93rem; }
.dpem .s-light .svc-price { color: #0f172a; }
.dpem .svc-time { font-size: .74rem; font-weight: 600; padding: 3px 9px; border-radius: 6px; }
.dpem .s-light .svc-time { color: #16a34a; background: rgba(34,197,94,.08); border: 1px solid rgba(34,197,94,.2); }

/* ━━━ RICH CONTENT ━━━ */
.dpem .rich-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.dpem .rich-content h2 { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 900; margin-bottom: 18px; }
.dpem .rich-content p  { font-size: .94rem; margin-bottom: 14px; line-height: 1.75; }
.dpem .s-dark .rich-content p        { color: var(--text-dark); }
.dpem .s-dark .rich-content p strong { color: #fff; }
.dpem .brand-list { list-style: none; display: flex; flex-direction: column; gap: 9px; margin-top: 16px; }
.dpem .brand-list li {
  display: flex; align-items: flex-start; gap: 10px;
  border-radius: 10px; padding: 11px 15px; font-size: .84rem;
}
.dpem .s-dark .brand-list li { background: var(--dark-card); border: 1px solid rgba(255,255,255,.07); color: var(--text-dark); }
.dpem .brand-list li::before { content: '✓'; color: var(--blue-lite); font-weight: 900; flex-shrink: 0; margin-top: 1px; }

/* ━━━ PROCESS ━━━ */
.dpem .process-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; position: relative; }
.dpem .process-steps::before {
  content: ''; position: absolute; top: 30px;
  left: calc(12.5% + 16px); right: calc(12.5% + 16px);
  height: 2px; background: linear-gradient(90deg, var(--blue), var(--blue-lite)); opacity: .2;
}
.dpem .step { text-align: center; padding: 0 8px; }
.dpem .step-num {
  width: 60px; height: 60px; border-radius: 50%;
  background: linear-gradient(135deg, var(--blue) 0%, var(--blue-lite) 100%);
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 1.25rem; color: #fff;
  margin: 0 auto 20px; position: relative; z-index: 1;
  box-shadow: 0 0 0 8px rgba(26,110,255,.1), 0 4px 16px rgba(26,110,255,.25);
}
.dpem .step h3 { font-size: .93rem; font-weight: 800; margin-bottom: 7px; }
.dpem .step p  { font-size: .82rem; }
.dpem .s-light .step h3 { color: #0f172a; }
.dpem .s-light .step p  { color: var(--muted-light); }

/* ━━━ PRICING ━━━ */
.dpem .ptable { border-radius: var(--radius); overflow: hidden; }
.dpem .s-dark .ptable { background: var(--dark-card); border: 1px solid rgba(255,255,255,.07); }
.dpem .pr {
  display: grid; grid-template-columns: 1fr 110px 160px;
  gap: 16px; align-items: center; padding: 15px 26px; transition: background .12s;
}
.dpem .s-dark .pr { border-bottom: 1px solid rgba(255,255,255,.06); }
.dpem .pr:last-child { border-bottom: none; }
.dpem .s-dark .pr:hover { background: rgba(255,255,255,.025); }
.dpem .pr.hd { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.dpem .s-dark .pr.hd { background: rgba(26,110,255,.08); color: var(--blue-lite); }
.dpem .s-dark .pr.hd:hover { background: rgba(26,110,255,.08); }
.dpem .pr-name  { font-weight: 600; font-size: .88rem; color: var(--text-dark); }
.dpem .pr-time  { font-size: .79rem; text-align: center; color: #22c55e; font-weight: 600; }
.dpem .pr-price { font-weight: 900; text-align: right; color: #fff; }

/* ━━━ WHY US ━━━ */
.dpem .why-grid { display: grid; grid-template-columns: 1fr 400px; gap: 64px; align-items: center; }
.dpem .why-list { list-style: none; display: flex; flex-direction: column; gap: 18px; margin-top: 24px; }
.dpem .why-list li { display: flex; gap: 14px; align-items: flex-start; }
.dpem .why-check {
  width: 26px; height: 26px; flex-shrink: 0; border-radius: 7px;
  display: flex; align-items: center; justify-content: center; margin-top: 1px;
}
.dpem .s-light .why-check { background: rgba(26,110,255,.08); }
.dpem .why-check svg { color: var(--blue); }
.dpem .why-list li strong { display: block; font-weight: 800; margin-bottom: 2px; }
.dpem .s-light .why-list li strong { color: #0f172a; }
.dpem .why-list li span  { font-size: .83rem; color: var(--muted-light); }
.dpem .phone-card { border-radius: 22px; padding: 40px 32px; text-align: center; }
.dpem .s-light .phone-card { background: #fff; border: 1px solid var(--light-border); box-shadow: var(--shadow-light); }
.dpem .phone-card .big-icon { font-size: 3.2rem; display: block; margin-bottom: 14px; }
.dpem .phone-card h3 { font-size: 1.2rem; margin-bottom: 8px; }
.dpem .s-light .phone-card h3 { color: #0f172a; }
.dpem .phone-card p  { font-size: .86rem; margin-bottom: 22px; color: var(--muted-light); }
.dpem .phone-num  { font-weight: 900; font-size: 1.8rem; color: var(--blue); display: block; margin-bottom: 3px; }
.dpem .phone-note { font-size: .74rem; color: var(--muted-light); display: block; margin-bottom: 22px; }

/* ━━━ ZONE ━━━ */
.dpem .zone-inner    { max-width: 820px; margin: 0 auto; }
.dpem .zone-inner h2 { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 900; margin-bottom: 16px; }
.dpem .zone-inner p  { font-size: .94rem; line-height: 1.75; margin-bottom: 14px; color: var(--text-dark); }
.dpem .zone-inner p strong { color: #fff; }

/* ━━━ FAQ ━━━ */
.dpem .faq-wrap { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.dpem .faq-item { border-radius: var(--radius); overflow: hidden; }
.dpem .s-light .faq-item { background: #fff; border: 1px solid var(--light-border); box-shadow: 0 2px 8px rgba(0,0,0,.05); }
.dpem .faq-q {
  width: 100%; background: none; border: none; font-family: 'Mulish', sans-serif;
  font-weight: 700; font-size: .93rem; text-align: left;
  padding: 19px 22px; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  transition: background .15s;
}
.dpem .s-light .faq-q       { color: #0f172a; }
.dpem .s-light .faq-q:hover { background: #f8fafc; }
.dpem .faq-q svg { flex-shrink: 0; color: var(--blue); transition: transform .25s; }
.dpem .faq-q[aria-expanded="true"] svg { transform: rotate(180deg); }
.dpem .faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .3s ease; }
.dpem .faq-a.open { max-height: 400px; padding-bottom: 20px; }
.dpem .faq-a p { padding: 2px 22px 0; font-size: .89rem; line-height: 1.7; color: var(--muted-light) !important; }

/* ━━━ CTA BANNER ━━━ */
.dpem .cta-banner {
  background: linear-gradient(135deg,#1558e0 0%,#0b3fa8 100%);
  padding: 80px 0; text-align: center; position: relative; overflow: hidden;
}
.dpem .cta-banner::before {
  content: ''; position: absolute; inset: 0; opacity: .05;
  background-image: repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%);
  background-size: 20px 20px;
  pointer-events: none;
  z-index: 0;
}
.dpem .cta-banner .container { position: relative; z-index: 1; }
.dpem .cta-banner h2 { font-size: clamp(1.7rem,3vw,2.4rem); color: #fff; margin-bottom: 12px; }
.dpem .cta-banner p  { color: rgba(255,255,255,.82); max-width: 520px; margin: 0 auto 30px; font-size: 1rem; }
.dpem .cta-actions   { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ━━━ RESPONSIVE ━━━ */
@media (max-width: 1024px) {
  .dpem .hero-grid { grid-template-columns: 1fr; }
  .dpem .hero-card { display: none; }
  .dpem .why-grid  { grid-template-columns: 1fr; }
  .dpem .rich-grid { grid-template-columns: 1fr; }
}
@media (max-width: 991px) {
  .dpem .hero { padding-top: 72px; }
}
@media (max-width: 768px) {
  .dpem .svc-grid      { grid-template-columns: 1fr 1fr; }
  .dpem .trust-grid    { grid-template-columns: 1fr 1fr; gap: 0; }
  .dpem .trust-item    { border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); padding: 16px 16px 20px; }
  .dpem .trust-item:nth-child(odd)  { border-right: 1px solid rgba(255,255,255,.07); }
  .dpem .trust-item:last-child      { border-bottom: none; }
  .dpem .process-steps { grid-template-columns: 1fr 1fr; }
  .dpem .process-steps::before { display: none; }
  .dpem .pr            { grid-template-columns: 1fr auto; }
  .dpem .pr-time       { display: none; }
}
@media (max-width: 480px) {
  .dpem .trust-grid { grid-template-columns: 1fr; }
  .dpem .trust-item { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.07); padding: 16px 20px; }
  .dpem .trust-item:last-child { border-bottom: none; }
  .dpem .trust-icon { width: 38px; height: 38px; }
  .dpem .trust-num  { font-size: 1.25rem; }
}
@media (max-width: 560px) {
  .dpem .svc-grid, .dpem .process-steps { grid-template-columns: 1fr; }
}

/* ━━━ CARTE DE FRANCE — ZONE PRÉCISE ━━━ */
.dpem .dpmfr-dep { fill: #16273f; stroke: rgba(255,255,255,.09); stroke-width: .6; transition: fill .18s; }
.dpem .dpmfr-dep--proche { fill: rgba(26,110,255,.22); stroke: rgba(77,159,255,.3); }
.dpem .dpmfr-dep--zone { fill: var(--blue); stroke: var(--blue-lite); stroke-width: 1.2; filter: drop-shadow(0 0 12px rgba(26,110,255,.65)); }
.dpem .dpmfr-pin-dot  { fill: #fff; stroke: var(--blue); stroke-width: 2.5; }
.dpem .dpmfr-pin-halo { fill: rgba(77,159,255,.35); transform-box: fill-box; transform-origin: center; animation: dpem-halo 2.2s ease-out infinite; }
@keyframes dpem-halo { 0% { transform: scale(.35); opacity: .9; } 100% { transform: scale(1.65); opacity: 0; } }
.dpem .dpmfr-pin-txt { fill: #fff; font-family: 'Mulish', sans-serif; font-size: 15px; font-weight: 800; paint-order: stroke; stroke: rgba(11,21,35,.85); stroke-width: 4px; }
.dpem .hero-map { position: relative; padding: 28px 32px 8px; }
.dpem .hero-map::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 62% 55% at 50% 45%, rgba(26,110,255,.16), transparent 72%); pointer-events: none; }
.dpem .hero-map svg { position: relative; width: 100%; height: auto; display: block; }

/* ━━━ SERVICES — survol photo métier ━━━ */
.dpem #services { background: radial-gradient(ellipse 1100px 520px at 50% -8%, rgba(26,110,255,.10), transparent 60%), var(--light); }
.dpem .svc-card > * { position: relative; z-index: 1; }
.dpem .svc-photo {
  position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .35s ease;
  background: linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,.92) 44%, rgba(255,255,255,.99) 68%), var(--svc-photo, none) center/cover no-repeat;
}
.dpem .svc-card:hover .svc-photo { opacity: 1; }
.dpem .svc-icon { transition: background .25s; }
.dpem .svc-icon svg { transition: color .25s; }
.dpem .svc-card:hover .svc-icon { background: var(--blue); box-shadow: 0 8px 22px rgba(26,110,255,.4); }
.dpem .svc-card:hover .svc-icon svg { color: #fff; }
.dpem .s-light .svc-card:hover { border-color: rgba(26,110,255,.45); box-shadow: 0 18px 44px rgba(26,110,255,.16); transform: translateY(-6px); }

/* ━━━ PROCESS — révélation animée ━━━ */
.dpem .process-steps::after {
  content: ''; position: absolute; top: 30px;
  left: calc(12.5% + 16px); right: calc(12.5% + 16px); height: 2px;
  background: linear-gradient(90deg, var(--blue), var(--blue-lite));
  box-shadow: 0 0 12px rgba(26,110,255,.5);
  transform: scaleX(0); transform-origin: left;
  transition: transform 1.4s cubic-bezier(.22,.8,.24,1) .15s;
}
.dpem .process-steps.in-view::after { transform: scaleX(1); }
.dpem .process-steps.anim .step { opacity: 0; transform: translateY(28px); }
.dpem .process-steps.anim.in-view .step { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s ease; }
.dpem .process-steps.anim.in-view .step:nth-child(1) { transition-delay: .1s; }
.dpem .process-steps.anim.in-view .step:nth-child(2) { transition-delay: .4s; }
.dpem .process-steps.anim.in-view .step:nth-child(3) { transition-delay: .7s; }
.dpem .process-steps.anim.in-view .step:nth-child(4) { transition-delay: 1s; }
.dpem .process-steps.anim.in-view .step-num { animation: dpem-pop .55s cubic-bezier(.34,1.56,.64,1) backwards; }
.dpem .process-steps.anim.in-view .step:nth-child(1) .step-num { animation-delay: .1s; }
.dpem .process-steps.anim.in-view .step:nth-child(2) .step-num { animation-delay: .4s; }
.dpem .process-steps.anim.in-view .step:nth-child(3) .step-num { animation-delay: .7s; }
.dpem .process-steps.anim.in-view .step:nth-child(4) .step-num { animation-delay: 1s; }
@keyframes dpem-pop { 0% { transform: scale(.4); opacity: 0; } 60% { transform: scale(1.18); } 100% { transform: scale(1); opacity: 1; } }
.dpem .step-num { transition: transform .25s, box-shadow .25s; }
.dpem .step:hover .step-num { transform: translateY(-3px) scale(1.06); box-shadow: 0 0 0 12px rgba(26,110,255,.14), 0 8px 26px rgba(26,110,255,.5); }
@media (max-width: 768px) { .dpem .process-steps::after { display: none; } }

/* ━━━ ZONE — carte interactive à droite ━━━ */
.dpem .zone-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.dpem .zone-grid2 .zone-inner { max-width: none; margin: 0; }
.dpem .zone-map-card {
  position: relative; background: var(--dark-card); border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px; padding: 28px 32px 20px; box-shadow: var(--shadow-dark); overflow: hidden;
}
.dpem .zone-map-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 55% at 50% 42%, rgba(26,110,255,.14), transparent 72%); pointer-events: none; }
.dpem .zone-map-card svg { position: relative; width: 100%; height: auto; display: block; }
.dpem .zone-map-card .dpmfr-dep:hover { fill: rgba(77,159,255,.4); }
.dpem .zone-map-card .dpmfr-dep--zone:hover { fill: var(--blue-lite); }
.dpem .map-tip {
  position: absolute; pointer-events: none; z-index: 5;
  background: var(--dark); border: 1px solid rgba(77,159,255,.4); color: #fff;
  font-size: .78rem; font-weight: 700; padding: 6px 11px; border-radius: 8px;
  transform: translate(-50%, -140%); white-space: nowrap; box-shadow: 0 8px 24px rgba(0,0,0,.5);
}
.dpem .map-tip small { color: var(--blue-lite); font-weight: 700; }
.dpem .zone-legend { position: relative; display: flex; gap: 20px; flex-wrap: wrap; margin-top: 14px; font-size: .77rem; font-weight: 600; color: var(--muted-dark); }
.dpem .zone-legend .zl { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 7px; vertical-align: -1px; }
.dpem .zl-zone { background: var(--blue); box-shadow: 0 0 8px rgba(26,110,255,.7); }
.dpem .zl-proche { background: rgba(26,110,255,.25); border: 1px solid rgba(77,159,255,.4); }
@media (max-width: 1024px) { .dpem .zone-grid2 { grid-template-columns: 1fr; gap: 36px; } }

@media (prefers-reduced-motion: reduce) {
  .dpem .dpmfr-pin-halo { animation: none; }
  .dpem .process-steps::after { transition: none; transform: scaleX(1); }
  .dpem .process-steps.anim .step { opacity: 1; transform: none; }
  .dpem .process-steps.anim.in-view .step-num { animation: none; }
  .dpem .dot-g { animation: none; }
}



/* ── ⑥ Cartes zoomées sur le département ──
   Le recadrage du viewBox (lib/carte.mjs) agrandit tout ce qu'il contient.
   --dpmfr-k porte le facteur de zoom : on divise par lui pour que traits,
   halo et ombre gardent exactement leur épaisseur d'origine à l'écran. */
.dpem svg[data-dpmfr-zoom] .dpmfr-dep{stroke-width:calc(.6 / var(--dpmfr-k,1))}
.dpem svg[data-dpmfr-zoom] .dpmfr-dep--zone{
  stroke-width:calc(1.2 / var(--dpmfr-k,1));
  filter:drop-shadow(0 0 calc(12px / var(--dpmfr-k,1)) rgba(26,110,255,.65));
}
.dpem svg[data-dpmfr-zoom] .dpmfr-dep--proche{stroke-width:calc(.6 / var(--dpmfr-k,1))}

/* ── ① Code postal du titre ── */
/* L'espacement passe par une marge, PAS par une espace dans le markup :
   minify() supprime les blancs entre balises (>\s+< → ><), donc la page
   autonome gardait l'espace mais l'injecteur Webflow l'avalait — « Reims(51100) ». */
.dpem .hero-title .hero-cp{color:rgba(255,255,255,.62);font-weight:700;font-size:.62em;white-space:nowrap;letter-spacing:.01em;margin-left:.3em}

/* ── ⑦ Bouton d'appel du hero en vert (retour client 28/07) ──
   Ciblé sur le hero uniquement : les 5 autres boutons primaires de la page
   restent bleus, seul l'appel gratuit du premier écran passe au vert. */
.dpem .hero .btn-primary{background:#0fa968;box-shadow:0 4px 20px rgba(15,169,104,.38)}
.dpem .hero .btn-primary:hover{background:#0c8a55;box-shadow:0 8px 28px rgba(15,169,104,.48)}

/* ── ⑧ Dernière bande en rouge urgence (essai demandé) ──
   Le bleu faisait un rappel cohérent ; le rouge rappelle l'urgence. À
   trancher visuellement — il suffit de retirer ce bloc pour revenir au bleu. */
.dpem .cta-banner{background:linear-gradient(135deg,#e02234 0%,#94050d 100%)}
.dpem .cta-banner .btn-white{color:#94050d}
.dpem .cta-banner .btn-outline-dark{border-color:rgba(255,255,255,.55);color:#fff}
.dpem .cta-banner .btn-outline-dark:hover{background:rgba(255,255,255,.12)}

/* ── ⓪ Débordement des grilles sur mobile ──
   Un élément de grille vaut min-width:auto par défaut : il refuse de passer
   sous sa largeur min-content. Sur un écran de 375px, le bloc texte du hero
   mesurait ainsi 348px dans une colonne de 303px, et .hero (overflow-x:hidden)
   coupait la fin des phrases en plein mot (« prix annoncé avant d… partir »).
   Défaut présent dans la feuille de référence, donc sur toutes les pages. */
.dpem .hero-grid > *,
.dpem .rich-grid > *,
.dpem .why-grid > *,
.dpem .zone-grid2 > *,
.dpem .trust-grid > *{min-width:0}
.dpem .hero-desc{max-width:100%}
/* Un mot plus long que la colonne (URL, référence produit) déborderait encore. */
.dpem .hero-bc,.dpem .hero-title,.dpem .hero-desc,.dpem .rich-content p{overflow-wrap:break-word}

/* ── ② Remplissage vert progressif des bulles d'étapes ──
   La pastille garde son dégradé bleu ; le vert monte par-dessus, du bas vers
   le haut. Le ::before est en z-index:-1 : dans le contexte d'empilement de
   .step-num (position:relative;z-index:1) il se peint AU-DESSUS du fond de la
   bulle mais SOUS le chiffre, qui reste lisible pendant tout le remplissage. */
.dpem{--dpm-green:#0fa968;--dpm-green-lite:#3ddc84}
.dpem .step-num{overflow:hidden}
.dpem .step-num::before{
  content:'';position:absolute;inset:0;border-radius:50%;z-index:-1;
  background:linear-gradient(160deg,var(--dpm-green-lite) 0%,var(--dpm-green) 100%);
  clip-path:inset(100% 0 0 0);
  transition:clip-path 1.05s cubic-bezier(.22,.8,.24,1);
}
.dpem .process-steps.in-view .step-num::before{clip-path:inset(0 0 0 0)}
.dpem .process-steps.in-view .step:nth-child(1) .step-num::before{transition-delay:0.25s}
.dpem .process-steps.in-view .step:nth-child(2) .step-num::before{transition-delay:0.55s}
.dpem .process-steps.in-view .step:nth-child(3) .step-num::before{transition-delay:0.85s}
.dpem .process-steps.in-view .step:nth-child(4) .step-num::before{transition-delay:1.15s}

/* Halo : bleu au repos, vert une fois la bulle remplie. */
.dpem .process-steps.in-view .step-num{
  box-shadow:0 0 0 8px rgba(15,169,104,.12),0 4px 16px rgba(15,169,104,.3);
  transition:box-shadow .6s ease .5s,transform .25s;
}
.dpem .process-steps.in-view .step-num:hover{
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 0 0 12px rgba(15,169,104,.18),0 8px 26px rgba(15,169,104,.5);
}

/* Ligne de liaison : la progression qui relie les 4 bulles passe au vert. */
.dpem .process-steps::after{
  background:linear-gradient(90deg,var(--dpm-green),var(--dpm-green-lite));
  box-shadow:0 0 12px rgba(15,169,104,.5);
}

/* Mouvement réduit : le vert est posé d'emblée, sans animation (la référence
   coupe déjà le pop et la ligne dans ce mode — on reste cohérent). */
@media (prefers-reduced-motion: reduce){
  .dpem .step-num::before{transition:none;clip-path:inset(0 0 0 0)}
  .dpem .process-steps.in-view .step-num{transition:none}
}


body:has(> .dpm-sitebar),body:has(#dpmPage){margin:0}
.dpem .btn{max-width:100%;min-height:48px;white-space:normal;text-align:center;overflow-wrap:break-word}
.dpem .btn svg{flex-shrink:0}
.dpem [class$="grid"]>*{min-width:0}
.dpem :is(a,button,input,summary):focus-visible,.dpm-sitebar a:focus-visible,.dpm-footer a:focus-visible{outline:3px solid #579aff;outline-offset:4px}
.dpem :is(section,[id]),.dpm-footer{scroll-margin-top:110px}
.dpem .dpm-loc-input{font-size:16px!important;min-height:46px}
.dpem .dpm-loc-geo{min-width:46px;min-height:46px}
.dpem .dpm-loc-results{max-height:300px;overflow-y:auto;overscroll-behavior:contain}
.dpem .dpm-loc-results a{min-height:44px}
.dpem .dpm-loc-results a:focus-visible{outline-offset:-3px;background:#21354e}
.dpem .dpm-loc-villes a{min-height:44px;display:inline-flex;align-items:center}
.dpem .hero-card{display:block;min-width:0;width:100%;max-width:560px;margin-inline:auto}
.dpem .hero-card.dpm-loc-herocard{display:flex}
.dpem .hero-grid{overflow:visible}
.dpem .hero:has(.dpm-loc-results.open){overflow:visible}
.dpem .hero-card:has(.dpm-loc-results.open){overflow:visible}
.dpm-sitebar .dpm-sb-brand{min-width:0;flex-shrink:1}
.dpm-sitebar .dpm-sb-txt{min-width:0}
.dpm-sitebar .dpm-sb-txt b{overflow:hidden;text-overflow:ellipsis}
.dpm-sitebar .dpm-sb-burger{width:44px;height:44px}
.dpm-sitebar .dpm-sb-red{min-height:44px;display:inline-flex;align-items:center}
.dpm-sitebar .dpm-sb-mobile{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
.dpm-skip{position:fixed;top:8px;left:16px;z-index:200;transform:translateY(-160%);padding:12px 18px;background:#fff;color:#084ec5;border-radius:8px}
.dpm-skip:focus{transform:none}
@media(max-width:1024px){
  .dpem .hero-grid{gap:32px}
  .dpem .hero-card{display:block}
  .dpem .hero-card.dpm-loc-herocard{display:flex}
}
@media(max-width:767px){
  .dpem .container{padding-inline:20px}
  .dpem .section{padding-block:56px}
  .dpem .section-sm{padding-block:40px}
  .dpem .hero{padding:36px 0 48px}
  .dpem .hero-title{font-size:clamp(1.9rem,6.7vw,2.8rem);line-height:1.16}
  .dpem .hero-desc{font-size:1rem;line-height:1.65}
  .dpem .hero-grid{gap:28px}
  .dpem .hero-card{max-width:100%}
  .dpem .hero-map{padding:20px 16px 8px}
  .dpem .dpm-loc-herocard{padding:16px}
  .dpem .dpm-loc-herocard .dpm-loc-bar{flex-wrap:wrap}
  .dpem .dpm-loc-herocard .dpm-loc-field{flex-basis:100%}
  .dpem .dpm-loc-herocard .dpm-loc-geo{width:100%;justify-content:center}
  .dpem .dpm-loc-map{min-height:200px}
  .dpem .dpm-loc-panel{max-height:240px}
  .dpem .pr{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px}
  .dpem .pr.hd>:nth-child(2){display:none}
  .dpem .pr>:first-child{min-width:0;overflow-wrap:break-word}
  .dpem .faq-q{padding:18px 16px;gap:14px}
  .dpem .faq-a{padding-inline:16px}
  .dpem .cta-banner{padding:48px 0}
  .dpm-footer{padding:48px 20px 28px}
  .dpm-footer .dpm-ft-grid{gap:28px}
}
@media(max-width:479px){
  .dpem .btn-lg{font-size:1rem;padding:14px 18px}
  .dpem .hero-ctas .btn{width:100%}
  .dpem .hero-bc{font-size:.75rem;gap:6px}
  .dpem .hero-title .hero-cp{display:inline-block;margin-left:0;margin-top:6px}
  .dpem .hero-title .hero-cp::before{content:' ';white-space:pre}
  .dpem .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dpem .trust-item{padding:16px 10px}
  .dpem .trust-label{font-size:.75rem}
  .dpm-sitebar .dpm-sb-in{gap:8px;padding-inline:10px}
  .dpm-sitebar .dpm-sb-brand{flex:1;gap:8px}
  .dpm-sitebar .dpm-sb-sub{display:none}
  .dpm-sitebar .dpm-sb-txt b{font-size:12px}
  .dpm-sitebar .dpm-sb-red{padding:10px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .dpem *,.dpem *::before,.dpem *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .dpem .anim{opacity:1!important;transform:none!important}
}


.dpm-marne-locator{box-sizing:border-box;padding:24px;background:#101827;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:18px;min-width:0;font-family:Mulish,system-ui,sans-serif}
.dpm-marne-locator *{box-sizing:border-box}
.dpm-marne-locator h3{color:#fff;font-size:20px;line-height:1.3;margin:0 0 18px}
.dpm-marne-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.dpm-marne-fields label{display:block;font-size:14px;font-weight:600;color:#fff}
.dpm-marne-fields input,.dpm-marne-fields select{display:block;width:100%;min-width:0;height:48px;margin:6px 0 0;padding:10px 12px;color:#fff;background:#1b283b;border:1px solid #64748b;border-radius:8px;font:400 16px Mulish,system-ui,sans-serif}
.dpm-marne-locator button{font:600 14px Mulish,system-ui,sans-serif;cursor:pointer;min-height:44px;color:#fff;background:#26354b;border:1px solid #64748b;border-radius:8px;padding:10px 14px;white-space:normal}
.dpm-marne-locator button:hover,.dpm-marne-locator button[aria-pressed=true]{background:#fff;color:#111827}
.dpm-marne-locator :is(a,button,input,select):focus-visible{outline:3px solid #89bbff;outline-offset:3px}
.dpm-marne-geolocation{margin:12px 0}
.dpm-marne-status{font-size:14px;line-height:1.5;margin:10px 0;color:#e6edf7}
.dpm-marne-results{padding:4px;border:1px solid #64748b;border-radius:8px;background:#172237;margin-top:8px;max-height:300px;overflow:auto}
.dpm-marne-results[hidden]{display:none!important}
.dpm-marne-results :is(a,button){display:block;width:100%;text-align:left;color:#fff;text-decoration:none;background:transparent;border:0;line-height:1.4;border-radius:4px;padding:10px;min-height:44px}
.dpm-marne-results :is(a,button):hover{background:#fff;color:#111827}
.dpm-marne-results small{display:block;font-size:12px;opacity:.85}
.dpm-marne-route a{display:inline-flex;align-items:center;min-height:44px;border-radius:8px;padding:10px 14px;margin:0 0 10px;background:#e32636;color:#fff;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4}
.dpm-marne-levels{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.dpm-marne-map{height:300px;min-height:230px;position:relative;overflow:hidden}
.dpm-marne-map svg{width:100%;height:100%;display:block}
.dpm-marne-map .dpmfr-dep,.dpm-marne-map .dpmfr-reg{fill:#22334b;stroke:#8192a6;stroke-width:1;vector-effect:non-scaling-stroke}
.dpm-marne-map .dpmfr-dep--zone,.dpm-marne-map .dpmfr-reg--zone{fill:#237951;cursor:pointer;stroke:#77e0a3}
.dpm-marne-map [role=button]:hover,.dpm-marne-map [role=button]:focus{fill:#366599;outline:none;stroke:#fff;stroke-width:2}
.dpm-marne-map .dpm-marne-pin circle{fill:#fff;stroke:#e32636;stroke-width:2}
.dpm-marne-map .dpm-marne-pin text{fill:#fff;font:700 12px Mulish,system-ui,sans-serif;paint-order:stroke;stroke:#101827;stroke-width:3px}
.dpm-marne-map-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 16px}
.dpm-marne-map-actions button{min-width:44px}
.dpm-marne-map-actions a{color:#fff;font-size:14px;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.dpm-marne-destinations summary{color:#fff;cursor:pointer;padding:10px 0;font-size:14px;font-weight:700}
.dpm-marne-destinations>div{display:flex;flex-wrap:wrap;gap:6px}
.dpm-marne-destinations a{display:inline-flex;align-items:center;min-height:40px;color:#fff;font-size:13px;line-height:1.4;padding:7px 10px;border:1px solid #64748b;border-radius:8px;text-decoration:none}
.dpm-marne-destinations a:hover{background:#fff;color:#111827}
.dpm-marne-help{color:#e6edf7;font-size:13px;line-height:1.6;margin:14px 0 0}
.dpm-marne-help a{color:#fff;text-decoration:underline}
.dpm-territory{max-width:1160px;margin:0 auto;padding:50px 24px 70px;color:#142033;font-family:Mulish,system-ui,sans-serif}
.dpm-territory h1{font-size:clamp(30px,5vw,48px);line-height:1.15;color:#142033;margin:20px 0}
.dpm-territory h2{font-size:26px;margin:34px 0 16px;color:#142033}
.dpm-territory p{font-size:17px;line-height:1.7}
.dpm-territory-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:36px;align-items:start}
.dpm-territory a:not(.dpm-marne-locator a){color:#124e99}
.dpm-territory-links{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.dpm-territory-links a{padding:12px 16px;border:1px solid #b8c4d3;border-radius:8px;text-decoration:none}
.dpm-marne-home-intro{max-width:1100px;margin:0 auto 24px;text-align:center}
.dpm-marne-home-locator{max-width:720px;margin:0 auto}
.dpm-marne-native-contact{display:inline-flex;min-height:48px;align-items:center;padding:12px 20px;border-radius:8px;background:#fff;color:#951223!important;font-weight:700;text-decoration:none}
@media(max-width:767px){.dpm-territory-grid{grid-template-columns:minmax(0,1fr)}.dpm-marne-locator{padding:18px}.dpm-marne-map{height:260px}.dpm-marne-levels button{flex:1;padding:10px 7px}.dpm-territory{padding:30px 18px 50px}}

html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0}.dpem .hero-grid{align-items:start}.dpm-marne-locator.hero-card{max-height:none!important;overflow:visible!important}.dpm-marne-related{padding:24px;background:#122038;border-radius:14px;color:#fff}.dpm-marne-related a{display:block;color:#b6d4ff;padding:10px 0}main{display:block} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}