:root {
      --clr-accent: #e85d04;
      --clr-accent-dark: #c44d02;
      --clr-dark: #1a1a2e;
      --clr-grey: #6b7280;
      --clr-light: #f9fafb;
      --clr-border: #e5e7eb;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Segoe UI', Arial, sans-serif;
      color: #1f2937;
      background: #fff;
      line-height: 1.6;
    }

    img { max-width: 100%; height: auto; display: block; }

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

    /* ── HEADER ── */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: var(--clr-dark);
      box-shadow: 0 2px 8px rgba(0,0,0,.3);
    }

    .site-header__inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1.25rem;
      height: 64px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .site-header__logo {
      display: flex;
      align-items: center;
      gap: .6rem;
      color: #fff;
      font-weight: 700;
      font-size: 1.1rem;
    }

    .site-header__logo img {
      width: 40px;
      height: 40px;
      border-radius: 8px;
      object-fit: contain;
    }

    .site-header__nav { display: flex; align-items: center; gap: 1.5rem; }

    .site-header__nav a {
      color: #cbd5e1;
      font-size: .93rem;
      transition: color .2s;
    }

    .site-header__nav a:hover { color: #fff; }

    .site-header__cta {
      background: var(--clr-accent);
      color: #fff !important;
      padding: .45rem 1.1rem;
      border-radius: 6px;
      font-weight: 600;
      transition: background .2s;
    }

    .site-header__cta:hover { background: var(--clr-accent-dark) !important; }

    /* ── HERO ── */
    .evacuation__hero {
      background: linear-gradient(135deg, var(--clr-dark) 0%, #2d2d44 100%);
      color: #fff;
      padding: 5rem 1.25rem 4rem;
      text-align: center;
    }

    .evacuation__hero-breadcrumb {
      font-size: .82rem;
      color: #94a3b8;
      margin-bottom: 1.2rem;
    }

    .evacuation__hero-breadcrumb a { color: #94a3b8; }
    .evacuation__hero-breadcrumb a:hover { color: #fff; }
    .evacuation__hero-breadcrumb span { color: var(--clr-accent); }

    .evacuation__hero h1 {
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 800;
      line-height: 1.2;
      margin-bottom: 1.25rem;
    }

    .evacuation__hero h1 em {
      font-style: normal;
      color: var(--clr-accent);
    }

    .evacuation__hero-intro {
      max-width: 720px;
      margin: 0 auto 2rem;
      font-size: 1.08rem;
      color: #cbd5e1;
      line-height: 1.7;
    }

    .evacuation__hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: .9rem;
      justify-content: center;
    }

    .btn-primary {
      background: var(--clr-accent);
      color: #fff;
      padding: .75rem 1.8rem;
      border-radius: 8px;
      font-weight: 700;
      font-size: 1rem;
      transition: background .2s, transform .15s;
      display: inline-flex;
      align-items: center;
      gap: .5rem;
    }

    .btn-primary:hover { background: var(--clr-accent-dark); transform: translateY(-2px); }

    .btn-secondary {
      background: transparent;
      color: #fff;
      border: 2px solid rgba(255,255,255,.4);
      padding: .75rem 1.8rem;
      border-radius: 8px;
      font-weight: 600;
      font-size: 1rem;
      transition: border-color .2s, background .2s;
      display: inline-flex;
      align-items: center;
      gap: .5rem;
    }

    .btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,.08); }

    /* ── SECTIONS ── */
    .section { padding: 4.5rem 1.25rem; }
    .section--light { background: var(--clr-light); }

    .section__inner { max-width: 1200px; margin: 0 auto; }

    .section__header { text-align: center; margin-bottom: 3rem; }

    .section__tag {
      display: inline-block;
      background: rgba(232,93,4,.12);
      color: var(--clr-accent);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: .3rem .9rem;
      border-radius: 20px;
      margin-bottom: .8rem;
    }

    .section__title {
      font-size: clamp(1.5rem, 3vw, 2.1rem);
      font-weight: 800;
      color: var(--clr-dark);
      margin-bottom: .6rem;
    }

    .section__subtitle {
      color: var(--clr-grey);
      font-size: 1rem;
      max-width: 640px;
      margin: 0 auto;
    }

    /* ── PRESTATIONS ── */
    .evacuation__prestations-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.5rem;
    }

    .evacuation__prestation-card {
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
      padding: 1.75rem;
      transition: box-shadow .2s, transform .2s;
    }

    .evacuation__prestation-card:hover {
      box-shadow: 0 8px 24px rgba(0,0,0,.09);
      transform: translateY(-3px);
    }

    .evacuation__prestation-icon {
      font-size: 2rem;
      margin-bottom: .9rem;
    }

    .evacuation__prestation-card h3 {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--clr-dark);
      margin-bottom: .5rem;
    }

    .evacuation__prestation-card p {
      font-size: .92rem;
      color: var(--clr-grey);
      line-height: 1.6;
    }

    /* ── VILLES ── */
    .evacuation__villes-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1.25rem;
    }

    .evacuation__ville-card {
      background: #fff;
      border: 2px solid var(--clr-border);
      border-radius: 12px;
      padding: 1.5rem 1.25rem;
      text-align: center;
      transition: border-color .2s, box-shadow .2s, transform .2s;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .6rem;
    }

    .evacuation__ville-card:hover {
      border-color: var(--clr-accent);
      box-shadow: 0 6px 20px rgba(232,93,4,.12);
      transform: translateY(-3px);
    }

    .evacuation__ville-icon {
      font-size: 1.8rem;
    }

    .evacuation__ville-card h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--clr-dark);
    }

    .evacuation__ville-card p {
      font-size: .82rem;
      color: var(--clr-grey);
    }

    .evacuation__ville-link {
      margin-top: .4rem;
      font-size: .83rem;
      font-weight: 600;
      color: var(--clr-accent);
      display: inline-flex;
      align-items: center;
      gap: .3rem;
    }

    /* ── POURQUOI ── */
    .evacuation__pourquoi-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.5rem;
    }

    .evacuation__pourquoi-card {
      background: #fff;
      border-radius: 12px;
      padding: 1.75rem;
      box-shadow: 0 2px 12px rgba(0,0,0,.06);
      display: flex;
      flex-direction: column;
      gap: .75rem;
    }

    .evacuation__pourquoi-num {
      width: 44px;
      height: 44px;
      background: var(--clr-accent);
      color: #fff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      font-size: 1.1rem;
      flex-shrink: 0;
    }

    .evacuation__pourquoi-card h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--clr-dark);
    }

    .evacuation__pourquoi-card p {
      font-size: .9rem;
      color: var(--clr-grey);
      line-height: 1.6;
    }

    /* ── FAQ ── */
    .evacuation__faq-list {
      max-width: 780px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: .75rem;
    }

    .evacuation__faq-item {
      border: 1px solid var(--clr-border);
      border-radius: 10px;
      overflow: hidden;
    }

    .evacuation__faq-question {
      width: 100%;
      background: #fff;
      border: none;
      padding: 1.1rem 1.25rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      font-size: .97rem;
      font-weight: 600;
      color: var(--clr-dark);
      cursor: pointer;
      text-align: left;
      transition: background .15s;
    }

    .evacuation__faq-question:hover { background: var(--clr-light); }

    .evacuation__faq-chevron {
      flex-shrink: 0;
      transition: transform .25s;
      color: var(--clr-accent);
      font-size: 1.1rem;
    }

    .evacuation__faq-item.is-open .evacuation__faq-chevron { transform: rotate(180deg); }

    .evacuation__faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height .3s ease;
    }

    .evacuation__faq-answer-inner {
      padding: 0 1.25rem 1.1rem;
      font-size: .93rem;
      color: var(--clr-grey);
      line-height: 1.7;
    }

    /* ── AUTRES SERVICES ── */
    .evacuation__autres-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.25rem;
    }

    .evacuation__autre-card {
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
      padding: 1.5rem;
      display: flex;
      flex-direction: column;
      gap: .6rem;
      transition: box-shadow .2s, transform .2s;
    }

    .evacuation__autre-card:hover {
      box-shadow: 0 6px 20px rgba(0,0,0,.09);
      transform: translateY(-3px);
    }

    .evacuation__autre-icon { font-size: 1.8rem; }

    .evacuation__autre-card h3 {
      font-size: .97rem;
      font-weight: 700;
      color: var(--clr-dark);
    }

    .evacuation__autre-card p {
      font-size: .85rem;
      color: var(--clr-grey);
      flex: 1;
    }

    .evacuation__autre-link {
      font-size: .83rem;
      font-weight: 600;
      color: var(--clr-accent);
      display: inline-flex;
      align-items: center;
      gap: .3rem;
      margin-top: .3rem;
    }

    /* ── CTA BAND ── */
    .evacuation__cta-band {
      background: linear-gradient(135deg, var(--clr-accent) 0%, var(--clr-accent-dark) 100%);
      color: #fff;
      padding: 4rem 1.25rem;
      text-align: center;
    }

    .evacuation__cta-band h2 {
      font-size: clamp(1.4rem, 3vw, 2rem);
      font-weight: 800;
      margin-bottom: .75rem;
    }

    .evacuation__cta-band p {
      font-size: 1rem;
      margin-bottom: 2rem;
      opacity: .92;
    }

    .evacuation__cta-band-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      justify-content: center;
    }

    .btn-white {
      background: #fff;
      color: var(--clr-accent);
      padding: .75rem 1.8rem;
      border-radius: 8px;
      font-weight: 700;
      font-size: 1rem;
      transition: background .2s, transform .15s;
      display: inline-flex;
      align-items: center;
      gap: .5rem;
    }

    .btn-white:hover { background: #f1f5f9; transform: translateY(-2px); }

    .btn-outline-white {
      background: transparent;
      color: #fff;
      border: 2px solid rgba(255,255,255,.6);
      padding: .75rem 1.8rem;
      border-radius: 8px;
      font-weight: 600;
      font-size: 1rem;
      transition: border-color .2s, background .2s;
      display: inline-flex;
      align-items: center;
      gap: .5rem;
    }

    .btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,.1); }

    /* ── FOOTER ── */
    .site-footer {
      background: var(--clr-dark);
      color: #94a3b8;
      font-size: .88rem;
    }

    .site-footer__inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 3.5rem 1.25rem 2rem;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 2.5rem;
    }

    .site-footer__brand { display: flex; flex-direction: column; gap: .75rem; }

    .site-footer__logo {
      display: flex;
      align-items: center;
      gap: .6rem;
      color: #fff;
      font-weight: 700;
    }

    .site-footer__logo img {
      width: 36px;
      height: 36px;
      border-radius: 6px;
      object-fit: contain;
    }

    .site-footer__col h4 {
      color: #fff;
      font-size: .9rem;
      font-weight: 700;
      margin-bottom: 1rem;
    }

    .site-footer__col ul { list-style: none; display: flex; flex-direction: column; gap: .5rem; }

    .site-footer__col ul li a { color: #94a3b8; transition: color .2s; }
    .site-footer__col ul li a:hover { color: #fff; }

    .site-footer__bottom {
      max-width: 1200px;
      margin: 0 auto;
      padding: 1.25rem 1.25rem;
      border-top: 1px solid rgba(255,255,255,.08);
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
      justify-content: space-between;
      align-items: center;
      font-size: .82rem;
    }

    .site-footer__bottom a { color: #94a3b8; }
    .site-footer__bottom a:hover { color: #fff; }

    /* ── FLOATING CTA (mobile) ── */
    .floating-cta {
      display: none;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 200;
      background: var(--clr-dark);
      padding: .75rem 1rem;
      gap: .6rem;
    }

    .floating-cta a {
      flex: 1;
      text-align: center;
      padding: .65rem .5rem;
      border-radius: 8px;
      font-weight: 700;
      font-size: .9rem;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .4rem;
    }

    .floating-cta__call { background: var(--clr-accent); color: #fff; }
    .floating-cta__wa { background: #25d366; color: #fff; }

    /* ── MODAL ── */
    .modal-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,.6);
      z-index: 300;
      align-items: center;
      justify-content: center;
      padding: 1rem;
    }

    .modal-overlay.is-open { display: flex; }

    .modal-box {
      background: #fff;
      border-radius: 14px;
      max-width: 640px;
      width: 100%;
      max-height: 85vh;
      overflow-y: auto;
      padding: 2rem;
      position: relative;
    }

    .modal-box h2 { font-size: 1.2rem; margin-bottom: 1rem; color: var(--clr-dark); }
    .modal-box p, .modal-box li { font-size: .88rem; color: #374151; line-height: 1.7; margin-bottom: .5rem; }
    .modal-box ul { padding-left: 1.2rem; }

    .modal-close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      background: none;
      border: none;
      font-size: 1.4rem;
      cursor: pointer;
      color: var(--clr-grey);
      line-height: 1;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 768px) {
      .site-header__nav { display: none; }
      .floating-cta { display: flex; }
      body { padding-bottom: 70px; }
      .evacuation__hero { padding: 3.5rem 1rem 3rem; }
    }