:root { --dark: #071622; --navy: #071f42; --blue: #1164ff; --blue-dark: #0b47c9; --orange: #ff5b16; --orange-dark: #e64a0b; --yellow: #ffb703; --text: #0b1728; --muted: #64748b; --light: #f4f8fb; --white: #ffffff; --border: #e2e8f0; --shadow: 0 25px 70px rgba(7,22,34,.14); --soft-shadow: 0 16px 45px rgba(15,23,42,.08); }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

#services, #agences, #avis-google { scroll-margin-top: 115px; }

body { margin: 0; font-family: Inter,Arial,sans-serif; color: var(--text); background: var(--white); line-height: 1.6; }

a { color: inherit; text-decoration: none; }

.container { width: min(1180px,calc(100% - 40px)); margin: auto; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); backdrop-filter: blur(18px); border-bottom: 1px solid var(--border); }

.header-inner { height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }

.logo { display: flex; align-items: center; gap: 12px; color: var(--dark); flex-shrink: 0; }

.logo .logo-icon, .logo .logo-text { display: none; }

.header-logo-image { display: block; width: 185px; height: 62px; object-fit: cover; object-position: center; border-radius: 0; }

.logo-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: linear-gradient(135deg,var(--blue),#5da2ff); color: white; font-size: 23px; box-shadow: 0 12px 28px rgba(17,100,255,.22); }

.logo-text { line-height: 1.05; }

.logo-text strong { display: block; font-size: 18px; font-weight: 900; letter-spacing: .04em; }

.logo-text span { display: block; font-size: 14px; color: var(--blue); font-weight: 900; letter-spacing: .14em; }

.main-nav { display: flex; align-items: center; justify-content: center; gap: 27px; color: #07183d; font-size: 12px; font-weight: 800; flex: 1; }

.main-nav a { position: relative; white-space: nowrap; }

.main-nav a::after { content: ""; position: absolute; left: 0; bottom: -9px; height: 2px; width: 0; background: var(--orange); border-radius: 999px; transition: .25s ease; }

.main-nav a:hover { color: var(--blue); }

.main-nav a:hover::after { width: 100%; }

.header-call { display: flex; flex-direction: column; align-items: stretch; gap: 9px; flex: 0 0 215px; }

.call-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; background: #ff5718; color: white; padding: 11px 15px; border-radius: 8px; font-size: 20px; line-height: 1; font-weight: 900; box-shadow: none; }

.available { display: flex; align-items: center; justify-content: center; gap: 7px; color: #07183d; font-size: 10px; line-height: 1; font-weight: 800; white-space: nowrap; animation: availabilityBlink 1.4s ease-in-out infinite; }

.available span { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 6px rgba(34,197,94,.12); }

@keyframes availabilityBlink {
0%,100%{opacity:1}
  50%{opacity:.28}
}

/* Disponibilite dans la carte : texte et voyant volontairement agrandis. */
.hero-section .hero-card .status-badge {
  gap: 11px;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 900;
}

.hero-section .hero-card .status-badge span {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
}

@media (max-width: 480px) {
  .hero-section .hero-card .status-badge {
    gap: 9px;
    font-size: 11px;
  }

  .hero-section .hero-card .status-badge span {
    width: 11px;
    height: 11px;
    flex-basis: 11px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .available { animation: none; }
}

.hero-section { position: relative; }

.payment-methods-section { padding: 0 0 50px; background: #fff; }

.payment-methods-section img { display: block; width: 100%; max-width: none; height: auto; margin: 0 auto; border-radius: 12px; }

.hero-grid { display: grid; grid-template-columns: 1fr 1.08fr; gap: 44px; align-items: center; }

.hero-content { padding: 20px 0 60px; }

.emergency-badge { display: inline-flex; align-items: center; color: var(--orange); border: 1px solid rgba(255,91,22,.32); background: #fff7f2; border-radius: 999px; padding: 9px 16px; font-size: 13px; font-weight: 900; letter-spacing: .07em; margin-bottom: 22px; }

h1 { font-size: clamp(42px,5.7vw,72px); line-height: .98; letter-spacing: -.065em; color: var(--dark); margin: 0 0 24px; }

h1 span { color: var(--blue); }

.hero-text { color: var(--muted); font-size: 19px; max-width: 610px; margin: 0 0 30px; }

.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 34px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 14px; padding: 15px 22px; font-weight: 900; transition: .22s ease; border: 0; }

.btn-primary { background: linear-gradient(135deg,var(--orange),var(--orange-dark)); color: white; box-shadow: 0 16px 34px rgba(255,91,22,.25); }

.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(255,91,22,.33); }

.btn-secondary { background: white; border: 1px solid var(--border); color: var(--dark); box-shadow: 0 10px 25px rgba(15,23,42,.05); }

.btn-secondary:hover { border-color: var(--blue); color: var(--blue); }

.hero-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }

.hero-trust div { display: flex; align-items: center; gap: 11px; background: white; border: 1px solid var(--border); border-radius: 18px; padding: 16px; box-shadow: 0 12px 34px rgba(15,23,42,.05); }

.trust-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; background: #eaf2ff; color: var(--blue); border-radius: 14px; font-weight: 900; }

.hero-trust p { margin: 0; color: #475569; font-size: 13px; line-height: 1.25; }

.hero-trust strong { color: var(--dark); }

.hero-visual { position: relative; min-height: 600px; }

.door-image { position: absolute; inset: 0; border-radius: 0 0 0 34px; overflow: hidden; box-shadow: var(--shadow); background: linear-gradient(90deg,rgba(255,255,255,.25),rgba(0,0,0,.05)),linear-gradient(135deg,#eef3f9 0%,#c7d2df 24%,#667b92 46%,#0b1d33 72%,#061622 100%); }

.door-image::before { content: ""; position: absolute; left: 27%; top: 0; bottom: 0; width: 190px; background: linear-gradient(90deg,#f8fbff,#9aa8b7,#17283b); box-shadow: inset -18px 0 30px rgba(0,0,0,.22); }

.door-image::after { content: ""; position: absolute; left: 40%; top: 45%; width: 250px; height: 28px; border-radius: 999px; background: linear-gradient(90deg,#e5ebf3,#718197,#27364b); transform: rotate(-13deg); box-shadow: 0 24px 34px rgba(0,0,0,.34); }

.door-overlay { position: absolute; inset: 0; background: radial-gradient(circle at 30% 45%,rgba(255,255,255,.18),transparent 22%),linear-gradient(180deg,rgba(7,22,34,0),rgba(7,22,34,.36)); z-index: 2; }

.hero-card { position: absolute; right: 36px; top: 54px; width: min(390px,calc(100% - 54px)); background: white; border: 1px solid rgba(255,255,255,.7); border-radius: 26px; padding: 28px; box-shadow: 0 34px 80px rgba(7,22,34,.22); z-index: 4; }

.status-badge { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 999px; background: #ecfdf5; color: #15803d; font-size: 12px; font-weight: 900; margin-bottom: 16px; animation: pulseGlow 1.9s infinite; }

.status-badge span { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; }

@keyframes pulseGlow {
0%,100%{transform:scale(1);box-shadow:0 0 0 rgba(34,197,94,0)}50%{transform:scale(1.035);box-shadow:0 0 24px rgba(34,197,94,.34)}
}

.hero-card h2 { font-size: 28px; line-height: 1.1; margin: 0 0 10px; color: var(--dark); letter-spacing: -.035em; }

.hero-card p { color: var(--muted); margin: 0 0 18px; }

.phone-large { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(135deg,var(--orange),var(--orange-dark)); color: white; border-radius: 15px; padding: 16px 18px; font-size: 24px; font-weight: 950; margin: 0 0 22px; box-shadow: 0 18px 32px rgba(255,91,22,.26); }

.phone-large::after { content: ""; position: absolute; top: -50%; left: -35%; width: 28%; height: 200%; transform: rotate(22deg); background: linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent); animation: shine 3.4s ease-in-out infinite; }

@keyframes shine {
0%{left:-40%;opacity:0}20%{opacity:1}45%{left:120%;opacity:0}100%{left:120%;opacity:0}
}

.card-services { display: grid; gap: 12px; }

.card-services a { display: grid; grid-template-columns: 34px 1fr 22px; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--border); }

.card-services a:last-child { border-bottom: 0; }

.card-services span { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: #eff6ff; color: var(--blue); }

.card-services strong { color: var(--dark); font-size: 20px; line-height: 1.25; }

.card-services em,
.card-services small {
    color: #ff5b16;
    font-weight: 700;
}

.card-services b { color: var(--orange); }

.police-card { margin-top: 18px; border-radius: 16px; background: #f7f9fc; padding: 16px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--border); }

.police-logo { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; font-size: 25px; box-shadow: 0 8px 20px rgba(15,23,42,.08); }

.police-card p { margin: 0; font-size: 14px; color: #475569; line-height: 1.35; }

.police-card strong { color: var(--dark); }

.stats-bar { position: relative; z-index: 10; transform: translateY(44px); background: var(--navy); color: white; border-radius: 18px; padding: 26px 28px; display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; box-shadow: 0 28px 60px rgba(7,31,66,.25); }

.stat-item { display: flex; gap: 14px; align-items: flex-start; padding-right: 16px; border-right: 1px solid rgba(255,255,255,.12); }

.stat-item:last-child { border-right: 0; }

.stat-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.1); color: var(--orange); font-size: 22px; flex-shrink: 0; }

.stat-item strong { display: block; font-size: 20px; line-height: 1.1; }

.stat-item span { display: block; margin-top: 4px; color: #dbeafe; font-size: 12px; font-weight: 900; letter-spacing: .07em; }

.stat-item p { margin: 7px 0 0; color: #cbd5e1; font-size: 12px; line-height: 1.35; }

.section { padding: 104px 0 76px; }

.section-head { max-width: 780px; margin: 0 auto 42px; text-align: center; }

.section-head span, .eyebrow { color: var(--blue); font-size: 13px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }

.section-head h2, .insurance-text h2, .why-grid h2, .intervention-banner h2 { font-size: clamp(32px,4vw,50px); line-height: 1.08; margin: 12px 0 14px; color: var(--dark); letter-spacing: -.045em; }

.section-head p { color: var(--muted); font-size: 17px; margin: 0; }

.agencies-section { padding-top: 118px; }

.agencies-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }

.agency-card { background: white; border: 1px solid var(--border); border-radius: 24px; overflow: hidden; box-shadow: var(--soft-shadow); }

.agency-content { padding: 24px; }

.agency-content h3 { margin: 0 0 18px; font-size: 22px; line-height: 1.2; color: var(--dark); }

.agency-content a { display: inline-flex; align-items: center; justify-content: center; background: var(--blue); color: white; border-radius: 12px; padding: 12px 16px; font-weight: 900; box-shadow: 0 12px 26px rgba(17,100,255,.2); }

.coverage-strip { margin-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 26px; border-radius: 20px; background: #eff6ff; border: 1px solid #dbeafe; }

.coverage-strip > span { font-size: 34px; }

.coverage-strip strong { color: var(--dark); font-size: 18px; }

.coverage-strip p { margin: 4px 0 0; color: var(--muted); }

.agency-image { height: 180px; position: relative; background-size: cover; background-position: center; border-radius: 24px 24px 0 0; overflow: hidden; }

.agency-image::before { display: none; }

.agency-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(7,22,34,.10),rgba(7,22,34,.45)); }

.agency-image span { position: absolute; top: 10px; left: 10px; z-index: 2; background: #071f42; color: white; padding: 7px 12px; border-radius: 8px; font-size: 11px; font-weight: 900; letter-spacing: .08em; }

.agency-mesnil { background-image: url("images/photo\ camion\ 1.png"); }

.agency-plessis { background-image: url("images/photo\ camion\ 2.png"); }

.agency-berneuil { background-image: url("images/photo\ camion\ 3.png"); }

.insurance-box { display: grid; grid-template-columns: .7fr 1.3fr; gap: 40px; align-items: center; background: white; border: 1px solid var(--border); border-radius: 30px; padding: 36px; box-shadow: var(--soft-shadow); }

.insurance-visual { min-height: 300px; border-radius: 24px; background: radial-gradient(circle at 35% 30%,rgba(255,91,22,.18),transparent 28%),linear-gradient(135deg,#eaf2ff,#dbeafe); display: grid; place-items: center; font-size: 90px; }

.insurance-text h2 { margin-top: 0; font-size: clamp(28px,3.4vw,44px); }

.insurance-text h2 span { color: var(--orange); }

.insurance-logos { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

.insurance-logos strong { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 16px; border-radius: 12px; background: #f8fafc; border: 1px solid var(--border); color: #334155; box-shadow: 0 6px 15px rgba(15,23,42,.04); }

.section-head.small { margin-bottom: 36px; }

.services-layout { display: grid; grid-template-columns: 1fr .42fr; gap: 28px; align-items: stretch; }

.services-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }

.service-card { background: white; border: 1px solid var(--border); border-radius: 24px; padding: 26px; box-shadow: var(--soft-shadow); transition: .22s ease; }

.service-card:hover { transform: translateY(-6px); border-color: #bfdbfe; box-shadow: 0 24px 55px rgba(17,100,255,.12); }

.service-icon { width: 58px; height: 58px; display: grid; place-items: center; background: #eff6ff; color: var(--blue); border-radius: 18px; font-size: 28px; margin-bottom: 18px; }

.service-card h3 { font-size: 24px; line-height: 1.12; color: var(--dark); margin: 0 0 12px; }

.service-card p { color: var(--muted); margin: 0; }

.service-card strong { display: inline-flex; margin-top: 16px; color: var(--orange); background: #fff7ed; padding: 7px 10px; border-radius: 10px; font-weight: 900; }

.urgent-box { background: linear-gradient(135deg,var(--navy),#0b2f63); color: white; border-radius: 28px; padding: 30px; box-shadow: 0 28px 60px rgba(7,31,66,.24); display: flex; flex-direction: column; justify-content: center; }

.urgent-box h2 { color: white; font-size: 34px; line-height: 1.08; margin: 0 0 14px; letter-spacing: -.04em; }

.urgent-box p { color: #dbeafe; margin: 0 0 24px; }

.urgent-infos { display: grid; gap: 10px; margin-top: 18px; }

.urgent-infos span { background: rgba(255,255,255,.1); padding: 12px 14px; border-radius: 13px; font-weight: 800; }

.small-police { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.12); }

.small-police p, .small-police strong { color: white; }

.reviews-section { background: #f6f9fe; }

.reviews-slider { overflow: hidden; position: relative; width: 100%; padding: 10px 0 24px; mask-image: linear-gradient(to right,transparent,black 8%,black 92%,transparent); }

.reviews-track { display: flex; gap: 22px; width: max-content; animation: reviewsScroll 42s linear infinite; }

.reviews-slider:hover .reviews-track { animation-play-state: paused; }

.review-card { flex: 0 0 360px; background: white; border: 1px solid var(--border); border-radius: 24px; padding: 28px; box-shadow: var(--soft-shadow); }

.stars { color: var(--yellow); font-size: 18px; letter-spacing: 2px; margin-bottom: 14px; }

.review-card p { color: #475569; margin: 0 0 18px; }

.review-card strong { display: block; color: var(--dark); font-size: 17px; }

.review-card span { color: var(--blue); font-weight: 900; }

@keyframes reviewsScroll {
from{transform:translateX(0)}to{transform:translateX(calc(-50% - 11px))}
}

.footer-grid { display: grid; grid-template-columns: 1.2fr .75fr .85fr .9fr; gap: 34px; }

.footer-logo { font-weight: 950; line-height: 1.1; font-size: 21px; margin-bottom: 14px; }

.footer p { margin: 0; }

.footer span { display: block; font-weight: 950; margin-bottom: 12px; }

.footer a { color: white; font-weight: 950; font-size: 22px; }

.footer small { display: block; margin-top: 6px; }

.footer ul { list-style: none; margin: 0; padding: 0; display: grid; }

.contact-item { display: flex; flex-direction: column; align-items: flex-start; }

.footer-bottom { margin-top: 38px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); }

.footer-bottom p { color: #94a3b8; font-size: 13px; }

@media(max-width:1120px) {
  .main-nav { display: none; }

  .hero-grid, .insurance-box, .services-layout, .banner-grid { grid-template-columns: 1fr; }

  .hero-visual { min-height: 560px; }

  .stats-bar { grid-template-columns: repeat(2,1fr); transform: none; margin-top: 30px; }

  .stat-item:nth-child(2) { border-right: 0; }

  .agencies-section { padding-top: 78px; }
}

@media(max-width:900px) {
  .hero-trust, .agencies-grid, .services-grid, .footer-grid { grid-template-columns: 1fr; }

  .header-inner { min-height: 74px; }

  .header-call { display: none; }

  .hero-section { padding-top: 34px; }

  .hero-content { padding-bottom: 24px; }

  .hero-visual { min-height: auto; }

  .door-image { position: relative; height: 360px; border-radius: 28px; }

  .hero-card { position: relative; right: auto; top: auto; width: 100%; margin-top: -74px; }

  .stats-bar { grid-template-columns: 1fr; }

  .stat-item { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); padding-bottom: 16px; }

  .stat-item:last-child { border-bottom: 0; }

  .coverage-strip { flex-direction: column; text-align: center; }

  .insurance-visual { min-height: 220px; }
}

@media(min-width:901px) {
  .hero-section { padding-top: 0; }

  .hero-section .hero-grid, .hero-section .hero-content, .hero-section .hero-visual { min-height: 536px; }

  .hero-section .hero-content { width: 39%; padding-top: 18px; padding-right: 20px; padding-bottom: 20px; }

  .hero-section .emergency-badge { padding: 5px 10px; margin-bottom: 14px; font-size: 9px; line-height: 1; }

  .hero-section .hero-content h1 { max-width: 410px; margin-bottom: 17px; font-size: 38px; line-height: 1.04; }

  .hero-section .hero-text { max-width: 400px; margin-bottom: 18px; font-size: 12px; line-height: 1.55; }

  .hero-section .hero-actions { gap: 16px; margin-bottom: 18px; }

  .hero-section .hero-actions .btn { min-width: 174px; min-height: 44px; padding: 10px 14px; font-size: 12px; border-radius: 6px; }

  .hero-section .hero-trust { gap: 12px; margin-top: 0; }

  .hero-section .hero-trust>div { gap: 8px; }

  .hero-section .trust-icon { width: 27px; height: 27px; flex-basis: 27px; }

  .hero-section .hero-trust p { font-size: 9px; line-height: 1.22; }

  .hero-section .hero-visual { left: 26%; }

  .hero-section .hero-card { top: 16px; right: 10px; width: 346px; height: 490px; min-height: 490px; padding: 18px 20px 12px; border-radius: 15px; }

  .hero-section .status-badge { margin-bottom: 10px; font-size: 8px; }

  .hero-section .hero-card h2 { margin-bottom: 10px; font-size: 20px; line-height: 1.08; }

  .hero-section .hero-card>p { margin-bottom: 12px; font-size: 10.5px; line-height: 1.42; }

  .hero-section .phone-large { min-height: 50px; margin-bottom: 7px; font-size: 19px; border-radius: 6px; }

  .hero-section .card-services a { min-height: 44px; grid-template-columns: 22px 1fr 14px; padding: 5px 0; }

  .hero-section .card-services span { width: 19px; height: 19px; background-size: 17px 17px; }

  .hero-section .card-services strong { font-size: 9px; }

  .hero-section .card-services em { font-size: 8px; }

  .hero-section .card-services a:first-child small { font-size: 7px; }

  .hero-section .police-card { min-height: 66px; margin-top: 6px; padding: 6px 9px; }

  .hero-section .police-logo { width: 48px; height: 48px; flex-basis: 48px; }

  .hero-section .police-card p { font-size: 8px; }

  .hero-section .police-card strong { font-size: 10px; }

  .hero-section .stats-bar { margin-top: 0; }
}

.hero-section .card-services a:nth-child(1) span, .hero-section .card-services a:nth-child(2) span { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071944' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='1.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3Cpath d='M12 14v3'/%3E%3C/svg%3E"); }

.hero-section .card-services a:nth-child(3) span { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071944' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v5c0 4.6-2.8 7.7-7 10-4.2-2.3-7-5.4-7-10V6l7-3Z'/%3E%3Ccircle cx='12' cy='11' r='1.5'/%3E%3Cpath d='M12 12.5v2.5'/%3E%3C/svg%3E"); }

.hero-section .police-card { position: relative; }

@media(min-width:901px) {
  .hero-section .door-image { background-color: #eef2f3; background-image: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 8%,rgba(255,255,255,.72) 22%,rgba(255,255,255,.2) 39%,rgba(255,255,255,0) 52%),
      url("images/hero-intervention-wide.png"); background-position: left center,35% center; background-size: 100% 100%,cover; background-repeat: no-repeat; filter: none; backdrop-filter: none; }

  .hero-section .door-image::after { display: none; }
}

.hero-section .hero-card>p { font-size: 14px !important; line-height: 1.5 !important; }

.hero-section .police-logo { transform: translateX(8px); }

.hero-section .card-services strong { font-size: 13px !important; }

.hero-section .card-services em { font-size: 11px !important; }

.hero-section .card-services a:first-child small { font-size: 10px !important; }

.hero-section .card-services { padding-top: 7px; padding-bottom: 7px; }

@media(min-width:901px) {
  .hero-section .hero-card { height: 512px; min-height: 512px; }
}

.hero-section .police-card::before, .hero-section .police-card::after { display: none; }

.hero-section .amicale-text-image { position: relative; flex: 1; height: 64px; overflow: hidden; }

.hero-section .amicale-text-image img { position: absolute; top: -42px; left: -28px; width: 240px; max-width: none; height: auto; }

@media(min-width:901px) {
  .hero-section .door-image { background-color: #eef2f3; background-image: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 8%,rgba(255,255,255,.72) 22%,rgba(255,255,255,.2) 39%,rgba(255,255,255,0) 52%),
      url("images/hero-intervention-wide.png"); background-position: left center,35% center; background-size: 100% 100%,cover; background-repeat: no-repeat; }
}

.hero-section .police-card::before, .hero-section .police-card::after { content: ""; position: absolute; bottom: 7px; width: 34px; height: 3px; border-radius: 999px; background: linear-gradient(90deg,#1267d8 0 48%,#fff 48% 54%,#e32636 54% 100%); }

.hero-section .police-card::before { left: 92px; }

.hero-section .police-card::after { right: 12px; }

@media(max-width:560px) {
  .container { width: min(100% - 24px,1180px); }

  .logo-icon { width: 42px; height: 42px; }

  .logo-text strong { font-size: 15px; }

  .logo-text span { font-size: 12px; }

  h1 { font-size: 39px; }

  .hero-text { font-size: 16px; }

  .hero-actions { display: grid; }

  .btn { width: 100%; }

  .hero-trust { grid-template-columns: 1fr; }

  .phone-large { font-size: 20px; }

  .hero-card { padding: 22px; }

  .stats-bar { padding: 22px; border-radius: 18px; }

  .section { padding: 62px 0; }

  .section-head h2, .insurance-text h2, .why-grid h2, .intervention-banner h2 { font-size: 31px; }

  .review-card { flex-basis: 290px; }

  .footer { padding-bottom: 0; }
}

.agencies-section .agencies-grid { width: 100%; margin: 0 auto; grid-template-columns: repeat(3,minmax(0,1fr)); }

.agencies-section .agency-image { width: 100%; height: auto; background-repeat: no-repeat; background-color: #eef3f8; }

.agencies-section .agency-image::after { background: linear-gradient(180deg,rgba(4,20,56,.03),rgba(4,20,56,.10)); }

.agencies-section .agency-image span { letter-spacing: .04em; }

.agencies-section .agency-content h3 { display: flex; align-items: center; color: #061944; font-size: 0; line-height: 1.25; }

.agencies-section .agency-content h3 br { display: none; }

.agencies-section .agency-content h3::before { content: ""; position: relative; border-radius: 50% 50% 50% 0; background: radial-gradient(circle at 50% 50%,#fff 0 18%,transparent 21%),#061944; transform: rotate(-45deg); flex: 0 0 15px; }

.agencies-section .agency-content h3::after { flex: 1 1 auto; min-width: 0; font-weight: 900; white-space: pre-line; }

.agencies-section .agency-card:nth-child(1) h3::after { content: "AGENCE DE\A MESNIL-EN-THELLE"; }

.agencies-section .agency-card:nth-child(2) h3::after { content: "AGENCE DE\A LE PLESSIS-BELLEVILLE"; }

.agencies-section .agency-card:nth-child(3) h3::after { content: "AGENCE DE\A BERNEUIL-SUR-AISNE"; }

.agencies-section .agency-content a { display: flex; width: 100%; line-height: 1; box-shadow: none; }

@media(max-width:900px) {
  .agencies-section .agencies-grid { max-width: 430px; grid-template-columns: 1fr; gap: 18px; }
}

.hero-section { padding: 0 0 48px; overflow: hidden; background: #fff; }

.hero-section .hero-grid { min-height: 500px; grid-template-columns: 44% 56%; gap: 0; align-items: stretch; }

.hero-section .hero-content { padding: 42px 34px 68px 0; align-self: stretch; }

.hero-section .emergency-badge { margin: 0 0 20px; padding: 6px 11px; border: 1px solid #ff7b45; border-radius: 999px; background: #fff; color: #ef571d; font-size: 10px; line-height: 1; letter-spacing: .02em; }

.hero-section .hero-content h1 { margin: 0 0 20px; letter-spacing: -.04em; }

.hero-section .hero-content h1::after { content: "Serrurier dans l’Oise,\A intervention rapide\A en 30 minutes"; color: #07162f; font-size: 36px; font-weight: 900; line-height: 1.04; white-space: pre-line; }

.hero-section .hero-text { max-width: 430px; margin: 0 0 22px; color: #5c6470; font-size: 14px; line-height: 1.55; }

.hero-section .hero-actions { gap: 18px; margin-bottom: 27px; }

.hero-section .hero-actions .btn { min-width: 170px; padding: 13px 20px; border-radius: 7px; font-size: 13px; box-shadow: none; }

.hero-section .hero-actions .btn-primary { background: #ff5718; }

.hero-section .hero-actions .btn-primary::after { content: "☎  Appeler maintenant"; font-size: 13px; }

.hero-section .hero-actions .btn-secondary { border-color: #c9ced8; color: #07162f; }

.hero-section .hero-trust { display: flex; align-items: center; justify-content: space-between; gap: 14px; }

.hero-section .hero-trust>div { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }

.hero-section .trust-icon { background: transparent; color: #1265d7; }

.hero-section .hero-trust p { color: #344052; font-size: 10px; line-height: 1.3; }

.hero-section .hero-visual { min-height: 500px; }

.hero-section .door-image { border-radius: 0; box-shadow: none; }

.hero-section .door-image::before, .hero-section .door-image::after, .hero-section .door-overlay { display: none; }

.hero-section .hero-card { right: 42px; box-shadow: 0 12px 32px rgba(3,18,43,.18); }

.hero-section .status-badge { margin: 0 0 13px; padding: 0; border-radius: 0; background: transparent; }

.hero-section .status-badge::after { content: "BESOIN D’UNE INTERVENTION ?"; font-size: 8px; font-weight: 900; }

.hero-section .hero-card h2 { margin: 0 0 9px; color: #07162f; line-height: 1.1; letter-spacing: -.02em; }

.hero-section .hero-card>p { margin: 0 0 15px; color: #5c6470; }

.hero-section .phone-large { margin: 0 0 11px; background: #ff5718; box-shadow: none; }

.hero-section .phone-large::after { display: none; }

.hero-section .card-services { gap: 0; }

.hero-section .card-services a { border-bottom-color: #dfe3e9; }

.hero-section .card-services span { border-radius: 0; background: transparent; }

.hero-section .card-services strong { color: #07162f; }

.hero-section .stats-bar { margin-top: -40px; transform: none; border-radius: 7px; background: #061a3f; grid-template-columns: repeat(4,1fr); gap: 0; box-shadow: 0 10px 25px rgba(6,26,63,.18); }

.hero-section .stat-item { align-items: center; gap: 12px; padding: 0 22px; }

.hero-section .stat-item:last-child { border-right: 0; }

.hero-section .stat-icon { border-radius: 0; background: transparent; color: #ff641f; font-size: 0; }

.hero-section .stat-icon::after { color: #ff641f; font-size: 24px; line-height: 1; }

.hero-section .stat-item>div:last-child::before, .hero-section .stat-item>div:last-child::after { white-space: nowrap; }

.hero-section .stat-item>div:last-child::before { color: #fff; font-size: 18px; font-weight: 900; line-height: 1.1; }

.hero-section .stat-item>div:last-child::after { margin-top: 4px; color: #dbe4f4; font-size: 9px; font-weight: 700; }

.hero-section .stat-item:nth-child(1)>div:last-child::before { content: "15 ans"; }

.hero-section .stat-item:nth-child(1)>div:last-child::after { content: "d’expérience"; }

.hero-section .stat-item:nth-child(2)>div:last-child::before { content: "290+"; }

.hero-section .stat-item:nth-child(2)>div:last-child::after { content: "Clients satisfaits"; }

.hero-section .stat-item:nth-child(3)>div:last-child::before { content: "100+"; }

.hero-section .stat-item:nth-child(3)>div:last-child::after { content: "interventions / mois"; }

.hero-section .stat-item:nth-child(4)>div:last-child::before { content: "Oise"; }

.hero-section .stat-item:nth-child(4)>div:last-child::after { content: "intervention locale"; }

.hero-section .hero-content h1 { font-size: 36px; line-height: 1.04; }

.hero-section .hero-content h1::after { display: none; }

.hero-section .hero-content h1 span { color: #ff5718; }

.hero-section .hero-actions .btn-primary { font-size: 13px; }

.hero-section .hero-actions .btn-primary::after { display: none; }

.hero-section .hero-trust>div:nth-child(1) { order: 1; }

.hero-section .hero-trust>div:nth-child(2) { order: 2; }

.hero-section .hero-trust>div:nth-child(3) { order: 3; }

.hero-section .door-image { background-color: #07182d; background-image: url("images/hero-door.png"); background-size: 53% 100%; background-position: left center; background-repeat: no-repeat; }

.hero-section .hero-card { top: 20px; }

.hero-section .card-services a { position: relative; }

.hero-section .card-services a:first-child small { display: block; position: absolute; top: 50%; transform: translateY(-50%); font-weight: 900; }

.hero-section .police-card { display: flex; }

.hero-section .police-logo { font-size: 16px; }

.hero-section .stats-bar { min-height: 90px; padding: 12px 24px; }

.hero-section .stat-item>div:last-child { font-size: initial; line-height: normal; }

.hero-section .stat-item>div:last-child>* { display: block; }

.hero-section .stat-item>div:last-child::before, .hero-section .stat-item>div:last-child::after { content: none; display: none; }

.hero-section .stat-item:nth-child(1) .stat-icon::after { content: "▥"; }

.hero-section .stat-item:nth-child(2) .stat-icon::after { content: "◷"; }

.hero-section .stat-item:nth-child(3) .stat-icon::after { content: "♙♙"; font-size: 16px; }

.hero-section .stat-item:nth-child(4) .stat-icon::after { content: "▣"; }

.police-logo { background: transparent url("images/amicale\ de\ la\ police\ nationale.jpg") center/contain no-repeat; color: transparent; overflow: hidden; }

.hero-section .trust-icon { width: 27px; height: 27px; flex: 0 0 27px; border-radius: 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: contain; font-size: 0; }

.hero-section .hero-trust>div:nth-child(1) .trust-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231267d8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 1.8M8.5 2.8h7M12 2.8v1'/%3E%3C/svg%3E"); }

.hero-section .hero-trust>div:nth-child(2) .trust-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231267d8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.8 20 6v5.6c0 5-3.4 8.2-8 9.7-4.6-1.5-8-4.7-8-9.7V6l8-3.2Z'/%3E%3Cpath d='m8.4 12.1 2.2 2.2 5-5'/%3E%3C/svg%3E"); }

.hero-section .hero-trust>div:nth-child(3) .trust-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231267d8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.8'/%3E%3Cpath d='m8 12.2 2.6 2.6 5.8-6'/%3E%3C/svg%3E"); }

.hero-section .stat-icon { width: 38px; height: 38px; flex: 0 0 38px; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: contain; }

.hero-section .stat-icon::after { display: none; }

.hero-section .stat-item:nth-child(1) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 29V12l10-8 10 8v17M10 29V15h12v14M13 15V9h6v6M14 29v-7h4v7M5 29h22'/%3E%3C/svg%3E"); }

.hero-section .stat-item:nth-child(2) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='18' r='10'/%3E%3Cpath d='M12 3h8M16 3v5M23 9l2-2M16 12v6l4 2'/%3E%3Cpath d='M16 18l4 2' stroke='%23ff6422' stroke-width='2.3'/%3E%3C/svg%3E"); }

.hero-section .stat-item:nth-child(3) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='11' r='4.2'/%3E%3Cpath d='M8.5 27v-2.5c0-4.2 3.1-7.3 7.5-7.3s7.5 3.1 7.5 7.3V27M7.5 14.5a3.3 3.3 0 1 1 2.5-5.4M6 27v-1.7c0-3 1.7-5.2 4.2-6.2M24.5 14.5A3.3 3.3 0 1 0 22 9.1M26 27v-1.7c0-3-1.7-5.2-4.2-6.2'/%3E%3C/svg%3E"); }

.hero-section .stat-item:nth-child(4) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='7' width='22' height='20' rx='2'/%3E%3Cpath d='M4 13h22M10 4v6M20 4v6'/%3E%3Ccircle cx='24' cy='23' r='5.5' fill='%23061a3f'/%3E%3Cpath d='M24 20v3l2 1.2' stroke='%23ff6422' stroke-width='1.8'/%3E%3C/svg%3E"); }

.hero-section .stat-item { min-height: 62px; justify-content: flex-start; border-right: 1px solid rgba(255,255,255,.34); }

.hero-section .stat-item strong { color: #ff6422; font-size: 18px; line-height: 1; }

.hero-section .stat-item span { margin-top: 3px; color: #fff; font-size: 8px; line-height: 1; }

.hero-section .stat-item [data-count] { display: inline; margin: 0; color: inherit; font-size: inherit; line-height: inherit; letter-spacing: inherit; }

.hero-section .stat-item p { margin-top: 8px; color: #fff; font-size: 9px; line-height: 1.35; }

.hero-section .hero-card { width: 310px; padding: 17px 18px 12px; border-radius: 13px; border: 1px solid #d9dee7; }

.hero-section .status-badge { display: flex; margin-bottom: 11px; color: #07162f; font-size: 8px; line-height: 1; letter-spacing: 0; }

.hero-section .status-badge::after { display: none; }

.hero-section .status-badge span { width: 7px; height: 7px; background: #24c96b; box-shadow: 0 0 0 3px rgba(36,201,107,.12); }

.hero-section .hero-card h2 { margin-bottom: 8px; font-size: 19px; font-weight: 900; }

.hero-section .hero-card>p { margin-bottom: 13px; font-size: 10px; line-height: 1.45; }

.hero-section .phone-large { min-height: 42px; margin-bottom: 8px; padding: 10px 12px; border-radius: 6px; font-size: 18px; }

.hero-section .card-services a { min-height: 41px; grid-template-columns: 21px 1fr 13px; gap: 6px; padding: 6px 0; }

.hero-section .card-services span { width: 18px; height: 18px; background-position: center; background-repeat: no-repeat; background-size: 16px 16px; color: transparent; font-size: 0; }

.hero-section .card-services a:nth-child(-n+3) span { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23061944' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='1.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3M12 14v3'/%3E%3C/svg%3E"); }

.hero-section .card-services a:nth-child(4) span { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23061944' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='1.5'/%3E%3Cpath d='M8 5V3M16 5V3M8 10h8M8 14h5'/%3E%3C/svg%3E"); }

.hero-section .card-services strong { font-size: 9px; line-height: 1.2; }

.hero-section .card-services em { display: block; margin-top: 2px; color: #061944; font-size: 8px; font-style: normal; font-weight: 900; }

.hero-section .card-services a:first-child small { right: 16px; color: #ef571d; font-size: 7px; }

.hero-section .card-services b { color: transparent; font-size: 0; }

.hero-section .card-services b::after { content: "→"; color: #061944; font-size: 13px; font-weight: 700; }

.hero-section .police-card { min-height: 54px; margin-top: 7px; padding: 6px 8px; gap: 9px; border: 0; border-radius: 7px; background: #f3f5f8; }

.hero-section .police-logo { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 50%; box-shadow: none; }

.agencies-section { padding: 12px 0 34px; background: #fff; position: relative; margin-top: -35px; }

.agencies-section .section-head { max-width: 760px; margin: 0 auto 25px; }

.agencies-section .section-head span { color: #1267d8; font-size: 11px; line-height: 1; letter-spacing: .04em; }

.agencies-section .section-head h2 { margin: 3px 0 3px; color: #061944; font-size: 16px; line-height: 1.05; letter-spacing: -.02em; }

.agencies-section .section-head p { color: #344052; font-size: 10px; line-height: 1.2; }

.agencies-section .agency-card { border-color: #e6e9ef; }

.agencies-section .agency-content h3 { gap: 7px; margin-bottom: 7px; }

.agencies-section .agency-content h3::before { width: 17px; height: 17px; flex-basis: 17px; }

.agencies-section .agency-content h3::after { color: #061944; }

.agencies-section .agency-content a { min-height: 27px; padding: 6px 10px; border-radius: 4px; background: #061944; color: #fff; font-size: 10px; }

.agencies-section .coverage-strip { width: 100%; max-width: 760px; min-height: 46px; margin: 26px auto 0; padding: 5px 12px; gap: 10px; justify-content: center; border: 0; border-radius: 5px; background: #eef5ff; }

.agencies-section .coverage-strip>span { width: 42px; height: 36px; flex: 0 0 42px; background-position: center; background-repeat: no-repeat; background-size: contain; color: transparent; font-size: 0; }

.agencies-section .coverage-strip>span:first-child { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40'%3E%3Cpath d='M9 4l8 3 4-4 7 3 5-2 4 5-2 5 5 4-4 5 2 6-7 1-4 6-6-3-7 2-2-6-6-3 4-6-3-6 4-4-2-4Z' fill='%23cbd2dc'/%3E%3Cpath d='M21 10h5v5h-5zM29 19h4v4h-4zM15 23h4v4h-4z' fill='%23b3bdca'/%3E%3C/svg%3E"); }

.agencies-section .coverage-strip>span:last-child { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%231267d8' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4 32 9v8.5c0 7.5-5 12.3-12 14.5-7-2.2-12-7-12-14.5V9l12-5Z'/%3E%3Cpath d='m14 18 4 4 8-9'/%3E%3C/svg%3E"); }

.agencies-section .coverage-strip>div { flex: 0 1 590px; text-align: center; }

.agencies-section .coverage-strip strong { color: #1267d8; font-size: 11px; line-height: 1.1; text-transform: uppercase; }

.agencies-section .coverage-strip p { margin-top: 3px; color: #061944; font-size: 9px; line-height: 1.15; }

.insurance-section { padding: 20px 0 34px; background: #fff; position: relative; margin-top: -16px; }

.insurance-section .insurance-box { display: block; width: calc(100% - 40px); max-width: 1108px; height: auto; aspect-ratio: 1108 / 156; padding: 0; border: 0; border-radius: 0; background: transparent url("images/insurance-banner-reference.png") center/100% 100% no-repeat; box-shadow: none; }

.insurance-section .insurance-visual, .insurance-section .insurance-text { display: none; }

@media(min-width:901px) {
  .hero-section .hero-grid { position: relative; display: block; min-height: 500px; }

  .hero-section .hero-content { position: relative; z-index: 3; width: 44%; min-height: 500px; }

  .hero-section .hero-visual { position: absolute; z-index: 1; inset: 0 0 0 26%; min-height: 500px; }

  .hero-section .door-image { background-color: #edf1f3; background-image: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 7%,rgba(255,255,255,.28) 22%,rgba(255,255,255,0) 35%),
      url("images/hero-intervention-window.png"); background-position: left center,left center; background-size: 100% 100%,62% 100%; background-repeat: no-repeat; }

  .hero-section .door-image::after { content: ""; display: block; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,255,255,.15),transparent 55%); }

  .hero-section .hero-card { z-index: 5; top: 18px; right: 24px; }
}

@media(min-width:901px) {
  .hero-section .hero-grid, .hero-section .hero-content, .hero-section .hero-visual { min-height: 590px; }

  .hero-section .hero-content { padding-top: 46px; }

  .hero-section .hero-content h1 { font-size: 44px; line-height: 1.05; margin-bottom: 28px; }

  .hero-section .hero-text { max-width: 470px; font-size: 15px; line-height: 1.55; margin-bottom: 28px; }

  .hero-section .hero-actions .btn { min-width: 200px; min-height: 48px; font-size: 14px; }

  .hero-section .hero-trust { margin-top: 34px; }

  .hero-section .hero-trust p { font-size: 11px; }

  .hero-section .trust-icon { width: 31px; height: 31px; flex-basis: 31px; }

  .hero-section .hero-card { top: 18px; right: 24px; width: 350px; min-height: 500px; padding: 22px 24px 16px; border-radius: 16px; }

  .hero-section .status-badge { margin-bottom: 14px; font-size: 9px; }

  .hero-section .hero-card h2 { font-size: 24px; line-height: 1.08; margin-bottom: 13px; }

  .hero-section .hero-card>p { font-size: 12px; line-height: 1.45; margin-bottom: 17px; }

  .hero-section .phone-large { min-height: 55px; margin-bottom: 10px; font-size: 22px; border-radius: 7px; }

  .hero-section .card-services a { min-height: 48px; grid-template-columns: 24px 1fr 16px; }

  .hero-section .card-services span { width: 21px; height: 21px; background-size: 19px 19px; }

  .hero-section .card-services strong { font-size: 10px; }

  .hero-section .card-services em { font-size: 9px; }

  .hero-section .card-services a:first-child small { font-size: 8px; }

  .hero-section .police-card { min-height: 76px; margin-top: 9px; padding: 9px 11px; }

  .hero-section .police-logo { width: 56px; height: 56px; flex-basis: 56px; }

  .hero-section .police-card p { font-size: 9px; }

  .hero-section .police-card strong { font-size: 11px; }

  .hero-section .stats-bar { height: 136px; min-height: 136px; margin-top: -38px; padding: 18px 32px; }

  .hero-section .stat-item { min-height: 86px; padding: 0 28px; gap: 16px; }

  .hero-section .stat-icon { width: 48px; height: 48px; flex-basis: 48px; }

  .hero-section .stat-item strong { font-size: 20px; }

  .hero-section .stat-item span { font-size: 9px; }

  .hero-section .stat-item p { font-size: 10px; line-height: 1.3; }
}

.agencies-section .agencies-grid { max-width: 1120px; gap: 28px; }

.agencies-section .agency-card { overflow: hidden; border: 1px solid #dfe4eb; border-radius: 7px; background: #fff; box-shadow: 0 2px 8px rgba(6,25,68,.07); }

.agencies-section .agency-image { position: relative; aspect-ratio: 1.75 / 1; border-radius: 6px 6px 0 0; background-size: cover; background-position: center bottom; }

.agencies-section .agency-card:first-child .agency-image, .agencies-section .agency-card:last-child .agency-image { background-position: center 72%; }

.agencies-section .agency-image span { display: block; position: absolute; top: 5px; left: 8px; padding: 3px 8px; border-radius: 2px; background: #061944; color: #fff; font-size: 8px; font-weight: 900; line-height: 1; }

.agencies-section .agency-content { padding: 8px 10px 7px; }

.agencies-section .agency-content h3 { min-height: 31px; margin: 0 0 2px; }

.agencies-section .agency-content h3::after { font-size: 11px; line-height: 1.15; }

.agencies-section .agency-distance { margin: 0 0 6px 25px; color: #ff4f24; font-size: 8px; font-weight: 800; line-height: 1.1; }

.agencies-section .agency-content>a { min-height: 30px; padding: 7px 10px; border-radius: 4px; background: #ff4f24; color: #fff; font-size: 10px; font-weight: 800; }

.agencies-section .agency-review { display: grid; grid-template-columns: 24px 1fr auto auto; align-items: center; gap: 8px; margin-top: 7px; padding-top: 6px; border-top: 1px solid #e3e7ed; color: #061944; font-size: 9px; line-height: 1; }

.agencies-section .agency-review b { color: #4285f4; font-size: 20px; font-family: Arial,sans-serif; font-weight: 900; }

.agencies-section .google-review-logo { display: block; width: 20px; height: 20px; object-fit: contain; }

.agencies-section .agency-review strong { font-size: 9px; }

.agencies-section .agency-review em { color: #ffc400; font-size: 15px; font-style: normal; letter-spacing: 1px; }

.services-section { padding: 8px 0 26px; background: #fff; }

.services-section .section-head.small { margin: 0 auto 22px; text-align: center; }

.services-section .section-head.small span { color: #1267d8; font-size: 12px; line-height: 1; }

.services-section .section-head.small h2 { margin: 2px 0 0; color: #061944; font-size: 18px; line-height: 1.1; }

.services-section .services-layout { display: grid; grid-template-columns: minmax(0,4fr) minmax(220px,1.35fr); gap: 16px; align-items: stretch; }

.services-section .services-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }

.services-section .service-card { min-height: 190px; padding: 20px 16px; border: 1px solid #dfe4eb; border-radius: 7px; background: #fff; box-shadow: 0 2px 8px rgba(6,25,68,.07); text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; }

.services-section .service-card:hover { transform: none; }

.services-section .service-icon { width: 44px; height: 44px; margin: 0 auto 12px; border-radius: 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: 40px 40px; color: transparent; font-size: 0; }

.services-section .service-card:nth-child(1) .service-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231267d8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='16' r='11'/%3E%3Cpath d='M16 9v7l5 3M12 3h8'/%3E%3C/svg%3E"); }

.services-section .service-card:nth-child(2) .service-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231267d8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='21' cy='10' r='5'/%3E%3Cpath d='m17.5 13.5-11 11V28h4v-3h3v-3h3l4.5-4.5'/%3E%3C/svg%3E"); }

.services-section .service-card:nth-child(3) .service-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231267d8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='14' width='16' height='13' rx='2'/%3E%3Cpath d='M11 14V9a5 5 0 0 1 10 0v5M16 19v3'/%3E%3C/svg%3E"); }

.services-section .service-card:nth-child(4) .service-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231267d8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3 26 7v7c0 6.3-4.2 10.2-10 13-5.8-2.8-10-6.7-10-13V7l10-4Z'/%3E%3Cpath d='m11 15 3 3 7-7'/%3E%3C/svg%3E"); }

.services-section .service-card h3 { margin: 0 0 12px; min-height: 42px; color: #061944; font-size: 18px; line-height: 1.15; display: flex; align-items: center; justify-content: center; }

.services-section .service-card p { margin: 0; min-height: 72px; color: #26364e; font-size: 13px; line-height: 1.4; }

.services-section .service-card>strong { display: block; margin: 12px 0 0; padding: 0; background: transparent; color: #ff4f24; font-size: 14px; }

.services-section .urgent-box { min-height: 190px; padding: 15px 16px 10px; border-radius: 8px; background: #061944; box-shadow: 0 5px 16px rgba(6,25,68,.16); justify-content: flex-start; }

.services-section .urgent-box h2 { margin: 0 0 6px; color: #fff; font-size: 19px; line-height: 1.05; }

.services-section .urgent-box>p { margin: 0 0 8px; font-size: 10px; line-height: 1.25; }

.services-section .urgent-box>p::first-line { color: inherit; }

.services-section .urgent-box>p { color: #ff4f24; font-weight: 400; }

.services-section .urgent-box .phone-large { min-height: 42px; margin: 0 0 7px; border-radius: 5px; background: #ff4f24; font-size: 18px; }

.services-section .urgent-infos { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 6px; }

.services-section .urgent-infos span { padding: 0; background: transparent; color: #fff; font-size: 9px; }

.services-section .small-police { min-height: 78px; margin: 0; padding: 7px 10px; border: 0; border-radius: 5px; background: rgba(255,255,255,.08); }

.services-section .small-police .police-logo { width: 48px; height: 48px; flex-basis: 48px; transform: none; }

.services-section .small-police p { flex: 1; padding: 0; color: #fff; font-size: 9px; line-height: 1.2; text-align: center; transform: translateY(8px); }

.services-section .small-police strong { color: #fff; font-size: 11px; line-height: 1.1; }

.services-bottom-row { display: grid; grid-template-columns: 1.05fr .9fr; gap: 14px; margin-top: 20px; align-items: stretch; }

.why-choose-box, .google-testimonials, .intervention-proof { min-width: 0; min-height: 240px; border: 1px solid #dfe4eb; border-radius: 7px; background: #fff; }

.why-choose-box { padding: 18px 20px; display: flex; flex-direction: column; justify-content: center; align-items: center; }

.why-choose-box h3, .google-testimonials>h3 { margin: 0 0 13px; color: #1267d8; font-size: 14px; line-height: 1; }

.google-reviews-source { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; color: #52647d; font-size: 9px; font-weight: 800; vertical-align: middle; }

.google-reviews-source img { width: 12px; height: 12px; object-fit: contain; }

.why-choose-box h3 { width: 100%; margin-bottom: 22px; text-align: center; }

.why-choose-box ul { width: max-content; max-width: 100%; margin: 0 auto; padding: 0; list-style: none; display: grid; gap: 9px; }

.why-choose-box li { position: relative; padding-left: 25px; color: #061944; font-size: 13px; font-weight: 700; line-height: 1.2; text-align: left; }

.why-choose-box li::before { content: "✓"; position: absolute; left: 0; top: -1px; width: 18px; height: 18px; border-radius: 50%; background: #1267d8; color: #fff; display: grid; place-items: center; font-size: 11px; }

.google-testimonials { padding: 15px 12px; overflow: hidden; }

.google-testimonials.hero-testimonials { width: calc(100% - 40px); max-width: 1180px; min-height: 0; margin: 22px auto 30px; padding: 14px 14px 16px; border-radius: 7px; }

.google-testimonials.hero-testimonials>h3 { margin-bottom: 11px; text-align: center; }

.google-testimonials.hero-testimonials .google-testimonial { position: relative; height: 176px; padding: 12px 13px 42px; }

.google-testimonials.hero-testimonials .google-testimonial p { -webkit-line-clamp: 3; margin-bottom: 6px; }

.stats-bar.agency-stats-bar { width: min(1180px, 100% - 40px); min-height: 90px; margin: 26px auto 18px; padding: 12px 24px; transform: none; grid-template-columns: repeat(4,1fr); gap: 0; border-radius: 7px; background: #061a3f; box-shadow: 0 10px 25px rgba(6,26,63,.18); }

.stats-bar.agency-stats-bar .stat-item { min-height: 62px; align-items: center; justify-content: flex-start; gap: 12px; padding: 0 22px; border-right: 1px solid rgba(255,255,255,.34); border-bottom: 0; }

.stats-bar.agency-stats-bar .stat-item:last-child { border-right: 0; }

.stats-bar.agency-stats-bar .stat-icon { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: contain; color: #ff641f; font-size: 0; }

.stats-bar.agency-stats-bar .stat-icon::after { content: none; display: none; }

.stats-bar.agency-stats-bar .stat-item:nth-child(1) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 29V12l10-8 10 8v17M10 29V15h12v14M13 15V9h6v6M14 29v-7h4v7M5 29h22'/%3E%3C/svg%3E"); }

.stats-bar.agency-stats-bar .stat-item:nth-child(2) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='18' r='10'/%3E%3Cpath d='M12 3h8M16 3v5M23 9l2-2M16 12v6l4 2'/%3E%3Cpath d='M16 18l4 2' stroke='%23ff6422' stroke-width='2.3'/%3E%3C/svg%3E"); }

.stats-bar.agency-stats-bar .stat-item:nth-child(3) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='11' r='4.2'/%3E%3Cpath d='M8.5 27v-2.5c0-4.2 3.1-7.3 7.5-7.3s7.5 3.1 7.5 7.3V27M7.5 14.5a3.3 3.3 0 1 1 2.5-5.4M6 27v-1.7c0-3 1.7-5.2 4.2-6.2M24.5 14.5A3.3 3.3 0 1 0 22 9.1M26 27v-1.7c0-3-1.7-5.2-4.2-6.2'/%3E%3C/svg%3E"); }

.stats-bar.agency-stats-bar .stat-item:nth-child(4) .stat-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='7' width='22' height='20' rx='2'/%3E%3Cpath d='M4 13h22M10 4v6M20 4v6'/%3E%3Ccircle cx='24' cy='23' r='5.5' fill='%23061a3f'/%3E%3Cpath d='M24 20v3l2 1.2' stroke='%23ff6422' stroke-width='1.8'/%3E%3C/svg%3E"); }

.stats-bar.agency-stats-bar .stat-item strong { display: block; color: #ff6422; font-size: 18px; font-weight: 950; line-height: 1; letter-spacing: 0; }

.stats-bar.agency-stats-bar .stat-item span { display: block; margin-top: 3px; color: #fff; font-size: 8px; font-weight: 900; line-height: 1; letter-spacing: .07em; text-transform: uppercase; }

.stats-bar.agency-stats-bar .stat-item [data-count] { display: inline; margin: 0; color: inherit; font-size: inherit; line-height: inherit; letter-spacing: inherit; }

.stats-bar.agency-stats-bar .stat-item p { margin-top: 8px; color: #fff; font-size: 9px; line-height: 1.35; }

.agencies-section .agency-testimonials { width: 100%; max-width: 920px; min-height: 0; margin: 18px auto 14px; padding: 12px; border-radius: 7px; }

.agencies-section .agency-testimonials>h3 { margin-bottom: 10px; text-align: center; }

.agencies-section .agency-testimonials .google-testimonial { position: relative; height: 175px; padding: 11px 13px 42px; }

.agencies-section .agency-testimonials .google-testimonial p { -webkit-line-clamp: 3; margin-bottom: 6px; }

.google-testimonials-window { overflow: hidden; }

.google-testimonials-track { display: flex; gap: 8px; width: max-content; animation: compactReviews 40s linear infinite; }

.google-testimonials-window:hover .google-testimonials-track { animation-play-state: paused; }

.google-testimonials-track.is-paused { animation-play-state: paused; }

.google-testimonial { flex: 0 0 220px; height: 195px; padding: 13px 13px 18px; border: 1px solid #e2e7ee; border-radius: 5px; background: #fff; overflow: hidden; }

.testimonial-stars { margin-bottom: 8px; color: #ffb300; font-size: 15px; letter-spacing: 1px; }

.google-testimonial p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; margin: 0 0 9px; color: #26364e; font-size: 11px; line-height: 1.35; }

.google-testimonial strong { display: block; color: #061944; font-size: 11px; line-height: 1.1; }

.google-testimonial span { display: block; margin-top: 7px; color: #617087; font-size: 9px; line-height: 1.2; }

.testimonial-read-more { display: inline-block; margin: 0; padding: 4px 9px; border: 1px solid #1267d8; border-radius: 4px; background: #fff; color: #1267d8; font-size: 9px; font-weight: 900; cursor: pointer; }

.agency-testimonials .testimonial-read-more { position: absolute; right: 12px; bottom: 11px; z-index: 2; }

.hero-testimonials .testimonial-read-more { position: absolute; right: 12px; bottom: 11px; z-index: 2; }

@media(min-width:901px) {
  .stats-bar.agency-stats-bar { height: 136px; min-height: 136px; padding: 18px 32px; }

  .stats-bar.agency-stats-bar .stat-item { min-height: 86px; padding: 0 28px; gap: 16px; }

  .stats-bar.agency-stats-bar .stat-icon { width: 48px; height: 48px; flex-basis: 48px; }

  .stats-bar.agency-stats-bar .stat-item strong { font-size: 20px; }

  .stats-bar.agency-stats-bar .stat-item span { font-size: 9px; }

  .stats-bar.agency-stats-bar .stat-item p { font-size: 10px; line-height: 1.3; }
}

.testimonial-read-more:hover { background: #1267d8; color: #fff; }

.review-modal[hidden] { display: none; }

.review-modal { position: fixed; inset: 0; z-index: 10020; display: grid; place-items: center; padding: 20px; background: rgba(3,15,38,.68); }

.review-modal__dialog { position: relative; width: min(680px,100%); max-height: min(760px,calc(100vh - 40px)); overflow: auto; padding: 34px 38px; border-radius: 14px; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.35); }

.review-modal__close { position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #edf2f8; color: #061944; font-size: 25px; line-height: 1; cursor: pointer; }

.review-modal__stars { margin-bottom: 8px; color: #ffb300; font-size: 22px; letter-spacing: 2px; }

.review-modal h3 { margin: 0; color: #061944; font-size: 22px; }

.review-modal__date { display: block; margin: 3px 0 20px; color: #617087; font-size: 13px; }

.review-modal__text { margin: 0; color: #26364e; font-size: 16px; line-height: 1.65; white-space: pre-line; }

.review-modal-open { overflow: hidden; }

@media(max-width:600px) {
  .review-modal { padding: 10px; }

  .review-modal__dialog { padding: 28px 22px; }

  .review-modal__text { font-size: 14px; }
}

@keyframes compactReviews {
from{transform:translateX(0)}
  to{transform:translateX(-684px)}
}

.intervention-proof { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 18px 22px; border-color: #ffb29a; }

.proof-clock { color: #061944; font-size: 64px; line-height: 1; }

.intervention-proof p { margin: 0; color: #061944; font-size: 16px; font-weight: 800; line-height: 1.15; }

.intervention-proof strong { color: #ff4f24; font-size: 13px; }

.reviews-section { display: none; }

@media(prefers-reduced-motion:reduce) {
  .google-testimonials-track { animation: none; }
}

.footer { padding: 12px 0 0; background: #07101f; color: #fff; }

.footer .footer-grid { display: grid; grid-template-columns: 1.1fr .9fr 1.1fr .9fr .9fr 1.1fr; gap: 18px; align-items: start; }

.footer .footer-brand { order: 1; }

.footer .footer-agencies { order: 2; }

.footer .footer-footnotes { order: 3; align-self: start; display: block; text-align: left; }

.footer .footer-services { order: 4; }

.footer #zones { order: 5; }

.footer .contact-item { order: 6; }

.footer .footer-footnotes > span { display: block; margin-bottom: 6px; color: #fff; font-size: 9px; font-weight: 800; }

.footer .footer-footnotes p { width: 100%; margin: 0 0 5px; color: #eef2f7; font-size: 8px; line-height: 1.3; }

.footer .footer-footnotes p:last-child { margin-bottom: 0; }

.footer .footer-footnotes sup { color: #eef2f7; font-size: 8px; font-weight: 900; }

@media(min-width:701px) {
  .footer .footer-footnotes { transform: translateX(-22px); }
}

.footer .footer-logo { margin: 0 0 5px; color: #fff; font-size: 13px; line-height: 1.05; display: flex; align-items: center; gap: 7px; }

.footer .footer-logo img { display: block; width: 27px; height: 31px; object-fit: contain; flex: 0 0 auto; }

.footer .footer-logo span { display: block; margin: 0; color: #fff; font-size: 13px; font-weight: 950; line-height: 1.05; }

.footer p, .footer li, .footer small { color: #eef2f7; font-size: 8px; line-height: 1.25; }

.footer span { margin: 0 0 4px; color: #fff; font-size: 9px; line-height: 1; }

.footer ul { gap: 2px; }

.footer .contact-item { align-items: stretch; }

.footer .contact-item>a { display: flex; align-items: center; justify-content: center; min-height: 28px; padding: 4px 10px; border-radius: 4px; background: #ff4f24; color: #fff; font-size: 18px; line-height: 1; }

.footer .contact-item small { margin-top: 4px; text-align: center; }

.footer .footer-bottom { margin-top: 10px; padding: 7px 0; border-top: 1px solid rgba(255,255,255,.12); }

.footer .footer-legal-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }

.footer .footer-bottom p { margin: 0; color: #aeb8c6; font-size: 8px; }

.footer .footer-legal-links { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }

.footer .footer-legal-links a { color: #eef2f7; font-size: 8px; text-decoration: none; }

.footer .footer-legal-links a:hover, .footer .footer-legal-links a:focus-visible { color: #ff5b25; text-decoration: underline; }

.footer .footer-cookie-settings { margin: 0; padding: 0; border: 0; background: none; color: #eef2f7; font: inherit; font-size: 8px; cursor: pointer; text-decoration: underline; }

.footer .footer-cookie-settings:hover, .footer .footer-cookie-settings:focus-visible { color: #ff5b25; }

.footer .footer-credit { display: inline; margin: 0; color: #aeb8c6; font-size: 8px; }

.footer .footer-credit a { color: #ff5b25; font-size: 8px; font-weight: 900; }

@media(max-width:700px) {
  .footer .footer-legal-row { justify-content: center; text-align: center; }

  .footer .footer-legal-links { width: 100%; }
}

.cookie-consent[hidden] { display: none; }

.cookie-consent { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: flex-end; justify-content: center; padding: 18px; background: rgba(3,15,38,.48); }

.cookie-consent__panel { width: min(960px,100%); padding: 22px; border: 1px solid #d8e0ea; border-radius: 14px; background: #fff; color: #071a3f; box-shadow: 0 18px 60px rgba(3,15,38,.28); }

.cookie-consent__summary { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; }

.cookie-consent__icon { font-size: 30px; line-height: 1; }

.cookie-consent h2 { margin: 0 0 7px; font-size: 22px; line-height: 1.15; color: #061944; }

.cookie-consent p { margin: 0; color: #35425a; font-size: 14px; line-height: 1.5; }

.cookie-consent a { display: inline-block; margin-top: 7px; color: #075fcf; font-size: 13px; font-weight: 700; }

.cookie-consent__details { margin-top: 18px; border-top: 1px solid #dce3ec; }

.cookie-category { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 4px; border-bottom: 1px solid #dce3ec; }

.cookie-category strong { display: block; margin-bottom: 2px; font-size: 14px; }

.cookie-category p { font-size: 12px; }

.cookie-category__status { flex: none; color: #147a45; font-size: 12px; font-weight: 900; }

.cookie-category input { flex: none; width: 42px; height: 22px; accent-color: #ff4f24; cursor: pointer; }

.cookie-consent__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; flex-wrap: wrap; }

.cookie-btn { min-height: 42px; padding: 10px 18px; border-radius: 7px; font-size: 13px; font-weight: 900; cursor: pointer; }

.cookie-btn--primary { border: 1px solid #ff4f24; background: #ff4f24; color: #fff; }

.cookie-btn--secondary { border: 1px solid #061944; background: #061944; color: #fff; }

.cookie-btn--outline { border: 1px solid #73809a; background: #fff; color: #061944; }

.cookie-btn:focus-visible { outline: 3px solid #78a9ff; outline-offset: 2px; }

@media(max-width:620px) {
  .cookie-consent { padding: 10px; }

  .cookie-consent__panel { padding: 18px; }

  .cookie-consent__summary { grid-template-columns: 1fr; }

  .cookie-consent__icon { display: none; }

  .cookie-consent__actions { display: grid; grid-template-columns: 1fr; }

  .cookie-btn { width: 100%; }

  .cookie-category { align-items: flex-start; }
}

@media(max-width:1120px) {
  .hero-section .hero-grid { grid-template-columns: 44% 56%; }

  .hero-section .hero-card { right: 24px; }

  .hero-section .hero-content h1::after { font-size: 33px; }
}

@media(max-width:900px) {
  .hero-section { padding-top: 22px; }

  .hero-section .hero-grid { grid-template-columns: 1fr; }

  .hero-section .hero-content { padding: 20px 0 32px; }

  .hero-section .hero-visual { min-height: 560px; }

  .hero-section .hero-card { right: auto; width: calc(100% - 32px); margin: -80px auto 0; }

  .hero-section .stats-bar { margin-top: 24px; grid-template-columns: 1fr 1fr; }
}

@media(min-width:901px) {
  .hero-section { padding-top: 0; }

  .hero-section .hero-grid, .hero-section .hero-content, .hero-section .hero-visual { min-height: 536px; }

  .hero-section .hero-content { width: 39%; padding: 18px 20px 20px 0; }

  .hero-section .emergency-badge { padding: 5px 10px; margin-bottom: 14px; font-size: 9px; line-height: 1; }

  .hero-section .hero-content h1 { max-width: 410px; margin-bottom: 17px; font-size: 38px; line-height: 1.04; }

  .hero-section .hero-text { max-width: 400px; margin-bottom: 18px; font-size: 12px; line-height: 1.55; }

  .hero-section .hero-actions { gap: 16px; margin-bottom: 18px; }

  .hero-section .hero-actions .btn { min-width: 174px; min-height: 44px; padding: 10px 14px; font-size: 12px; border-radius: 6px; }

  .hero-section .hero-trust { gap: 12px; margin-top: 0; }

  .hero-section .hero-trust>div { gap: 8px; }

  .hero-section .trust-icon { width: 27px; height: 27px; flex-basis: 27px; }

  .hero-section .hero-trust p { font-size: 9px; line-height: 1.22; }

  .hero-section .hero-visual { left: 26%; }

  .hero-section .hero-card { top: 16px; right: -5px; width: 346px; height: 490px; min-height: 490px; padding: 18px 20px 12px; border-radius: 15px; }

  .hero-section .status-badge { margin-bottom: 10px; font-size: 8px; }

  .hero-section .hero-card h2 { margin-bottom: 10px; font-size: 20px; line-height: 1.08; }

  .hero-section .hero-card>p { margin-bottom: 12px; font-size: 10.5px; line-height: 1.42; }

  .hero-section .phone-large { min-height: 50px; margin-bottom: 7px; font-size: 19px; border-radius: 6px; }

  .hero-section .card-services a { min-height: 44px; grid-template-columns: 22px 1fr 14px; padding: 5px 0; }

  .hero-section .card-services span { width: 19px; height: 19px; background-size: 17px 17px; }

  .hero-section .card-services strong { font-size: 9px; }

  .hero-section .card-services em { font-size: 8px; }

  .hero-section .card-services a:first-child small { font-size: 7px; }

  .hero-section .police-card { min-height: 66px; margin-top: 6px; padding: 6px 9px; }

  .hero-section .police-logo { width: 48px; height: 48px; flex-basis: 48px; }

  .hero-section .police-card p { font-size: 8px; }

  .hero-section .police-card strong { font-size: 10px; }

  .hero-section .stats-bar { margin-top: 0; }
}

@media(min-width:901px) {
  .hero-section .hero-content { padding-bottom: 2px; }

  .hero-section .emergency-badge { margin-bottom: 22px; }

  .hero-section .hero-content h1 { margin-bottom: 35px; }

  .hero-section .hero-text { max-width: 360px; margin-bottom: 42px; font-size: 14px; line-height: 1.5; }

  .hero-section .hero-actions { gap: 18px; margin-bottom: 46px; }

  .hero-section .hero-actions .btn { min-width: 174px; min-height: 46px; }

  .hero-section .hero-trust { display: grid; grid-template-columns: 174px 174px; gap: 18px; width: 366px; }

  .hero-section .hero-trust>div:nth-child(3) { display: none; }

  .hero-section .hero-trust>div:nth-child(2) { transform: none; }

  .hero-section .trust-icon { width: 34px; height: 34px; flex-basis: 34px; }

  .hero-section .hero-trust>div { gap: 11px; }

  .hero-section .hero-trust p { font-size: 11px; line-height: 1.2; }
}

.hero-section .status-badge { animation: none; transform: none; box-shadow: none; }

.hero-section .status-badge span { animation: availabilityBlink 1.15s ease-in-out infinite; transform-origin: center; }

@keyframes availabilityBlink {
0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 3px rgba(34,197,94,.15)}
  50%{opacity:.25;transform:scale(.72);box-shadow:0 0 0 0 rgba(34,197,94,0)}
}

@media(prefers-reduced-motion:reduce) {
  .hero-section .status-badge span { animation: none; }
}

@media(min-width:901px) {
  .site-header .header-inner { width: min(1240px,calc(100% - 40px)); height: 98px; }

  .site-header .header-logo-image { width: 230px; height: 78px; object-fit: contain; }

  .site-header .header-call { flex-basis: 250px; gap: 7px; }

  .site-header .call-button { min-height: 48px; font-size: 20px; }

  .site-header .available { animation: none; font-size: 12px; }

  .site-header .available span { width: 12px; height: 12px; flex: 0 0 12px; animation: availabilityBlink 1.15s ease-in-out infinite; transform-origin: center; }
}

@media(prefers-reduced-motion:reduce) {
  .site-header .available span { animation: none; }
}

@media(min-width:901px) {
  .hero-section .hero-card { top: 16px; right: 50px; width: 342px; height: 498px; min-height: 498px; padding: 16px 18px 10px; border-radius: 14px; }

  .hero-section .status-badge { margin-bottom: 9px; font-size: 8px; }

  .hero-section .hero-card h2 { margin-bottom: 9px; font-size: 20px; }

  .hero-section .hero-card>p { margin-bottom: 11px; font-size: 10.5px; }

  .hero-section .phone-large { min-height: 46px; margin-bottom: 6px; font-size: 18px; }

  .hero-section .card-services a { min-height: 42px; grid-template-columns: 20px 1fr 13px; padding: 3px 0; }

  .hero-section .card-services span { width: 17px; height: 17px; background-size: 16px 16px; }

  .hero-section .card-services strong { font-size: 9.5px; }

  .hero-section .card-services em { font-size: 8.5px; }

  .hero-section .card-services a:first-child small { font-size: 8px; }

  .hero-section .police-card { min-height: 72px; margin-top: 6px; padding: 7px 9px; }

  .hero-section .police-logo { width: 52px; height: 52px; flex-basis: 52px; }
}

.hero-section .police-card p { flex: 1; padding: 0 14px 7px 30px; color: #071944; font-size: 10px; line-height: 1.15; text-align: center; }

.hero-section .police-card strong { color: #071944; font-size: 14px; line-height: 1.05; }

@media(min-width:901px) {
  .hero-section .door-image { background-color: #eef2f3; background-image: url("images/hero-intervention-wide.png"); background-position: 35% center; background-size: cover; background-repeat: no-repeat; filter: none; backdrop-filter: none; }

  .hero-section .door-image::before { content: ""; display: block; position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; width: 32%; background: linear-gradient(90deg,
      #fff 0%,
      rgba(255,255,255,.98) 14%,
      rgba(255,255,255,.88) 32%,
      rgba(255,255,255,.58) 55%,
      rgba(255,255,255,.2) 78%,
      rgba(255,255,255,0) 100%); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; -webkit-mask-image: none; mask-image: none; pointer-events: none; }

  .hero-section .door-image::after { display: none; }
}

.hero-section .hero-card > p { font-size: 14px !important; line-height: 1.5 !important; }

.available { gap: 9px; font-size: 12px; font-weight: 900; }

.available span { width: 11px; height: 11px; box-shadow: 0 0 0 7px rgba(34,197,94,.14); }

.hero-section .status-badge { gap: 10px !important; font-size: 11px !important; font-weight: 950; }

.hero-section .status-badge span { width: 11px !important; height: 11px !important; box-shadow: 0 0 0 5px rgba(36,201,107,.16); }

.hero-section .card-services a:first-child em,
.hero-section .card-services a:first-child small { color: #ff4f24 !important; }

@media(min-width:901px) {
  .hero-section .hero-card { height: auto !important; min-height: 0 !important; padding-bottom: 14px; }

  .hero-section .status-badge { margin-bottom: 16px !important; }
}

@media(min-width:901px) {
  .hero-section .hero-grid, .hero-section .hero-content, .hero-section .hero-visual { min-height: 536px !important; height: 536px; }

  .hero-section .stats-bar { margin-top: 0 !important; }
}

@media(max-width:700px) {
  .payment-methods-section { padding: 0 0 32px; }

  .payment-methods-section .container { width: calc(100% - 24px); }

  .payment-methods-section img { width: 100%; border-radius: 7px; }

  .hero-section .door-image {
    background-color: #eef2f3;
    background-image: url("images/hero-intervention-wide.png");
    background-position: 35% center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: none;
    backdrop-filter: none;
  }

  .agencies-section .coverage-strip {
    width: calc(100% - 24px);
    min-height: 0;
    margin: 18px auto 0;
    padding: 12px 10px;
    flex-direction: row;
    gap: 8px;
    border-radius: 8px;
  }

  .agencies-section .coverage-strip > span {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
  }

  .agencies-section .coverage-strip > div {
    flex: 1 1 auto;
    min-width: 0;
  }

  .agencies-section .coverage-strip strong {
    display: block;
    font-size: 10px;
    line-height: 1.25;
  }

  .agencies-section .coverage-strip p {
    margin-top: 4px;
    font-size: 8px;
    line-height: 1.3;
  }

  .services-section .services-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 16px;
  }

  .services-section .services-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 12px;
  }

  .services-section .service-card {
    width: 100%;
    min-height: 0;
    padding: 20px 18px;
  }

  .services-section .urgent-box {
    width: 100%;
    min-height: 0;
    padding: 20px 18px;
  }

  .services-bottom-row {
    grid-template-columns: minmax(0,1fr);
    gap: 14px;
  }

  .google-testimonials.hero-testimonials {
    width: calc(100% - 24px);
    margin: 16px auto 22px;
    padding: 12px 10px 14px;
  }

  .google-testimonials.hero-testimonials .google-testimonial {
    flex-basis: 230px;
    height: 170px;
  }

  .stats-bar.agency-stats-bar {
    width: calc(100% - 24px);
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0;
    margin: 18px auto 18px;
    padding: 18px 16px;
    border-radius: 10px;
  }

  .stats-bar.agency-stats-bar .stat-item {
    min-width: 0;
    padding: 14px 10px;
    border-right: 1px solid rgba(255,255,255,.16);
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .stats-bar.agency-stats-bar .stat-item:nth-child(2n) {
    border-right: 0;
  }

  .stats-bar.agency-stats-bar .stat-item:nth-child(n+3) {
    border-bottom: 0;
  }

  .why-choose-box,
  .intervention-proof {
    min-height: 0;
    padding: 22px 18px;
  }

  .why-choose-box ul {
    width: 100%;
  }

  .why-choose-box li {
    font-size: 12px;
  }

  .intervention-proof {
    justify-content: flex-start;
  }

  .proof-clock {
    flex: 0 0 auto;
    font-size: 52px;
  }

  .intervention-proof p {
    font-size: 15px;
  }

  .footer .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px 18px;
  }

  .footer .footer-brand,
  .footer .contact-item {
    grid-column: 1 / -1;
  }

  .footer .footer-footnotes {
    grid-column: 1 / -1;
    order: 5;
  }

  .footer .footer-services { order: 3; }

  .footer #zones { order: 4; }

  .footer .contact-item { order: 6; }

  .footer .footer-footnotes p,
  .footer .footer-footnotes sup {
    font-size: 9px;
  }

  .footer p,
  .footer li,
  .footer small {
    font-size: 11px;
    line-height: 1.4;
  }

  .footer span {
    font-size: 12px;
  }

  .footer .contact-item > a {
    width: 100%;
    max-width: 280px;
    min-height: 44px;
    font-size: 20px;
  }

  .footer .footer-legal-row {
    gap: 14px;
  }

  .footer .footer-legal-links {
    gap: 10px 14px;
  }

  .footer .footer-legal-links a,
  .footer .footer-cookie-settings,
  .footer .footer-credit,
  .footer .footer-credit a,
  .footer .footer-bottom p {
    font-size: 10px;
  }
}

.card-services a:first-child strong em{
    display: block;
    margin-top: 3px;
    color: #ff5b16;
    font-weight: 900;
    font-size: 11px;
    font-style: normal;
}
