/* =========================================================================
   TRACK NUISIBLES — Design System
   Brand: deep ink + orange→red gradient + metallic silver
   Fonts: Archivo (display/UI) · Manrope (body)
   ========================================================================= */

:root{
  /* Ink / dark surfaces */
  --ink:#0B0D11;
  --ink-2:#11141A;
  --ink-3:#181C24;
  --ink-4:#222733;

  /* Light surfaces */
  --paper:#FFFFFF;
  --paper-soft:#F5F6F8;
  --paper-soft-2:#EEF0F3;

  /* Brand gradient */
  --brand-1:#FF8A1E;
  --brand-2:#FF4D2E;
  --brand-3:#E0102A;
  --brand:linear-gradient(135deg,var(--brand-1) 0%,var(--brand-2) 52%,var(--brand-3) 100%);
  --brand-soft:linear-gradient(135deg,rgba(255,138,30,.16),rgba(224,16,42,.16));
  --brand-ink:#FF5A2A;          /* vivid brand color — icônes, accents décoratifs */
  --brand-ink-text:#D6420F;     /* orange foncé pour le TEXTE sur fond clair (WCAG AA 4.5:1) */

  /* Metallic silver */
  --silver-1:#EDEFF2;
  --silver-2:#B9BFC9;
  --silver-3:#828A96;

  /* Text */
  --t-on-dark-hi:#F4F6F9;
  --t-on-dark:#AEB6C2;
  --t-on-dark-dim:#7B8492;
  --t-hi:#0E1116;
  --t:#3C4350;
  --t-dim:#666E7C;

  /* Lines */
  --line-dark:rgba(255,255,255,.09);
  --line-light:#E5E8EC;

  /* Feedback */
  --green:#15A24A;
  --gold:#FFB200;

  /* Radii / shadow */
  --r-sm:10px;
  --r:16px;
  --r-lg:24px;
  --r-pill:999px;
  --sh-1:0 1px 2px rgba(10,15,25,.06),0 4px 14px rgba(10,15,25,.06);
  --sh-2:0 10px 30px rgba(10,15,25,.10),0 2px 8px rgba(10,15,25,.06);
  --sh-brand:0 14px 34px rgba(224,16,42,.28);

  --wrap:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);

  --header-h:86px;

  font-family:"Ampersand","Manrope","Manrope Fallback",system-ui,sans-serif;
}

/* Esperluette « & » : police Arial appliquée au SEUL caractère & (U+0026).
   Le reste du texte conserve Manrope / Archivo. Police système locale
   (aucune requête réseau supplémentaire). */
@font-face{
  font-family:"Ampersand";
  src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Liberation Sans");
  unicode-range:U+0026;
}

/* Polices de repli à métriques ajustées : la police système locale occupe la place
   exacte d'Archivo/Manrope (size-adjust + ascent/descent-override). L'échange de police
   ne déplace donc plus rien → CLS ≈ 0. Overrides verticaux absolus = ligne figée sur
   toutes les plateformes ; plusieurs local() pour couvrir Arial/Helvetica/Roboto/etc. */
@font-face{
  font-family:"Archivo Fallback";
  src:local("Arial"),local("Helvetica Neue"),local("Roboto"),local("Segoe UI"),local("Liberation Sans");
  size-adjust:110.72%;ascent-override:79.30%;descent-override:18.97%;line-gap-override:0%;
}
@font-face{
  font-family:"Manrope Fallback";
  src:local("Arial"),local("Helvetica Neue"),local("Roboto"),local("Segoe UI"),local("Liberation Sans");
  size-adjust:104.43%;ascent-override:102.08%;descent-override:28.73%;line-gap-override:0%;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;
  background:var(--paper);
  color:var(--t);
  font-size:17px;
  line-height:1.65;
  font-weight:450;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
ul{margin:0;padding:0;list-style:none}

h1,h2,h3,h4,.display{
  font-family:"Ampersand","Archivo","Archivo Fallback",system-ui,sans-serif;
  color:var(--t-hi);
  line-height:1.05;
  letter-spacing:-.02em;
  font-weight:800;
  margin:0;
}
h1{font-size:clamp(2.05rem,5.2vw,3.7rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.7rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
p{margin:0 0 1rem}
br.mbr{display:none}

.wrap{width:min(100% - 2.4rem,var(--wrap));margin-inline:auto}
.section{padding:clamp(3.6rem,7vw,6.5rem) 0}
.section--tight{padding:clamp(2.6rem,5vw,4rem) 0}
.section--soft{background:var(--paper-soft)}
.section--dark{background:var(--ink);color:var(--t-on-dark)}
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--t-on-dark-hi)}

/* ---------- Eyebrow / section heads ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--brand-ink-text);
  margin:0 0 1rem;
}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--brand)}
.section--dark .eyebrow{color:#FF8A4D}
.sec-head{max-width:760px;margin-bottom:clamp(2rem,4vw,3.2rem)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head p{font-size:1.08rem;color:var(--t-dim);margin-top:1rem}
.section--dark .sec-head p{color:var(--t-on-dark)}

.lead{font-size:1.12rem;color:var(--t-dim);max-width:62ch}
.section--dark .lead{color:var(--t-on-dark)}

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--brand);
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:.97rem;
  letter-spacing:.01em;line-height:1;
  padding:1rem 1.5rem;border-radius:var(--r-pill);
  border:1px solid transparent;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s,border-color .25s;
  white-space:nowrap;
}
.btn svg{width:1.05em;height:1.05em}
.btn-primary{background-image:var(--brand);color:#fff;box-shadow:var(--sh-brand)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(224,16,42,.4)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-2px);background:var(--ink-3)}
.btn-light{background:#fff;color:var(--t-hi);border-color:var(--line-light);box-shadow:var(--sh-1)}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.btn-ghost{background:transparent;color:var(--t-hi);border-color:var(--line-light)}
.section--dark .btn-ghost{color:#fff;border-color:rgba(255,255,255,.22)}
.btn-ghost:hover{border-color:var(--brand-ink);color:var(--brand-ink-text)}
.section--dark .btn-ghost:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.06)}
.btn-sm{padding:.66rem 1.05rem;font-size:.85rem}
.btn-lg{padding:1.15rem 1.9rem;font-size:1.05rem}
.btn-block{width:100%}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none}
/* Boutons « Appeler » : dégradé orange + texte blanc, sur toutes les pages */
[data-call-choice]{cursor:pointer;background-image:var(--brand)!important;color:#fff!important;border-color:transparent!important;box-shadow:var(--sh-brand)}
[data-call-choice]:hover{background-image:var(--brand)!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 20px 44px rgba(224,16,42,.4)}
[data-call-choice] svg{color:#fff!important}
/* Bouton WhatsApp « Envoyez vos photos » */
.btn-wa{background:#148246;color:#fff;box-shadow:0 10px 24px rgba(20,130,70,.32)}
.btn-wa:hover{background:#178f4d;color:#fff;transform:translateY(-2px);box-shadow:0 16px 34px rgba(20,130,70,.45)}
.btn-wa svg{width:1.15em;height:1.15em}

.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}

/* ---------- Top bar (urgence + agences) ---------- */
.topbar{background:var(--ink);color:#fff;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:18px;flex-wrap:wrap}
.tb-status{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600}
.tb-dot{width:7px;height:7px;border-radius:50%;background:#36d27a;box-shadow:0 0 0 4px rgba(54,210,122,.22)}
.tb-agences{display:flex;gap:18px;flex-wrap:wrap}
.tb-agences a{display:inline-flex;align-items:center;gap:6px;color:#cfcfd6;font-weight:500;white-space:nowrap}
.tb-agences a:hover{color:var(--brand-ink)}
.tb-agences a svg{width:14px;height:14px;color:#FF8A4D}

/* ---------- Header (clair) ---------- */
.site-header{position:sticky;top:0;z-index:80;background:rgba(252,250,247,.92);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line-light);transition:background .3s,box-shadow .3s}
.site-header.scrolled{background:rgba(252,250,247,.97);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.nav{height:var(--header-h);display:flex;align-items:center;gap:.9rem}
.brand{display:flex;align-items:center;gap:.7rem;flex-shrink:0}
.brand img{height:50px;width:auto}
.brand .brand-tag{display:none}
.nav-links{display:flex;align-items:center;gap:.1rem;margin-left:auto}
/* items = trait orange animé sous le libellé */
.nav-links > li:not(.nav-cta) > a,.nav-links > li > button{
  display:inline-flex;align-items:center;gap:.22rem;position:relative;white-space:nowrap;
  font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:600;font-size:.9rem;
  color:var(--t-hi);background:none;border:0;cursor:pointer;
  padding:.55rem .5rem;border-radius:8px;transition:color .2s;
}
.nav-links > li:not(.nav-cta) > a::after,.nav-links > li > button::after{
  content:"";position:absolute;left:.75rem;right:.75rem;bottom:.32rem;height:2px;border-radius:2px;
  background-image:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);
}
.nav-links > li:not(.nav-cta) > a:hover,.nav-links > li > button:hover{color:var(--brand-ink-text)}
.nav-links > li:not(.nav-cta) > a:hover::after,.nav-links > li > button:hover::after,
.nav-links > li.active > a::after,.nav-links > li.active > button::after{transform:scaleX(1)}
/* page active */
.nav-links > li.active > a,.nav-links > li.active > button{color:var(--brand-ink-text)}
.nav-links > li.active > a > svg,.nav-links > li.active > button > svg{color:var(--brand-ink-text)}
/* chevron des items à sous-menu : discret, pointe vers le bas, pivote à l'ouverture */
.nav-links > li > a > svg,.nav-links > li > button > svg{
  width:.74em;height:.74em;color:var(--t-dim);
  transform:rotate(90deg);transition:transform .2s var(--ease),color .2s;
}
.has-menu:hover > a > svg,.has-menu:hover > button > svg,
.has-menu:focus-within > a > svg,.has-menu:focus-within > button > svg{
  transform:rotate(-90deg);color:var(--brand-ink-text);
}
.nav-cta{margin-left:.5rem}
.nav-phone{display:inline-flex;align-items:center;gap:.5rem;color:#fff !important;font-weight:700}
.nav-phone .nph{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif}

/* boutons d'appel par agence (utilisés dans le menu mobile) */
.nav-agencies{display:flex;align-items:center;gap:.4rem;margin-left:.6rem}
.ag-btn{
  display:inline-flex;align-items:center;gap:.5rem;line-height:1;
  padding:.32rem .55rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.045);
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.ag-btn:hover{
  background:rgba(255,138,77,.12);border-color:rgba(255,138,77,.55);
  transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.28);
}
.ag-btn .ag-ic{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--brand-soft);color:#FF8A4D}
.ag-btn .ag-ic svg{width:16px;height:16px}
.ag-btn .ag-tx{display:flex;flex-direction:column;gap:1px;white-space:nowrap}
.ag-btn .ag-tx b{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:.7rem;font-weight:700;color:#fff;letter-spacing:.03em;text-transform:uppercase}
.ag-btn .ag-tx span{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:.84rem;font-weight:600;color:var(--t-on-dark-hi)}

/* dropdown */
.has-menu{position:relative}
.dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(0);
  background:#fff;border:1px solid var(--line-light);border-radius:var(--r);
  padding:.7rem;min-width:320px;box-shadow:0 24px 50px rgba(0,0,0,.14);
  opacity:0;visibility:hidden;transition:.22s var(--ease);
}
.has-menu:hover .dropdown,.has-menu:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown--wide{min-width:600px;display:grid;grid-template-columns:1fr 1fr;gap:.15rem}
@media (max-width:1100px){.dropdown--wide{min-width:480px}}
.dropdown a{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .8rem;border-radius:12px;color:var(--t)}
.dropdown a:hover{background:var(--paper-soft);color:var(--t-hi)}
.dropdown a .di{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--brand-soft);color:#FF8A4D}
.dropdown a .di svg{width:18px;height:18px}
.dropdown a strong{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:.92rem;color:var(--t-hi);font-weight:600}
.dropdown a span{font-size:.8rem;color:var(--t-dim);line-height:1.4}

.burger{display:none;width:46px;height:46px;border:1px solid var(--line-light);background:#fff;border-radius:12px;cursor:pointer;color:var(--t-hi);align-items:center;justify-content:center}
.burger svg{width:22px;height:22px}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:90;display:none}
.drawer.open{display:block}
.drawer-bg{position:absolute;inset:0;background:rgba(5,7,10,.6);backdrop-filter:blur(3px)}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(86vw,360px);background:var(--ink-2);border-left:1px solid var(--line-dark);padding:1.2rem;overflow-y:auto;transform:translateX(100%);transition:transform .3s var(--ease)}
.drawer.open .drawer-panel{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem}
.drawer-head img{height:38px;width:auto}
.drawer-close{width:42px;height:42px;border-radius:10px;border:1px solid var(--line-dark);background:none;color:#fff;cursor:pointer}
.drawer a{display:block;padding:.85rem .4rem;color:var(--t-on-dark-hi);font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:600;border-bottom:1px solid var(--line-dark)}
.drawer a.sub{padding-left:1.4rem;font-weight:500;color:var(--t-on-dark);font-size:.92rem}
.drawer .drawer-cta{margin-top:1.3rem}
.drawer-agencies-title{margin:1.4rem 0 .6rem;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--t-on-dark-dim)}
.drawer-agencies{display:grid;gap:.55rem}
.drawer-agencies .ag-btn{display:flex;padding:.6rem .7rem;border:1px solid rgba(255,255,255,.14)}
.drawer-agencies .ag-btn .ag-tx b{font-size:.72rem}
.drawer-agencies .ag-btn .ag-tx span{font-size:.95rem}

/* ---------- Modale « Quelle agence appeler ? » ---------- */
.call-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:1.2rem}
.call-modal.open{display:flex}
.call-modal-bg{position:absolute;inset:0;background:rgba(5,7,10,.62);backdrop-filter:blur(3px)}
.call-modal-panel{position:relative;width:min(94vw,420px);background:#fff;border-radius:var(--r-lg);padding:1.7rem 1.5rem 1.5rem;box-shadow:0 40px 90px rgba(0,0,0,.45);animation:cmIn .25s var(--ease)}
@keyframes cmIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.call-modal-close{position:absolute;top:.8rem;right:.8rem;width:38px;height:38px;border-radius:10px;border:1px solid var(--line-light);background:#fff;color:var(--t-hi);cursor:pointer;display:grid;place-items:center}
.call-modal-close:hover{background:var(--paper-soft)}
.call-modal-panel h3{font-size:1.2rem;color:var(--t-hi);margin:0 1.8rem .3rem 0;line-height:1.25}
.call-modal-panel > p{color:var(--t-dim);font-size:.92rem;margin:0 0 1.2rem}
.call-list{display:grid;gap:.6rem}
.call-list a{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border:1px solid var(--line-light);border-radius:14px;background:var(--paper-soft);transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.call-list a:hover{border-color:var(--brand-2);background:#fff;transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.1)}
.call-list .cm-ic{width:42px;height:42px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--brand);color:#fff}
.call-list .cm-ic svg{width:20px;height:20px}
.call-list .cm-tx{display:flex;flex-direction:column;gap:2px;line-height:1.1}
.call-list .cm-tx b{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1rem;color:var(--t-hi)}
.call-list .cm-tx span{font-size:.95rem;color:var(--t-dim);font-weight:600}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--ink);color:var(--t-on-dark);overflow:hidden;padding:clamp(3rem,7vw,6rem) 0 clamp(3.4rem,7vw,5.5rem)}
.hero::before{/* grid */
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(120% 90% at 70% 0%,#000 30%,transparent 75%);
}
.hero::after{/* glow */
  content:"";position:absolute;top:-18%;right:-8%;width:60vw;height:60vw;max-width:760px;max-height:760px;
  background:radial-gradient(circle at center,rgba(255,77,46,.5),rgba(255,138,30,.16) 38%,transparent 66%);
  filter:blur(8px);pointer-events:none;
}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,3.4rem);align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);padding:.5rem .9rem .5rem .6rem;border-radius:var(--r-pill);font-size:.82rem;font-weight:600;color:var(--t-on-dark-hi);margin-bottom:1.4rem}
.hero-badge .dot{width:9px;height:9px;border-radius:50%;background:#36d27a;box-shadow:0 0 0 4px rgba(54,210,122,.18)}
.hero h1{color:#fff;margin-bottom:1.2rem}
.hero h1 .grad{background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:1.16rem;color:var(--t-on-dark);max-width:54ch;margin-bottom:1.8rem}
.hero-points{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin:1.6rem 0 0}
.hero-points li{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--t-on-dark-hi);font-weight:600}
.hero-points svg{width:18px;height:18px;color:#36d27a;flex:none}

/* hero card */
.hero-card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:1.6rem;backdrop-filter:blur(6px);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.hero-card h3{color:#fff;font-size:1.15rem;margin-bottom:.3rem}
.hero-card .hc-sub{font-size:.88rem;color:var(--t-on-dark-dim);margin-bottom:1.1rem}
.hc-stats{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.2rem}
.hc-stat{background:rgba(0,0,0,.25);border:1px solid var(--line-dark);border-radius:14px;padding:.9rem}
.hc-stat b{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.5rem;color:#fff;line-height:1}
.hc-stat span{font-size:.76rem;color:var(--t-on-dark-dim)}
.hc-stars{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--t-on-dark-hi)}
.stars{display:inline-flex;gap:1px;color:var(--gold)}
.stars svg{width:16px;height:16px}

/* ---------- Home hero — variante formulaire d'urgence ---------- */
.hero-identify{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.4rem;color:#fff;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:600;font-size:.95rem;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-pill);padding:.6rem 1.1rem;transition:border-color .2s,background .2s}
.hero-identify:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.hero-identify svg{width:18px;height:18px;color:#FF8A4D;flex:none}
/* Bannière identification (accueil) */
.id-banner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;background:var(--brand);border-radius:var(--r-lg);padding:1.6rem 2rem;box-shadow:var(--sh-brand)}
.id-banner-txt{display:flex;align-items:center;gap:1.1rem}
.id-banner .id-ic{width:54px;height:54px;flex:none;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.2);color:#fff}
.id-banner .id-ic svg{width:28px;height:28px}
.id-banner b{display:block;color:#fff;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.2rem}
.id-banner p{margin:.25rem 0 0;color:rgba(255,255,255,.92);font-size:.95rem}
.hero-stats{display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem;margin-top:2.4rem}
.hero-stats .hs b{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;font-size:1.7rem;color:#fff;line-height:1;margin-bottom:.25rem}
.hero-stats .hs span{font-size:.84rem;color:#fff}
.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.22)}
.hero .btn-ghost:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.06)}
.hero-form-card{position:relative;align-self:start}
.hero-form-card .pulse{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:#0c7a36;background:rgba(21,162,74,.1);border:1px solid rgba(21,162,74,.25);padding:.34rem .75rem;border-radius:var(--r-pill);margin-bottom:1rem}
.hero-form-card .pulse i{width:8px;height:8px;border-radius:50%;background:#15a24a;animation:pulseDot 1.8s infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(21,162,74,.45)}70%{box-shadow:0 0 0 8px rgba(21,162,74,0)}100%{box-shadow:0 0 0 0 rgba(21,162,74,0)}}
.hero-form-card .hf-title{color:var(--t-hi);font-size:1.55rem;margin:0}
.hero-form-card .hf-sub{color:var(--t-dim);margin:.25rem 0 1.25rem}
.hero-form-card .field{margin-bottom:.85rem}
.hero-form-card .hf-note{display:block;text-align:center;font-size:.8rem;color:var(--t-dim);margin-top:.75rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* ---------- Trust bar ---------- */
.trustbar{background:var(--ink-2);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.trustbar .wrap{display:flex;align-items:center;gap:1.6rem 2.6rem;flex-wrap:wrap;justify-content:center;padding:1.4rem 1.2rem}
.trustbar .tb-label{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t-on-dark-dim)}
.trustbar img{height:46px;width:auto;opacity:.86;filter:grayscale(.2);transition:.3s}
.trustbar img:hover{opacity:1;filter:none;transform:translateY(-2px)}
.trustbar img.bv{background:#000;border-radius:8px;padding:5px}

/* ---------- Cards grid ---------- */
.grid{display:grid;gap:1.4rem}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}

.card{background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:1.7rem;box-shadow:var(--sh-1);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:#fff}
.card .ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);margin-bottom:1.1rem}
.card .ic svg{width:27px;height:27px}
.card h3{margin-bottom:.55rem}
.card p{font-size:.97rem;color:var(--t-dim);margin-bottom:1rem}
.card .more{display:inline-flex;align-items:center;gap:.4rem;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:.9rem;color:var(--brand-ink-text)}
.card .more svg{width:16px;height:16px;transition:transform .25s}
.card:hover .more svg{transform:translateX(4px)}
.card.is-link::after{content:"";position:absolute;inset:0}
.card-top-accent::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.card-top-accent:hover::before{transform:scaleX(1)}

/* dark variant */
.section--dark .card{background:var(--ink-2);border-color:var(--line-dark)}
.section--dark .card:hover{border-color:rgba(255,255,255,.2)}
.section--dark .card h3{color:#fff}
.section--dark .card p{color:var(--t-on-dark)}

/* ---------- Method cards (treatments) ---------- */
.method{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:1.6rem;box-shadow:var(--sh-1)}
.method .mnum{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;font-size:1.2rem}
.method h3{margin-bottom:.4rem}
.method p{font-size:.96rem;color:var(--t-dim);margin:0}
.method ul.check{margin-top:.7rem}
.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}

/* callout (recommandation traitement) */
.callout{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:flex-start;background:var(--brand-soft);border:1px solid rgba(255,90,42,.22);border-radius:var(--r);padding:1.1rem 1.3rem;margin-top:1.6rem}
.callout .ci{width:42px;height:42px;border-radius:11px;background:#fff;color:var(--brand-ink);display:grid;place-items:center;flex:none;box-shadow:var(--sh-1)}
.callout .ci svg{width:21px;height:21px}
.callout b{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;color:var(--t-hi);margin-bottom:.15rem}
.callout p{margin:0;font-size:.95rem;color:var(--t)}

/* checklist */
ul.check li{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.55rem;font-size:.97rem}
ul.check li svg{width:20px;height:20px;color:var(--green);flex:none;margin-top:1px}
.section--dark ul.check li{color:var(--t-on-dark-hi)}

/* ---------- Steps ---------- */
.steps{counter-reset:step;display:grid;gap:1.2rem}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:flex-start}
.step .sdot{width:46px;height:46px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;flex:none}
.step h3{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.08rem;margin:0 0 .25rem;color:var(--t-hi)}
.section--dark .step h3{color:#fff}
.step p{font-size:.95rem;color:var(--t-dim);margin:0}
.section--dark .step p{color:var(--t-on-dark)}

/* ---------- Stats band ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;text-align:center}
.stat b{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;font-size:clamp(2rem,4.4vw,3rem);background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;display:block}
.stat span{display:block;margin-top:.5rem;font-size:.93rem;color:var(--t-on-dark);font-weight:600;letter-spacing:.01em}
.stat .sup{font-size:.6em;vertical-align:super}

/* ---------- Reviews ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.review{background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:.85rem}
.review .rtop{display:flex;align-items:center;justify-content:space-between}
.review .stars svg{width:17px;height:17px}
.review .gmark{width:22px;height:22px}
.review p{font-size:.98rem;color:var(--t);margin:0}
.review .who{display:flex;align-items:center;gap:.7rem;margin-top:auto}
.review .av{width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;color:#fff;font-size:1.05rem;background:var(--brand)}
.review .who b{display:block;font-size:.94rem;color:var(--t-hi);font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif}
.review .who span{font-size:.8rem;color:var(--t-dim)}
.rating-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.rating-score{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;font-size:3rem;color:var(--t-hi);line-height:1}
.section--dark .rating-score{color:#fff}

/* ---------- Payment ---------- */
.pay{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.pay-card{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--r);padding:1.4rem;text-align:center}
.pay-card .pn{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;font-size:2rem;background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.pay-card .pl{font-size:.92rem;color:var(--t-on-dark-hi);font-weight:600;margin-top:.3rem}
.pay-card .pd{font-size:.78rem;color:var(--t-on-dark-dim);margin-top:.3rem}

/* ---------- Offres / Formules ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch}
.plans--2{grid-template-columns:repeat(2,1fr);max-width:760px;margin-inline:auto}
.plan{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:1.9rem 1.7rem;box-shadow:var(--sh-1);position:relative;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.plan:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.plan--pop{border-color:var(--brand-ink);box-shadow:var(--sh-2)}
.plan--pop::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--brand);border-radius:var(--r-lg) var(--r-lg) 0 0}
.plan-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brand);color:#fff;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;padding:.34rem .9rem;border-radius:var(--r-pill);white-space:nowrap;box-shadow:var(--sh-1)}
.plan-name{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.32rem;color:var(--t-hi);margin:.2rem 0 .2rem}
.plan-for{font-size:.9rem;color:var(--t-dim);margin:0 0 1.2rem}
.plan-price{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;font-size:2.1rem;line-height:1;display:flex;align-items:baseline;gap:.35rem;color:var(--t-hi)}
.plan-price .pf{font-size:.8rem;font-weight:600;color:var(--t-dim)}
.plan-price .amt{background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.plan-price--quote{font-size:1.4rem;color:var(--brand-ink-text)}
.plan-sep{border:none;border-top:1px solid var(--line-light);margin:1.2rem 0}
.plan ul.check{margin:0 0 1.5rem}
.plan .btn{margin-top:auto}

/* ---------- Certifications ---------- */
.certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:1.3rem}
.cert{background:#fff;border:1px solid var(--line-light);border-radius:var(--r);padding:2rem 1.7rem;text-align:center;box-shadow:var(--sh-1);transition:transform .3s var(--ease),box-shadow .3s}
.cert:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.cert .clogo{height:118px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.cert .clogo img{max-height:118px;max-width:100%;width:auto}
.cert .clogo.bv{background:#000;border-radius:14px;padding:12px}
.cert h3{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.18rem;color:var(--t-hi);margin:0 0 .4rem}
.cert p{font-size:.95rem;color:var(--t-dim);margin:0}
.cert-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.8rem;max-width:560px;margin:0 auto}
.cert-photo{margin:0;background:#fff;border:1px solid var(--line-light);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-1);transition:transform .3s var(--ease),box-shadow .3s}
.cert-photo:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.cert-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:8px;box-sizing:border-box}
.cert-photo figcaption{padding:.5rem .5rem .6rem;text-align:center}
.cert-photo figcaption b{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:.82rem;line-height:1.2;color:var(--t-hi)}
.cert-photo figcaption span{display:block;margin-top:.12rem;font-size:.7rem;line-height:1.25;color:var(--t-dim)}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-inline:auto;display:grid;gap:.8rem}
.faq details{background:#fff;border:1px solid var(--line-light);border-radius:var(--r);padding:0 1.3rem;box-shadow:var(--sh-1);overflow:hidden}
.section--dark .faq details{background:var(--ink-2);border-color:var(--line-dark)}
.faq summary{list-style:none;cursor:pointer;padding:1.15rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:1.03rem;color:var(--t-hi)}
.section--dark .faq summary{color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:30px;height:30px;border-radius:50%;background:var(--paper-soft);display:grid;place-items:center;flex:none;transition:.3s;color:var(--brand-ink)}
.section--dark .faq summary .pm{background:var(--ink-3)}
.faq details[open] summary .pm{transform:rotate(45deg);background:var(--brand);color:#fff}
.faq .fa-body{padding:0 0 1.2rem;color:var(--t-dim);font-size:.98rem}
.section--dark .faq .fa-body{color:var(--t-on-dark)}
.faq .fa-body>p{margin:0 0 .9rem}
.faq .fa-cta{margin:.9rem 0 0}
.faq .fa-cta .btn{gap:.45rem}

/* ---------- CTA band ---------- */
.cta-band{position:relative;background:var(--brand);color:#fff;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 100% 0%,rgba(255,255,255,.25),transparent 60%);pointer-events:none}
.cta-band .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:clamp(2.4rem,5vw,3.6rem) 1.2rem}
.cta-band h2{color:#fff;max-width:22ch}
.cta-band p{color:rgba(255,255,255,.92);margin:.6rem 0 0;font-size:1.05rem}
.cta-band .btn-light{background:#0B0D11;color:#fff;border-color:transparent}
.cta-band .btn-light:hover{background:#000}
.cta-band .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}

/* ---------- Split / content ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.6rem);align-items:center}
.media{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2);background:var(--ink-2);min-height:280px;position:relative}
.feature-list{display:grid;gap:1.1rem;margin-top:1.4rem}
.feature{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:flex-start}
.feature .fi{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;flex:none}
.feature .fi svg{width:22px;height:22px}
.feature h3{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.04rem;margin:0 0 .2rem;color:var(--t-hi)}
.feature p{margin:0;font-size:.95rem;color:var(--t-dim)}

/* ---------- Page hero (inner/local) ---------- */
.phero{position:relative;background:var(--ink);color:var(--t-on-dark);overflow:hidden;padding:clamp(2.6rem,5vw,3.8rem) 0 clamp(2.6rem,5vw,3.8rem)}
.phero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(110% 80% at 80% 0%,#000 20%,transparent 70%)}
.phero::after{content:"";position:absolute;top:-30%;right:0%;width:50vw;height:50vw;max-width:560px;max-height:560px;background:radial-gradient(circle,rgba(255,77,46,.4),transparent 65%);filter:blur(6px)}
.phero .wrap{position:relative;z-index:2}
.phero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,3.4rem);align-items:center}
@media (max-width:920px){.phero-grid{grid-template-columns:1fr;gap:2rem}}
/* Héros avec vidéo de fond (landings ciblées) : vidéo z0 · voile z1 · contenu z2 */
.phero--video::before,.phero--video::after,.hero--video::before,.hero--video::after{display:none}
.phero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--ink)}
.phero-img,.phero-video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.phero-img{position:absolute;inset:0}
.phero-video{position:absolute;inset:0}
.phero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,13,17,.94),rgba(11,13,17,.84) 38%,rgba(11,13,17,.55) 70%,rgba(11,13,17,.42)),radial-gradient(120% 90% at 80% 0%,rgba(255,77,46,.30),transparent 60%)}
@media (prefers-reduced-motion:reduce){.phero-video{display:none}}
.phero h1{color:#fff;max-width:20ch;margin-bottom:1rem}
.phero h1 .grad{background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.phero p{font-size:1.1rem;color:var(--t-on-dark);max-width:62ch}
.phero .cta-row{margin-top:1.8rem}
.phero-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.phero-chip{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);border-radius:var(--r-pill);padding:.45rem .9rem;font-size:.85rem;color:var(--t-on-dark-hi);font-weight:600}
.phero-chip svg{width:16px;height:16px;color:#36d27a}
/* Badge note Google 4,9 — pastille blanche en haut du hero (landings clés) */
.gbadge{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.3rem;padding:.5rem .95rem;background:#fff;border-radius:var(--r-pill);box-shadow:0 6px 20px rgba(0,0,0,.18);text-decoration:none;max-width:100%}
.gbadge .g-logo{width:26px;height:26px;flex:none}
.gbadge-txt{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;line-height:1.1}
.gbadge-score{font-weight:800;font-size:1.2rem;color:#202124}
.gbadge-stars{color:var(--gold)}
.gbadge-stars svg{width:18px;height:18px}
.gbadge-meta{font-size:.82rem;font-weight:600;color:#5f6368}
a.gbadge{transition:transform .15s ease,box-shadow .15s ease}
a.gbadge:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,0,0,.24)}
@media (max-width:520px){.gbadge-meta{flex-basis:100%}}

/* breadcrumb */
.crumbs{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.82rem;color:var(--t-on-dark-dim);margin-bottom:1.4rem}
.crumbs a{color:var(--t-on-dark)}
.crumbs a:hover{color:#fff}
.crumbs svg{width:13px;height:13px;opacity:.6}
.crumbs .cur{color:#fff}

/* ---------- Location buttons (zone grids) ---------- */
.zonebox{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:1.5rem}
.zonebox-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}
.zonebox-head .zi{width:44px;height:44px;border-radius:12px;background:var(--brand);display:grid;place-items:center;color:#fff;flex:none}
.zonebox-head .zi svg{width:22px;height:22px}
.zonebox-head h3{color:#fff;margin:0;font-size:1.25rem}
.zonebox-head span{display:block;font-size:.8rem;color:var(--t-on-dark-dim);font-weight:500}
.pillgrid{display:flex;flex-wrap:wrap;gap:.5rem}
.pill{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.05);border:1px solid var(--line-dark);border-radius:var(--r-pill);padding:.5rem .85rem;font-size:.85rem;font-weight:600;color:var(--t-on-dark-hi);font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;transition:.2s}
.pill:hover{background:var(--brand);border-color:transparent;color:#fff;transform:translateY(-2px)}
.pill svg{width:13px;height:13px;opacity:.7}

/* light pill (on light bg) */
.pill-l{background:#fff;border:1px solid var(--line-light);color:var(--t-hi);box-shadow:var(--sh-1)}
.pill-l:hover{background:var(--brand);color:#fff;border-color:transparent}
.pill-l:hover svg{opacity:1;color:#fff}
/* Professionnels : blocs de villes par agence */
.pill-row{display:flex;flex-wrap:wrap;gap:.6rem}
.pro-zones{display:grid;gap:1.6rem}
.pro-zone{background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:1.4rem 1.5rem;box-shadow:var(--sh-1)}
.pro-zone h3{display:flex;align-items:center;gap:.5rem;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.1rem;color:var(--t-hi);margin:0 0 1rem}
.pro-zone h3 svg{width:18px;height:18px;color:var(--brand-ink)}

/* specialty button grid (local pages) */
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.spec-btn{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--line-light);border-radius:var(--r);padding:1.05rem 1.1rem;box-shadow:var(--sh-1);transition:.25s var(--ease);position:relative}
.spec-btn:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--brand-ink)}
.spec-btn .si{width:46px;height:46px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;flex:none}
.spec-btn .si svg{width:23px;height:23px}
.spec-btn b{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1rem;color:var(--t-hi);font-weight:700;line-height:1.2}
.spec-btn span{font-size:.8rem;color:var(--t-dim)}
.spec-btn .arr{margin-left:auto;color:var(--brand-ink);transition:transform .25s}
.spec-btn:hover .arr{transform:translateX(4px)}

/* city grid */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}

/* ---------- Forms ---------- */
.form-card{background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.4rem);box-shadow:var(--sh-2)}
.form-narrow{max-width:660px;margin-inline:auto}
/* Identificateur de nuisible */
.pest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem}
.pest-btn{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.3rem .8rem;background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);cursor:pointer;font-family:inherit;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}
.pest-btn:hover{border-color:var(--brand-2);transform:translateY(-2px);box-shadow:var(--sh-1)}
.pest-btn.active{border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(255,77,46,.16)}
.pest-btn .ic{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:var(--brand-soft);color:#FF8A4D}
.pest-btn .ic svg{width:26px;height:26px}
.pest-btn b{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:.95rem;color:var(--t-hi);text-align:center;line-height:1.2}
.pest-result{margin-top:2rem}
.pr-card{display:flex;gap:1.7rem;align-items:flex-start;background:#fff;border:1px solid var(--line-light);border-left:4px solid var(--brand-2);border-radius:var(--r-lg);padding:1.7rem;box-shadow:var(--sh-1)}
.pr-card[hidden]{display:none}
.pr-body{flex:1 1 auto;min-width:0}
.pr-figures{flex:0 0 42%;max-width:380px;display:flex;flex-direction:column;gap:1rem}
.pr-figures:empty{display:none}
.pr-figure{margin:0;border-radius:var(--r-md);overflow:hidden;background:var(--brand-soft);aspect-ratio:3/2;border:1px solid var(--line-light)}
.pr-figure img{width:100%;height:100%;object-fit:contain;display:block}
/* Mobile : photos en pleine largeur (100%), empilées, responsive */
@media(max-width:720px){.pr-card{flex-direction:column}.pr-figures{flex:none;width:100%;max-width:none;flex-direction:column}}
/* Ordinateur : au survol, la photo s'agrandit (80% de l'écran), retour à la normale au départ de la souris */
@media(hover:hover) and (min-width:721px){
  .pr-figure{cursor:zoom-in}
  .pr-figure:hover::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:998;pointer-events:none}
  .pr-figure:hover img{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:80vw;max-height:80vh;object-fit:contain;background:#fff;padding:6px;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55);z-index:999;pointer-events:none}
}
.pr-card h3{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;color:var(--t-hi);margin:0 0 .4rem}
.pr-card h3 .ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:#FF8A4D;flex:none}
.pr-card h3 .ic svg{width:22px;height:22px}
.pr-card h4{margin:1.1rem 0 .5rem;color:var(--t-hi);font-size:1rem}
.pr-card p{color:var(--t)}
/* champ fichier (photo) + aperçu */
.form-card input[type="file"]{width:100%;padding:.8rem;border:1.5px dashed var(--line-light);border-radius:12px;background:var(--paper-soft);cursor:pointer;font-size:.9rem;color:var(--t)}
.form-card input[type="file"]:hover{border-color:var(--brand-2)}
.photo-preview{margin-top:.7rem}
.photo-preview img{max-width:180px;max-height:180px;border-radius:12px;border:1px solid var(--line-light);display:block}
.ai-result{margin-top:.8rem;padding:.85rem 1rem;border-radius:12px;font-size:.92rem;line-height:1.5}
.ai-result.loading{background:var(--paper-soft);color:var(--t)}
.ai-result.ok{background:rgba(21,162,74,.1);border:1px solid rgba(21,162,74,.3);color:#0c7a36}
.ai-result.warn{background:#fff4e8;border:1px solid #ffd5a8;color:#9a5b00}
.ai-result small{opacity:.85}
.section--dark .form-card{box-shadow:0 30px 70px rgba(0,0,0,.5)}
.field{margin-bottom:1.05rem}
.cf-turnstile{min-height:65px}
.field label{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:600;font-size:.86rem;color:var(--t-hi);margin-bottom:.4rem}
.field label .req{color:var(--brand-ink-text)}
.field input,.field select,.field textarea{
  width:100%;padding:.85rem 1rem;border:1.5px solid var(--line-light);border-radius:12px;
  font-family:inherit;font-size:1rem;color:var(--t-hi);background:#fff;transition:border-color .2s,box-shadow .2s;
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 4px rgba(255,77,46,.12)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-note{font-size:.82rem;color:var(--t-dim);margin-top:.4rem}
.form-ok{display:none;text-align:center;padding:1.5rem;background:rgba(21,162,74,.08);border:1px solid rgba(21,162,74,.3);border-radius:var(--r);color:#0c7a36}
.form-ok.show{display:block}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.84rem;color:var(--t-dim)}
.consent input{width:auto;margin-top:3px}

/* contact info list */
.contact-info{display:grid;gap:1.1rem}
.ci-item{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:flex-start}
.ci-item .cii{width:48px;height:48px;border-radius:13px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);display:grid;place-items:center;color:#FF8A4D;flex:none}
.ci-item .cii svg{width:23px;height:23px}
.ci-item b{display:block;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;color:#fff;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem}
.ci-item a,.ci-item span{color:var(--t-on-dark-hi);font-size:1.05rem}
.ci-item a:hover{color:#fff}

/* agency cards */
.agency{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--r);padding:1.4rem}
.agency h3{color:#fff;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.2rem;margin:0 0 .3rem;display:flex;align-items:center;gap:.5rem}
.agency h3 svg{width:18px;height:18px;color:#FF8A4D}
.agency p{font-size:.9rem;color:var(--t-on-dark);margin:0}
/* page Nos agences — adresse + téléphone dans la carte */
.agency-coords{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line-dark);display:grid;gap:.6rem}
.ac-addr{display:flex;align-items:flex-start;gap:.5rem;color:var(--t-on-dark-hi);font-size:.94rem;line-height:1.45}
.ac-addr svg{width:16px;height:16px;color:#FF8A4D;flex:none;margin-top:3px}
.ac-tel{display:inline-flex;align-items:center;gap:.5rem;color:#FF8A4D;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:1.08rem}
.ac-tel svg{width:17px;height:17px}
.ac-tel:hover{color:#fff}
.ac-review{display:inline-flex;align-items:center;gap:.45rem;color:#FBBC05;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:.95rem}
.ac-review svg{width:16px;height:16px}
.ac-review:hover{color:#fff}
/* Bloc « Laisser un avis Google » (section avis) */
.review-cta{margin-top:2.6rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.review-cta .rc-label{display:inline-flex;align-items:center;gap:.5rem;color:var(--t);font-weight:600;font-size:1.02rem}
.review-cta .rc-label svg{width:20px;height:20px;flex:none}
.review-cta .rc-btns{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.review-cta .btn-light svg{color:#FBBC05}
/* Carte interactive des agences (Leaflet) */
.agences-map{position:relative;z-index:0;height:clamp(360px,55vh,520px);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-light);box-shadow:var(--sh-1);background:var(--paper-soft-2)}
.agences-map .leaflet-popup-content{font-family:"Ampersand","Manrope",sans-serif;font-size:.92rem;line-height:1.5;color:var(--t-hi)}
.agences-map .leaflet-popup-content b{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1rem}
.agences-map .leaflet-popup-content a{color:var(--brand-ink-text);font-weight:700}
.agences-map .leaflet-container{font:inherit}
/* Carte : overlay de consentement (RGPD) */
.agences-map-shell{position:relative}
.map-consent{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(180deg,#eef0f3,#e1e5ea);border:1px solid var(--line-light);border-radius:var(--r-lg)}
.map-consent .mc-box{text-align:center;max-width:430px}
.map-consent .mc-ic{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--brand-soft);color:#FF8A4D;margin-bottom:.9rem}
.map-consent .mc-ic svg{width:26px;height:26px}
.map-consent p{color:var(--t);margin:0 0 1.1rem;font-size:.96rem;line-height:1.5}

/* Bannière de consentement aux cookies */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:110;background:var(--ink-2);border-top:1px solid var(--line-dark);box-shadow:0 -12px 44px rgba(0,0,0,.45)}
.cookie-banner[hidden]{display:none}
.ck-inner{width:min(100% - 2.4rem,var(--wrap));margin-inline:auto;padding:1.2rem 0 1.35rem}
.ck-main{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.ck-text{flex:1;min-width:280px}
.ck-text b{color:#fff;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:1.05rem;display:block;margin-bottom:.3rem}
.ck-text p{color:var(--t-on-dark);font-size:.9rem;margin:0;line-height:1.55}
.ck-text a{color:#FF8A4D;font-weight:600}
.ck-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.cookie-banner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.25)}
.cookie-banner .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.ck-panel{margin-top:1.1rem;border-top:1px solid var(--line-dark);padding-top:1.1rem;display:grid;gap:.7rem}
.ck-panel[hidden]{display:none}
.ck-cat{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(255,255,255,.04);border:1px solid var(--line-dark);border-radius:12px;padding:.8rem 1rem;cursor:pointer}
.ck-cat span{display:flex;flex-direction:column}
.ck-cat b{color:#fff;font-size:.95rem}
.ck-cat small{color:var(--t-on-dark-dim);font-size:.82rem;margin-top:.15rem;font-weight:400}
.ck-cat input{width:21px;height:21px;flex:none;accent-color:var(--brand-2);cursor:pointer}
.ck-cat input:disabled{opacity:.6;cursor:not-allowed}
.ck-panel-foot{display:flex;justify-content:flex-end;margin-top:.2rem}
.fb-cookies{background:none;border:0;padding:0;font:inherit;color:var(--t-on-dark-dim);cursor:pointer}
.fb-cookies:hover{color:#fff}
/* page Contact — coordonnées complètes des agences */
.ci-agences{display:grid;gap:.8rem;margin-top:.55rem}
.ci-ag{padding:.8rem .95rem;background:rgba(255,255,255,.04);border:1px solid var(--line-dark);border-radius:12px}
.ci-ag b{font-size:1rem;letter-spacing:0;text-transform:none;margin-bottom:.2rem;color:#fff}
.ci-ag span{display:block;color:var(--t-on-dark-dim);font-size:.92rem;line-height:1.45}
.ci-ag a{display:inline-flex;align-items:center;gap:.45rem;margin-top:.45rem;color:#FF8A4D;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:1rem}
.ci-ag a svg{width:16px;height:16px}
.ci-ag a:hover{color:#fff}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--t-on-dark);border-top:1px solid var(--line-dark)}
.footer-zones{padding:clamp(2.6rem,5vw,4rem) 0 1rem}
.footer-zones .zhead{text-align:center;max-width:680px;margin:0 auto clamp(1.8rem,4vw,2.6rem)}
.footer-zones .zhead h2{color:#fff}
.footer-zones .zhead p{color:var(--t-on-dark);margin-top:.8rem}
.zone-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.4rem;align-items:start}

.footer-main{border-top:1px solid var(--line-dark);padding:clamp(2.4rem,4vw,3.4rem) 0 1.4rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:1.8rem}
.footer-brand img{height:46px;width:auto;margin-bottom:1rem}
.footer-brand p{font-size:.93rem;color:var(--t-on-dark);max-width:34ch}
.footer-social{display:flex;gap:.6rem;margin-top:1.1rem}
.footer-social a{width:40px;height:40px;border-radius:11px;border:1px solid var(--line-dark);display:grid;place-items:center;color:var(--t-on-dark);transition:.2s}
.footer-social a:hover{background:var(--brand);color:#fff;border-color:transparent}
.footer-col h4{font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 1.1rem}
.footer-col a{display:block;padding:.34rem 0;font-size:.93rem;color:var(--t-on-dark);transition:.2s}
.footer-col a:hover{color:#fff;padding-left:4px}
.footer-badges{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1.6rem 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);justify-content:center}
.footer-badges img{height:40px;width:auto;opacity:.8;transition:.3s;filter:grayscale(.2)}
.footer-badges img:hover{opacity:1;filter:none}
.footer-badges img.bv{background:#000;border-radius:7px;padding:5px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.4rem 0;font-size:.85rem;color:var(--t-on-dark-dim)}
.footer-bottom a{color:var(--t-on-dark-dim)}
.footer-bottom a:hover{color:#fff}
.footer-bottom .fb-links{display:flex;gap:1.2rem;flex-wrap:wrap}

/* ---------- Floating mobile CTA ---------- */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;flex-wrap:wrap;gap:.6rem;padding:.7rem;background:rgba(11,13,17,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line-dark)}
.mobile-cta .btn{flex:1}
.mobile-cta .mc-wa{flex-basis:100%}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto !important}}

/* ---------- Misc ---------- */
.badge-soft{display:inline-flex;align-items:center;gap:.45rem;background:var(--brand-soft);color:var(--brand-ink-text);font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.04em;padding:.4rem .8rem;border-radius:var(--r-pill)}
.prose p{color:var(--t);font-size:1.04rem}
.prose h2{margin:2.2rem 0 1rem}
.prose h3{margin:1.8rem 0 .7rem}
.prose ul{margin:0 0 1.2rem;display:grid;gap:.5rem}
.prose ul li{display:flex;gap:.6rem;align-items:flex-start}
.prose ul li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:.55rem;flex:none}
.legal code{background:var(--paper-soft);border:1px solid var(--line-light);border-radius:6px;padding:.1em .4em;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.legal-table{width:100%;border-collapse:collapse;margin:1rem 0 1.4rem;font-size:.94rem}
.legal-table th,.legal-table td{border:1px solid var(--line-light);padding:.65rem .8rem;text-align:left;vertical-align:top}
.legal-table th{background:var(--paper-soft);font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;color:var(--t-hi);font-size:.86rem}
.legal-table td{color:var(--t)}
@media (max-width:680px){.legal-table{font-size:.86rem}.legal-table th,.legal-table td{padding:.5rem .55rem}}
.cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-light);border-radius:var(--r-lg);margin-top:1rem;background:#fff;box-shadow:var(--sh-1)}
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem;min-width:760px}
.cmp-table th,.cmp-table td{padding:.95rem 1.05rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-light)}
.cmp-table tbody td{color:var(--t);border-left:1px solid var(--line-light)}
.cmp-table tbody tr:last-child th,.cmp-table tbody tr:last-child td{border-bottom:0}
.cmp-table thead th{background-image:var(--brand);color:#fff;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:800;font-size:.95rem;text-align:center;padding:1.1rem 1rem;border-bottom:0}
.cmp-table thead th:not(:last-child){box-shadow:inset -1px 0 0 rgba(255,255,255,.22)}
.cmp-table thead th:first-child{background-image:none;background:var(--paper-soft-2);color:var(--t-hi);text-align:left}
.cmp-table tbody th{background:var(--paper-soft);font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;color:var(--t-hi);font-size:.88rem;font-weight:700;white-space:nowrap;position:sticky;left:0;z-index:1}
.cmp-table tbody tr:nth-child(even) td{background:rgba(14,17,22,.022)}
.cmp-table tbody tr:hover td{background:var(--brand-soft)}
.cmp-table tbody tr:hover th{background:var(--paper-soft-2)}
.cmp-table .yes{display:inline-flex;align-items:center;gap:.4em;font-weight:700;color:#0F7A3D}
.cmp-table .yes::before{content:"✓";display:inline-grid;place-items:center;width:1.25em;height:1.25em;flex:none;border-radius:50%;background:#16A75C;color:#fff;font-size:.74em;font-weight:900;line-height:1}
@media (max-width:680px){.cmp-table{font-size:.84rem;min-width:560px}.cmp-table th,.cmp-table td{padding:.65rem .7rem}.cmp-table thead th{padding:.8rem .7rem}.cmp-table tbody th{white-space:normal}}
.anchor-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}

/* ---------- Responsive ---------- */
@media (max-width:1300px){
  .nav{gap:.7rem}
  .nav-links{gap:.05rem}
  .nav-links > li > a,.nav-links > li > button{padding:.5rem .4rem;font-size:.85rem}
  .nav-agencies{gap:.3rem;margin-left:.3rem}
  .ag-btn{padding:.3rem .45rem;gap:.4rem}
}
/* la barre desktop ne tient qu'au-dessus de ~1240px : en dessous, on bascule sur le menu burger */
@media (max-width:1240px){
  .nav-links{display:none}
  .burger{display:inline-flex}
}
@media (max-width:1080px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .certs{grid-template-columns:repeat(2,1fr)}
  .pay{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:920px){
  .topbar .wrap{justify-content:center}
  .tb-agences{display:none}
  .nav-links{display:none}
  .burger{display:inline-flex}
  .hero .cta-row{display:none}   /* boutons conservés uniquement dans la barre du bas */
  .hero-identify{display:none}
  .id-banner{flex-direction:column;align-items:flex-start;padding:1.4rem}
  .hero-grid{grid-template-columns:1fr;gap:2.2rem}
  .hero-card{max-width:520px}
  .split{grid-template-columns:1fr}
  .reviews{grid-template-columns:1fr 1fr}
  .zone-cols{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:2rem 1rem}
  .plans,.plans--2{grid-template-columns:1fr;max-width:440px;margin-inline:auto}
}
@media (max-width:680px){
  body{font-size:16px}
  .g-2,.g-3,.g-4{grid-template-columns:1fr}
  .reviews{grid-template-columns:1fr}
  .certs{grid-template-columns:1fr 1fr}
  .pay{grid-template-columns:1fr 1fr}
  .field-row{grid-template-columns:1fr}
  .method{grid-template-columns:1fr}
  br.mbr{display:block}
  .eyebrow{
    display:flex;
    max-width:100%;
    flex-wrap:wrap;
    line-height:1.25;
    letter-spacing:.08em;
  }
  .hero h1,.phero h1,.hero-sub,.phero p{
    max-width:100%;
    overflow-wrap:break-word;
  }
  .cta-row{align-items:stretch}
  .cta-row .btn{
    width:100%;
    max-width:100%;
    min-width:0;
    white-space:normal;
    line-height:1.18;
    text-align:center;
  }
  .cta-row .btn svg{flex:0 0 auto}
  .btn-lg{padding:1rem 1.2rem}
  .cta-band .wrap{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}
  .mobile-cta{display:flex}
  .phero .cta-row{display:none}   /* mobile : CTA du hero retirés, conservés dans la barre du bas */
  body{padding-bottom:70px}
  .nav-phone .nph{display:none}
  .footer-bottom{flex-direction:column;text-align:center}
  /* Hero vidéo responsive : la vidéo est en 16:9 paysage. En plein écran portrait,
     object-fit:cover la zoomait ~6× (bande centrale méconnaissable). Sur mobile on la
     cale en bannière haute à hauteur quasi-paysage, fondue dans le fond sombre du hero. */
  .phero-media,.phero-overlay{height:48vh;min-height:280px;max-height:420px;bottom:auto}
  .phero-overlay{background:
    linear-gradient(180deg,rgba(11,13,17,.42),rgba(11,13,17,.66) 58%,var(--ink)),
    radial-gradient(130% 80% at 75% 0%,rgba(255,77,46,.28),transparent 55%)}
}
@media (max-width:420px){
  .certs{grid-template-columns:1fr}
  .pay{grid-template-columns:1fr}
}

/* ── Carte interactive Île-de-France ── */
.idf-map-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:center}
.idf-map-wrap{background:#fff;border:1px solid var(--line-light);border-radius:22px;padding:clamp(.7rem,2vw,1.5rem);box-shadow:0 22px 48px -32px rgba(11,13,17,.45)}
.idf-map{width:100%;height:auto;display:block;overflow:visible}
.idf-dept{cursor:pointer}
.idf-dept path{stroke:#fff;stroke-width:2.4;stroke-linejoin:round;transition:fill .18s ease,opacity .18s ease}
.idf-dept .idf-num{fill:#fff;stroke:rgba(11,13,17,.6);stroke-width:4px;paint-order:stroke;font:900 40px "Archivo",system-ui,sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.idf-map:hover .idf-dept:not(:hover) path{opacity:.5}
.idf-dept:hover path,.idf-dept:focus-visible path{fill:url(#idfGrad)}
.idf-dept:focus{outline:none}
.idf-dept:focus-visible path{stroke:#0B0D11;stroke-width:3.2}
.idf-legend{display:flex;flex-direction:column;gap:.6rem}
.idf-leg{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.1rem;background:#fff;border:1px solid var(--line-light);border-radius:12px;font-weight:600;color:var(--t-hi);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.idf-leg b{flex:1;min-width:0}
.idf-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset}
.idf-cd{font-size:.82rem;font-weight:700;color:var(--brand-ink-text);background:#FCEDE5;padding:.12rem .55rem;border-radius:999px;flex-shrink:0}
.idf-leg:hover{border-color:#FF8A1E;transform:translateX(4px);box-shadow:0 12px 26px -20px rgba(224,16,42,.55)}
@media (max-width:860px){
  .idf-map-grid{grid-template-columns:1fr;gap:1.4rem}
  /* mobile : un département par ligne, bien espacés */
  .idf-legend{display:flex;flex-direction:column;gap:.7rem}
  .idf-leg{padding:.95rem 1.1rem}
}

/* ───────── Fiche technique nuisible (photos + données) ───────── */
.media-fig{display:block;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2);border:1px solid var(--line-light);background:var(--brand-soft);aspect-ratio:3/2}
.media-fig img,.media-fig .media-video{width:100%;height:100%;object-fit:cover;display:block}
.media-cap{margin:.7rem .2rem 0;font-size:.86rem;color:var(--t-dim);font-style:italic}
/* Grande image pleine largeur (infographies : comparatif espèces, cycle) — sans recadrage */
.media-full{display:block;max-width:1000px;margin:0 auto;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2);border:1px solid var(--line-light);background:var(--brand-soft)}
.media-full img{width:100%;height:auto;display:block}
.media-full.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;min-height:320px;background:var(--paper-soft);border:2px dashed var(--line-light);color:var(--t-dim)}
.media-full.ph .ic{margin:0}
.dl-spec{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.7rem}
.dl-spec li{display:flex;gap:.55rem;align-items:flex-start;font-size:.95rem;color:var(--t);line-height:1.45}
.dl-spec li svg{width:18px;height:18px;color:var(--brand-ink);flex:none;margin-top:2px}
.dl-spec b{color:var(--t-hi);font-weight:700}
.section--dark .dl-spec li{color:var(--t-on-dark)}
.section--dark .dl-spec b{color:#fff}
.section--dark .dl-spec li svg{color:#FF8A4D}
.prevent-cols{columns:2;column-gap:2.4rem;margin-top:1rem}
.prevent-cols li{break-inside:avoid}
@media(max-width:680px){.prevent-cols{columns:1}}
.fiche-cta{margin-top:1.8rem}

/* Cartes tarif punaises de lit — par méthode (réutilise .plans/.plan) */
.plan-unit{margin:.3rem 0 0;font-size:.78rem;font-weight:600;color:var(--t-dim)}
.plan-more{display:inline-flex;align-items:center;gap:.3rem;margin-top:.8rem;font-family:"Ampersand","Archivo","Archivo Fallback",sans-serif;font-weight:600;font-size:.85rem;color:var(--brand-ink-text);text-decoration:none}
.plan-more svg{width:13px;height:13px;transition:transform .2s}
.plan-more:hover svg{transform:translateX(3px)}

/* ── Conseils (blog) ── */
.cseo-tag{display:inline-flex;align-items:center;gap:.4em;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-ink-text)}
.cseo-tag svg{width:15px;height:15px}
.cseo-meta{display:inline-flex;align-items:center;gap:.5em;font-size:.85rem;color:var(--t-dim)}
.cseo-meta svg{width:15px;height:15px;flex:none}
.card .cseo-tag{margin-bottom:.45rem}
.card .cseo-meta{margin:.3rem 0 .7rem}
.cseo-head{max-width:820px}
.cseo-head .eyebrow{display:inline-flex;align-items:center;gap:.4em}
.cseo-head .eyebrow svg{width:16px;height:16px}
.cseo-head h1{margin:.45rem 0 .55rem;line-height:1.15}
.cseo-back{display:inline-flex;align-items:center;gap:.4em;margin-top:2.4rem;font-weight:600;color:var(--brand-ink-text);text-decoration:none}
.cseo-back svg{width:15px;height:15px;transform:rotate(180deg)}

/* ── Reveal au scroll (utilitaire) ──────────────────────────────
   État masqué appliqué uniquement par JS (.reveal-init) → sans JS, l'élément
   reste visible. is-revealed est posée par l'IntersectionObserver de main.js. */
[data-reveal]{transition:opacity .7s ease,transform .75s cubic-bezier(.22,1,.36,1)}
[data-reveal].reveal-init{opacity:0;transform:translateY(26px) scale(.96)}
[data-reveal].is-revealed{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal].reveal-init,[data-reveal].is-revealed{opacity:1;transform:none;transition:none}
}

/* ── Badge « 6 mois de garantie » (pages punaises de lit) ────── */
.pdl-garantie{padding:2.6rem 0}
.pdl-garantie .wrap{display:flex;justify-content:center}
.pdl-garantie__fig{margin:0;text-align:center}
.pdl-garantie__img{display:block;width:100%;max-width:440px;height:auto;margin:0 auto;filter:drop-shadow(0 14px 32px rgba(13,27,42,.18))}
.pdl-garantie__cap{margin:1rem auto 0;max-width:520px;color:var(--brand-ink-text);font-weight:600;font-size:1.02rem}
@media (max-width:680px){.pdl-garantie{padding:1.8rem 0}.pdl-garantie__img{max-width:320px}}

/* ═══════════════ Écran nuit (hors horaires) — landings ═══════════════ */
/* Masqué par défaut ([hidden]) ; main.js retire l'attribut hidden si fermé. */
.nightgate[hidden]{display:none}
.nightgate{position:fixed;inset:0;z-index:1200;overflow-y:auto;color:var(--t-on-dark-hi);
  background:#0B0D11 radial-gradient(120% 90% at 50% -10%,rgba(255,138,30,.18),transparent 60%);
  display:grid;place-items:center;padding:2.4rem 1.2rem;-webkit-overflow-scrolling:touch}
.nightgate-inner{width:100%;max-width:1020px;display:grid;grid-template-columns:1.05fr .95fr;
  gap:2.4rem;align-items:center}
.ng-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;font-size:.72rem;color:#FFB27A;background:rgba(255,138,30,.12);
  border:1px solid rgba(255,138,30,.25);padding:.4rem .8rem;border-radius:var(--r-pill)}
.ng-eyebrow svg{width:1.05em;height:1.05em}
.ng-h{font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:1.1;margin:1rem 0 .6rem;color:#fff;font-weight:900}
.ng-sub{color:#C7CDD6;font-size:1.05rem;max-width:46ch;margin:0}
.ng-clock{display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;font-weight:800;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:.55rem 1rem;border-radius:12px}
.ng-clock svg{width:1.1em;height:1.1em}
.ng-rea{margin:1.4rem 0 0}
.ng-rea li{color:#C7CDD6}
.ng-rea li svg{color:var(--green)}
.ng-actions{margin-top:1.5rem;align-items:center}
/* Bouton « continuer » lisible sur fond nuit (pas seulement au survol). */
.nightgate .ng-actions .btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#F4F6F9}
.nightgate .ng-actions .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);color:#fff}
.nightgate .form-card{background:#fff}
@media (max-width:820px){.nightgate-inner{grid-template-columns:1fr;gap:1.6rem}.nightgate{padding:1.8rem 1rem;place-items:start}}

/* ---------- GEO : bloc « L'essentiel », sources, date de mise à jour ---------- */
/* Chunk factuel autoportant sous le héros : c'est ce bloc que les moteurs génératifs
   extraient et citent. Volontairement sobre — il doit se lire, pas se vendre. */
.essentiel{border:1px solid var(--line-light);border-left:4px solid var(--brand-ink);border-radius:14px;background:var(--brand-soft);padding:clamp(1.3rem,3vw,1.9rem)}
.essentiel .eyebrow{margin:0 0 .6rem}
.essentiel-lead{margin:0;font-size:clamp(1.02rem,1.6vw,1.12rem);line-height:1.65;color:var(--t-hi)}
.essentiel-lead em{font-style:italic}
.essentiel-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem 1.6rem;margin:1.4rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--line-light)}
.essentiel-facts>div{min-width:0}
.essentiel-facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--t-dim);margin:0 0 .18rem}
.essentiel-facts dd{margin:0;font-size:.96rem;line-height:1.45;color:var(--t-hi);font-weight:600}
.essentiel-facts dd em{font-style:italic;font-weight:500}

.src-list a{color:var(--brand-ink-text);text-decoration:underline;text-underline-offset:2px}
.src-list a:hover{text-decoration:none}
.src-list em{font-style:normal;color:var(--t-dim);font-size:.92em}

.page-upd{margin:0;padding:1.6rem 0 .4rem;font-size:.85rem;color:var(--t-dim);text-align:center}

/* ---- Zoom photos : grossissement au survol (desktop) + lightbox au clic (mobile & desktop) ---- */
.media-fig.is-zoomable,.media-full.is-zoomable{cursor:zoom-in}
@media (hover:hover){
  .media-fig.is-zoomable img{transition:transform .4s ease;will-change:transform}
  .media-fig.is-zoomable:hover img{transform:scale(1.55)}
}
.lb-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:2vmin;background:rgba(8,10,14,.92);opacity:0;transition:opacity .2s ease;cursor:zoom-out;-webkit-tap-highlight-color:transparent}
.lb-overlay.is-open{opacity:1}
.lb-overlay[hidden]{display:none}
.lb-overlay img{max-width:96vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 12px 48px rgba(0,0,0,.55);transform:scale(.96);transition:transform .2s ease;cursor:default}
.lb-overlay.is-open img{transform:scale(1)}
.lb-close{position:absolute;top:max(1rem,2vmin);right:max(1rem,2vmin);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}
.lb-close:hover{background:rgba(255,255,255,.3)}
@media (prefers-reduced-motion:reduce){
  .media-fig.is-zoomable img,.lb-overlay,.lb-overlay img{transition:none}
}

/* ─────────── Sélecteur de langue multilingue (/en/ /es/ /it/ /de/ /ru/ /nl/) ─────────── */
.lang-switch > button{display:flex;align-items:center;gap:.35rem}
.lang-flag{font-size:1.05rem;line-height:1}
/* Drapeaux SVG (Windows ne rend pas les emoji-drapeaux). Sélecteur scopé à svg. :
   .lang-script (wordmark arabe) porte AUSSI .lang-flag et ne doit pas être dimensionné.
   Les sélecteurs longs sont NÉCESSAIRES : les règles du chevron de menu
   (.nav-links>li>button>svg, .has-menu:hover>button>svg, .lang-mobile>summary>svg)
   capturent aussi le drapeau — elles le rendaient carré ET pivoté à 90°.
   D'où transform:none et une spécificité supérieure. Le chevron, lui, n'est pas
   ciblé (il n'a pas .lang-flag) et conserve son animation. */
svg.lang-flag,
.nav-links>li>button>svg.lang-flag,
.has-menu:hover>button>svg.lang-flag,
.has-menu:focus-within>button>svg.lang-flag,
.lang-mobile>summary>svg.lang-flag,
.lang-mobile[open]>summary>svg.lang-flag{width:1.35em;height:1.0125em;flex:none;transform:none;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);vertical-align:-.12em}
.flag-sprite{position:absolute;width:0;height:0;overflow:hidden}
.lang-script{font-size:.98rem;font-weight:700;line-height:1}
.lang-code{font-weight:700;font-size:.82rem;letter-spacing:.02em}
.lang-dropdown{left:auto;right:0;min-width:196px;transform:translateX(0) translateY(8px)}
.has-menu:hover .lang-dropdown,.has-menu:focus-within .lang-dropdown{transform:translateX(0) translateY(0)}
.lang-dropdown a{align-items:center;gap:.6rem;padding:.55rem .7rem}
.lang-dropdown a .lang-flag{font-size:1.15rem}
.lang-dropdown a[aria-current="true"]{background:var(--paper-soft);color:var(--t-hi);font-weight:700}
.drawer-langs{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line-light)}
.drawer-langs a{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;padding:.4rem .6rem;border:1px solid var(--line-light);border-radius:10px;color:var(--t)}
.drawer-langs a:hover{background:var(--paper-soft);color:var(--t-hi)}

/* ─────────── Sélecteur de langue MOBILE (à côté du burger, < 1240px) ─────────── */
.lang-mobile{display:none;position:relative;margin-left:auto}
.lang-mobile > summary{list-style:none;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;height:46px;padding:0 .65rem;border:1px solid var(--line-light);background:#fff;border-radius:12px;color:var(--t-hi);font-weight:700;font-size:.82rem}
.lang-mobile > summary::-webkit-details-marker{display:none}
.lang-mobile > summary::marker{content:""}
.lang-mobile > summary > svg{width:15px;height:15px;transition:transform .2s}
.lang-mobile[open] > summary > svg{transform:rotate(90deg)}
.lang-mobile .lang-flag{font-size:1.1rem;line-height:1}
.lang-mobile-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line-light);border-radius:14px;box-shadow:0 24px 50px rgba(0,0,0,.16);padding:.5rem;min-width:200px;z-index:90}
.lang-mobile-menu a{display:flex;gap:.6rem;align-items:center;padding:.6rem .7rem;border-radius:10px;color:var(--t);font-size:.95rem}
.lang-mobile-menu a:hover,.lang-mobile-menu a[aria-current="true"]{background:var(--paper-soft);color:var(--t-hi);font-weight:700}
@media (max-width:1240px){.lang-mobile{display:inline-block}}

/* ═══════════════════════════════════════════════════════════════════════════
   RTL — sens d'écriture droite→gauche (arabe : <html dir="rtl">).
   Le layout est majoritairement en flexbox/grid, qui se retourne nativement ;
   on ne surcharge ici QUE les propriétés physiques (left/right, margin-*,
   padding-*, text-align, colonne collante, accents de bordure). Le FR/LTR
   n'est jamais touché.
   ═══════════════════════════════════════════════════════════════════════════ */
[dir="rtl"] .nav-links{margin-left:0;margin-right:auto}
[dir="rtl"] .nav-cta{margin-left:0;margin-right:.5rem}
[dir="rtl"] .nav-agencies{margin-left:0;margin-right:.6rem}
[dir="rtl"] .spec-btn .arr{margin-left:0;margin-right:auto}
[dir="rtl"] .lang-mobile{margin-left:0;margin-right:auto}
/* Menus déroulants de langue : ancrés à droite en LTR → à gauche en RTL */
[dir="rtl"] .lang-dropdown{left:0;right:auto}
[dir="rtl"] .lang-mobile-menu{left:0;right:auto}
/* Tiroir mobile : glisse depuis la droite en LTR → depuis la gauche en RTL */
[dir="rtl"] .drawer-panel{left:0;right:auto;border-left:0;border-right:1px solid var(--line-dark);transform:translateX(-100%)}
[dir="rtl"] .drawer.open .drawer-panel{transform:none}
[dir="rtl"] .drawer a.sub{padding-left:0;padding-right:1.4rem}
/* Accents de bordure gauche → droite */
[dir="rtl"] .pr-card{border-left:1px solid var(--line-light);border-right:4px solid var(--brand-2)}
[dir="rtl"] .essentiel{border-left:1px solid var(--line-light);border-right:4px solid var(--brand-ink)}
/* Tableaux : alignement du texte + colonne de tête collante à droite */
[dir="rtl"] .legal-table th,[dir="rtl"] .legal-table td,
[dir="rtl"] .cmp-table th,[dir="rtl"] .cmp-table td,
[dir="rtl"] .cmp-table thead th:first-child{text-align:right}
[dir="rtl"] .cmp-table tbody th{left:auto;right:0}
[dir="rtl"] .cmp-table tbody td{border-left:0;border-right:1px solid var(--line-light)}
/* Petits décalages au survol */
[dir="rtl"] .footer-col a:hover{padding-left:0;padding-right:4px}
/* Boutons de fermeture ancrés en haut à gauche en RTL */
[dir="rtl"] .call-modal-close{right:auto;left:.8rem}
[dir="rtl"] .lb-close{right:auto;left:max(1rem,2vmin)}
