/* ══════════════════════════════════════════════════════════════════
   Drones sur mesure — feuille de la page /drones-sur-mesure/
   Charte des dossiers drones : anthracite #1A1A1A, vert forêt #1B5E20,
   fond de carte #F4F5F6. Industriel, sobre, aucune couleur fluo.
   Aucune police téléchargée : la pile système suffit et la page s'affiche
   sans attendre.
   ══════════════════════════════════════════════════════════════════ */
:root{
  --anthracite:#1A1A1A;
  --nuit:#121314;
  --nuit-2:#1C1E1F;
  --nuit-3:#26292A;
  --vert:#1B5E20;
  --vert-2:#2E7D32;
  --vert-pale:#E6EFE6;
  --sauge:#8DBF8F;        /* vert lisible sur fond sombre (8,5:1 sur #1A1A1A) */
  --papier:#FFFFFF;
  --carte:#F4F5F6;
  --texte:#212121;
  --texte-2:#4E5357;
  --texte-sombre:#E0E6ED;
  --texte-sombre-2:#A7B0B8;
  --ligne:#E0E0E0;
  --ligne-sombre:#33383A;
  --ambre:#9A5B00;
  --rouge:#A4281F;
  --rayon:14px;
  --ombre:0 1px 2px rgba(0,0,0,.05),0 8px 28px rgba(0,0,0,.06);
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papier);color:var(--texte);font:400 1rem/1.62 var(--sans);font-feature-settings:"kern","liga";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
a{color:var(--vert);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--vert-2)}
h1,h2,h3{line-height:1.12;letter-spacing:-.022em;margin:0;font-weight:680;text-wrap:balance}
h2{font-size:clamp(1.75rem,3.3vw,2.75rem)}
h3{font-size:1.12rem;letter-spacing:-.01em}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--vert-2);outline-offset:3px;border-radius:4px}
.bloc-sombre :focus-visible,.heros :focus-visible,.entete :focus-visible{outline-color:var(--sauge)}
.visuellement-cache{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evitement{position:absolute;left:16px;top:-60px;z-index:100;background:var(--vert);color:#fff;padding:10px 16px;border-radius:8px}
.evitement:focus{top:12px;color:#fff}
.cadre{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}
.cadre-etroit{max-width:900px}
@media (max-width:640px){.cadre{padding:0 16px}}

/* ── Boutons ───────────────────────────────────────────────────────── */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;font:600 .95rem/1 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.bouton:active{transform:translateY(1px)}
.bouton-plein{background:var(--vert);color:#fff}
.bouton-plein:hover{background:var(--vert-2);color:#fff}
.bouton-trait{border-color:color-mix(in srgb,currentColor 40%,transparent);color:inherit;background:transparent}
.bouton-trait:hover{border-color:currentColor;color:inherit}
.bouton-trait-clair{border-color:var(--ligne-sombre);color:var(--texte-sombre);background:transparent}
.bouton-trait-clair:hover{border-color:var(--sauge);color:#fff}
.bouton-petit{min-height:38px;padding:0 16px;font-size:.86rem}

/* ── En-tête ───────────────────────────────────────────────────────── */
.entete{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--nuit) 92%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);color:var(--texte-sombre);border-bottom:1px solid var(--ligne-sombre)}
.entete-in{display:flex;align-items:center;gap:18px;height:62px}
.marque{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:.78rem;letter-spacing:.16em;white-space:nowrap}
.marque:hover{color:#fff}
.marque svg{width:22px;height:26px;flex:none}
.marque b{font-weight:700}
.marque-branches{color:var(--sauge)}
.marque-bourgeons{fill:var(--sauge)}
.entete-sep{width:1px;height:22px;background:var(--ligne-sombre)}
.entete-titre{font-size:.86rem;color:var(--texte-sombre-2);white-space:nowrap}
.entete-nav{display:flex;gap:4px;margin-left:auto}
.entete-nav a{color:var(--texte-sombre-2);text-decoration:none;font-size:.86rem;padding:8px 10px;border-radius:8px}
.entete-nav a:hover{color:#fff;background:var(--nuit-3)}
@media (max-width:1100px){.entete-nav{display:none}.entete .bouton{margin-left:auto}}
@media (max-width:640px){.entete-sep,.entete-titre{display:none}.entete-in{gap:10px}.marque{font-size:.7rem;letter-spacing:.12em}.entete .bouton{padding:0 14px;font-size:.8rem}}
.entete .bouton{white-space:nowrap}

/* ── Héros ─────────────────────────────────────────────────────────── */
.heros{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 78% 30%,#1f2a20 0%,var(--nuit) 55%),var(--nuit);color:var(--texte-sombre);padding:clamp(34px,6vw,84px) 0 clamp(48px,7vw,96px)}
.heros::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--ligne-sombre) 1px,transparent 1px),linear-gradient(90deg,var(--ligne-sombre) 1px,transparent 1px);background-size:64px 64px;opacity:.28;mask-image:radial-gradient(80% 70% at 70% 40%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(80% 70% at 70% 40%,#000 0%,transparent 75%)}
.heros-relief{position:absolute;inset:0;width:100%;height:100%;color:var(--sauge);opacity:.16}
.heros-relief g{animation:derive 40s linear infinite alternate}
@keyframes derive{to{transform:translate(-40px,10px)}}
.heros-grille{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,4vw,64px);align-items:center}
@media (max-width:960px){.heros-grille{grid-template-columns:1fr}}
.fil ol{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:var(--texte-sombre-2)}
.fil li+li::before{content:"›";margin-right:6px;opacity:.6}
.fil a{color:var(--texte-sombre-2);text-decoration:none}
.fil a:hover{color:#fff}
.surtitre{font:600 .72rem/1.3 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--vert);margin:0 0 14px}
.heros .surtitre,.bloc-sombre .surtitre{color:var(--sauge)}
.heros h1{font-size:clamp(2.05rem,4.2vw,3.55rem);font-weight:720;letter-spacing:-.032em;color:#fff;margin-bottom:22px;max-width:19ch}
.heros h1 span{display:block;color:var(--sauge);font-weight:560}
.chapo{font-size:clamp(1.02rem,1.35vw,1.18rem);color:var(--texte-sombre);max-width:56ch;opacity:.92}
.heros-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.heros .bouton-trait{color:#fff}
.heros-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:44px 0 0;border-top:1px solid var(--ligne-sombre)}
.heros-chiffres>div{padding:16px 16px 0 0}
.heros-chiffres>div+div{padding-left:16px;border-left:1px solid var(--ligne-sombre)}
.heros-chiffres dt{font:600 .66rem/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--texte-sombre-2);margin-bottom:8px}
.heros-chiffres dd{margin:0}
.heros-chiffres b{display:block;font-size:1.08rem;color:#fff;font-weight:650;letter-spacing:-.01em;white-space:nowrap}
.heros-chiffres span{display:block;font-size:.8rem;color:var(--texte-sombre-2);margin-top:2px}
@media (max-width:760px){.heros-chiffres{grid-template-columns:1fr 1fr}.heros-chiffres>div:nth-child(3){border-left:0;padding-left:0}.heros-chiffres>div:nth-child(n+3){border-top:1px solid var(--ligne-sombre);margin-top:14px}}
.heros-visuel{margin:0;position:relative;aspect-ratio:1/1;max-width:560px;justify-self:center;width:100%}
@media (max-width:960px){.heros-visuel{max-width:420px;order:-1;margin-top:-8px}}
@media (max-width:640px){.heros-visuel{max-width:230px}}
.heros-drone{width:100%;height:100%}
.h-disque{fill:#8DBF8F;fill-opacity:.06;stroke:#8DBF8F;stroke-opacity:.35}
.h-pale{fill:#D7DEE4;fill-opacity:.85;transform-box:fill-box;transform-origin:center;animation:helice .24s linear infinite}
.h-inverse{animation-direction:reverse}
.h-moteur{fill:#2B2E2F;stroke:#8DBF8F;stroke-width:2}
@keyframes helice{to{transform:rotate(360deg)}}
.h-balayage{transform-origin:280px 280px;animation:balaye 6s linear infinite}
@keyframes balaye{to{transform:rotate(360deg)}}
.h-ondes circle{transform-origin:280px 280px;stroke-opacity:0;animation:onde 4.5s var(--ease) infinite}
.h-ondes circle:nth-child(2){animation-delay:1.5s}
.h-ondes circle:nth-child(3){animation-delay:3s}
@keyframes onde{0%{transform:scale(.5);stroke-opacity:.7}100%{transform:scale(4.2);stroke-opacity:0}}
.h-led{animation:led 1.6s steps(2) infinite}
@keyframes led{50%{opacity:.25}}
.h-etq{opacity:0;animation:apparait .8s var(--ease) forwards}
.h-etq1{animation-delay:.6s}.h-etq2{animation-delay:1s}.h-etq3{animation-delay:1.4s}
.h-etq path{stroke-dasharray:400;stroke-dashoffset:400;animation:trace 1.2s var(--ease) forwards;animation-delay:inherit}
@keyframes apparait{to{opacity:1}}
@keyframes trace{to{stroke-dashoffset:0}}
@media (max-width:640px){.h-etiquettes{display:none}}

/* ── Blocs ─────────────────────────────────────────────────────────── */
.bloc{padding:clamp(64px,9vw,120px) 0}
.bloc-gris{background:var(--carte)}
.bloc-sombre{background:var(--anthracite);color:var(--texte-sombre)}
.bloc-sombre h2,.bloc-sombre h3{color:#fff}
.tete-bloc{max-width:820px;margin-bottom:clamp(32px,4vw,52px)}
.tete-bloc h2{margin-bottom:18px}
.tete-bloc p{color:var(--texte-2);font-size:1.06rem}
.tete-claire p{color:var(--texte-sombre-2)}
.grille{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.g2,.g3,.g4{grid-template-columns:1fr}}
.carte{background:var(--papier);border:1px solid var(--ligne);border-radius:var(--rayon);padding:26px}
.bloc-gris .carte{border-color:transparent;box-shadow:var(--ombre)}
.atout svg{width:40px;height:40px;fill:none;stroke:var(--vert);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.atout h3{margin-bottom:10px}
.atout p{color:var(--texte-2);font-size:.95rem;margin:0}
.note{font-size:.84rem;color:var(--texte-2);margin-top:14px;max-width:90ch}

/* ── Révélation au défilement ──────────────────────────────────────── */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* ── Graphiques ────────────────────────────────────────────────────── */
.graphe-carte{margin:0 0 26px;background:var(--papier);border-radius:var(--rayon);padding:24px 26px 18px;box-shadow:var(--ombre)}
.bloc:not(.bloc-gris) .graphe-carte{border:1px solid var(--ligne);box-shadow:none}
.graphe-carte figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;margin-bottom:14px}
.legende{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0;padding:0;font-size:.8rem;color:var(--texte-2)}
.legende i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.f-petit{background:var(--sauge)}.f-13{background:var(--vert)}.f-heavy{background:var(--anthracite)}
.m-structure{background:var(--anthracite)}.m-batterie{background:#6B7378}.m-equip{background:var(--vert)}.m-libre{background:repeating-linear-gradient(45deg,var(--sauge) 0 3px,#cfe3cf 3px 6px)}
.r-plage{background:var(--vert)}.r-ce{background:var(--anthracite)}.r-video{background:transparent;border:2px solid var(--vert);border-radius:50%}
.graphe-zone{position:relative;width:100%}
.graphe-zone svg{width:100%;height:100%;overflow:visible}
.graphe-gammes-zone{aspect-ratio:1100/440}
.graphe-poussee-zone{aspect-ratio:760/520}
.graphe-portee-zone{aspect-ratio:1100/330}
@media (max-width:640px){.graphe-gammes-zone{aspect-ratio:360/520}.graphe-poussee-zone{aspect-ratio:360/560}.graphe-portee-zone{aspect-ratio:360/470}.graphe-carte{padding:18px 14px 12px}}
.gr-axe{stroke:var(--ligne);stroke-width:1}
.gr-txt{font:500 12px var(--sans);fill:var(--texte-2)}
.gr-txt-fort{font:650 13px var(--sans);fill:var(--texte)}
.gr-val{font:600 12px var(--mono);fill:var(--texte)}
.gr-barre{transform-box:fill-box;transform-origin:left center;transform:scaleX(0);transition:transform 1.1s var(--ease)}
.vu .gr-barre{transform:scaleX(1)}
.gr-apparait{opacity:0;transition:opacity .6s .5s}
.vu .gr-apparait{opacity:1}
@media (prefers-reduced-motion:reduce){.gr-barre{transform:none;transition:none}.gr-apparait{opacity:1;transition:none}}

/* ── Tableaux ──────────────────────────────────────────────────────── */
.tableau-defile{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--rayon);background:var(--papier);box-shadow:var(--ombre)}
.bloc:not(.bloc-gris) .tableau-defile{box-shadow:none;border:1px solid var(--ligne)}
.tableau{border-collapse:collapse;width:100%;min-width:1080px;font-size:.9rem}
.tableau th[scope=row]{min-width:190px}
.tableau-gammes td:nth-child(8){min-width:150px}
.tableau caption{text-align:left;padding:16px 18px 6px;font-size:.8rem;color:var(--texte-2)}
.tableau th,.tableau td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ligne)}
.tableau thead th{font:600 .68rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2);background:var(--carte);position:sticky;top:0}
.tableau tbody tr:last-child>*{border-bottom:0}
.tableau tbody tr:hover{background:#FAFBFA}
.tableau th[scope=row] b{display:block;font-size:1rem}
.tableau small{display:block;color:var(--texte-2);font-size:.76rem;line-height:1.35;margin-top:3px;font-weight:400}
.tableau .num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.86rem}
.tableau-gammes td:nth-child(2){white-space:nowrap}
.tableau .prix{font-weight:700;color:var(--vert)}
.tableau-gammes tr[data-famille="13"] th[scope=row]{box-shadow:inset 3px 0 var(--vert)}
.tableau-gammes tr[data-famille="baby"] th[scope=row],.tableau-gammes tr[data-famille="mini"] th[scope=row]{box-shadow:inset 3px 0 var(--sauge)}
.tableau-gammes tr[data-famille="heavy"] th[scope=row]{box-shadow:inset 3px 0 var(--anthracite)}
.lien-config{font-weight:600;font-size:.84rem;white-space:nowrap}

/* ── Configurateur ─────────────────────────────────────────────────── */
.config{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:24px;align-items:start}
@media (max-width:1000px){.config{grid-template-columns:1fr}}
.config-vue{position:sticky;top:78px}
@media (max-width:1000px){.config-vue{position:static}}
.vue3d{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:radial-gradient(90% 80% at 50% 38%,#2C3132 0%,#1B1D1E 60%,#141516 100%);border:1px solid var(--ligne-sombre);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.vue3d:active{cursor:grabbing}
@media (max-width:640px){.vue3d{aspect-ratio:1/1}.vue3d-gamme{font-size:1.25rem}}
.vue3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;transition:opacity .8s}
.vue3d.pret canvas{opacity:1}
.vue3d-repli{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8%;transition:opacity .6s}
.vue3d.pret .vue3d-repli{opacity:0}
.vue3d-info{position:absolute;left:18px;top:14px;right:18px;pointer-events:none}
.vue3d-gamme{margin:0;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}
.vue3d-gamme small{font:500 .8rem var(--mono);color:var(--sauge);margin-left:8px;letter-spacing:.04em}
.vue3d-aide{margin:2px 0 0;font-size:.78rem;color:var(--texte-sombre-2)}
.vue3d-echelle{position:absolute;right:18px;bottom:14px;display:flex;align-items:center;gap:8px;font:500 .74rem var(--mono);color:var(--texte-sombre-2)}
.vue3d-echelle i{display:block;width:60px;height:6px;border:1px solid var(--texte-sombre-2);border-top:0}
.tableau-bord{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--ligne-sombre);border:1px solid var(--ligne-sombre);border-radius:14px;overflow:hidden;margin-top:14px}
@media (max-width:640px){.tableau-bord{grid-template-columns:1fr 1fr}}
.indicateur{background:var(--nuit-2);padding:14px 16px;min-width:0}
.indicateur span{display:block;font:600 .62rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--texte-sombre-2)}
.indicateur b{display:block;font:700 1.35rem/1.25 var(--sans);color:#fff;margin:6px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.indicateur small{display:block;font-size:.72rem;color:var(--texte-sombre-2);line-height:1.3}
.indicateur-prix b{color:var(--sauge)}
.indicateur .alerte-ok{color:var(--sauge)}.indicateur .alerte-moy{color:#E3B35C}.indicateur .alerte-ko{color:#F08A80}

.config-panneau{background:var(--nuit-2);border:1px solid var(--ligne-sombre);border-radius:18px;padding:18px 20px 22px;min-width:0}
.modes{display:grid;grid-template-columns:1fr 1fr;background:var(--nuit);border-radius:999px;padding:4px;margin-bottom:8px}
.modes button{appearance:none;border:0;background:transparent;color:var(--texte-sombre-2);font:600 .92rem var(--sans);padding:10px;border-radius:999px;cursor:pointer;transition:background-color .25s,color .25s}
.modes button[aria-selected="true"]{background:var(--vert);color:#fff}
.etape{display:flex;align-items:center;gap:10px;font-size:.95rem;color:#fff;margin:22px 0 12px}
.etape span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--sauge);color:var(--sauge);font:600 .74rem var(--mono)}
.cartes-usage{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.carte-usage{appearance:none;text-align:left;border:1px solid var(--ligne-sombre);background:var(--nuit);color:var(--texte-sombre);border-radius:12px;padding:10px 10px 9px;cursor:pointer;font:500 .8rem/1.25 var(--sans);transition:border-color .2s,background-color .2s,transform .2s var(--ease);min-height:84px;display:flex;flex-direction:column;gap:6px}
.carte-usage svg{width:34px;height:26px;fill:none;stroke:var(--sauge);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.carte-usage:hover{border-color:var(--sauge);transform:translateY(-1px)}
.carte-usage[aria-checked="true"]{border-color:var(--sauge);background:#203024;color:#fff}
.s-gamme{border:1px solid var(--ligne-sombre);border-radius:14px;padding:14px 16px;background:var(--nuit)}
.s-gamme-tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.s-gamme-tete b{font-size:1.25rem;color:#fff}
.s-gamme-tete span{font:700 1rem var(--mono);color:var(--sauge);white-space:nowrap}
.s-gamme p{margin:6px 0 10px;font-size:.86rem;color:var(--texte-sombre-2)}
.puces{display:flex;flex-wrap:wrap;gap:6px}
.puce{appearance:none;border:1px solid var(--ligne-sombre);background:transparent;color:var(--texte-sombre);border-radius:999px;padding:7px 12px;font:500 .8rem/1.2 var(--sans);cursor:pointer;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex;align-items:center;gap:6px;text-align:left}
.puce:hover{border-color:var(--sauge)}
.puce[aria-checked="true"],.puce[aria-pressed="true"]{background:var(--vert);border-color:var(--vert);color:#fff}
.puce[aria-disabled="true"]{opacity:.38;cursor:not-allowed}
.puce[aria-disabled="true"]:hover{border-color:var(--ligne-sombre)}
.puce small{font:500 .72rem var(--mono);opacity:.85}
.puce.hors-budget{border-style:dashed}
.puce .tag-inclus{font:600 .62rem var(--mono);letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.14);padding:2px 6px;border-radius:99px}
.puce .tag-nf{font:600 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;padding:1px 6px;border-radius:99px;opacity:.9}
.puces-gammes .puce{flex-direction:column;align-items:flex-start;gap:1px;border-radius:12px;padding:8px 12px}
.puces-gammes .puce b{font-size:.88rem}
.cartes-option{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (max-width:420px){.cartes-option{grid-template-columns:1fr}}
.carte-option{appearance:none;text-align:left;border:1px solid var(--ligne-sombre);background:var(--nuit);color:var(--texte-sombre);border-radius:12px;padding:12px;cursor:pointer;display:grid;grid-template-columns:38px 1fr;gap:4px 10px;align-items:start;font:500 .82rem/1.3 var(--sans);transition:border-color .2s,background-color .2s}
.carte-option svg{grid-row:span 2;width:38px;height:38px;fill:none;stroke:var(--sauge);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.carte-option b{color:#fff;font-weight:600}
.carte-option small{font:500 .74rem var(--mono);color:var(--texte-sombre-2)}
.carte-option:hover{border-color:var(--sauge)}
.carte-option[aria-pressed="true"]{border-color:var(--sauge);background:#203024}
.carte-option[aria-pressed="true"] small{color:var(--sauge)}
.carte-option[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.curseurs{display:grid;gap:14px}
.curseur{display:block;font-size:.84rem;color:var(--texte-sombre)}
.curseur>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}
.curseur output{font:600 .84rem var(--mono);color:var(--sauge)}
.curseur input{width:100%;accent-color:var(--vert-2);height:24px;margin:0}
.conseils{margin-top:12px;display:grid;gap:6px;font-size:.8rem;color:var(--texte-sombre-2)}
.conseils p{margin:0;padding:8px 12px;border-radius:10px;background:var(--nuit);border:1px solid var(--ligne-sombre)}
.conseils b{color:#fff}
.a-options{display:grid;gap:14px}
.a-cat h4{margin:0 0 8px;font:600 .66rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--texte-sombre-2)}
.alertes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px}
.alertes li{font-size:.8rem;padding:8px 12px 8px 30px;border-radius:10px;background:var(--nuit);position:relative;color:var(--texte-sombre)}
.alertes li::before{content:"";position:absolute;left:12px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--sauge)}
.alertes li.moy::before{background:#E3B35C}
.alertes li.ko::before{background:#F08A80}
.alertes li.info::before{background:var(--texte-sombre-2)}

.analyses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
@media (max-width:860px){.analyses{grid-template-columns:1fr}}
.analyse{margin:0;background:var(--nuit-2);border:1px solid var(--ligne-sombre);border-radius:18px;padding:18px 20px}
.analyse-large{grid-column:1/-1}
.analyse figcaption h3{font-size:1rem}
.analyse figcaption p{font-size:.8rem;color:var(--texte-sombre-2);margin:4px 0 10px}
#g-autonomie{aspect-ratio:560/300}
#g-jauge{aspect-ratio:560/300}
#g-masse{aspect-ratio:1120/170}
@media (max-width:640px){#g-masse{aspect-ratio:360/190}}
.ga-axe{stroke:var(--ligne-sombre)}
.ga-txt{font:500 11px var(--sans);fill:var(--texte-sombre-2)}
.ga-val{font:700 13px var(--mono);fill:#fff}
.ga-courbe{fill:none;stroke:#6B7378;stroke-width:1.6;transition:d .6s var(--ease)}
.ga-courbe.sel{stroke:var(--sauge);stroke-width:3}
.ga-point{fill:var(--sauge);stroke:var(--nuit-2);stroke-width:3;transition:cx .6s var(--ease),cy .6s var(--ease)}
.ga-zone{fill:url(#hachures);opacity:.75;transition:x .6s var(--ease),width .6s var(--ease)}
.ga-aiguille{transition:transform .9s var(--ease);transform-origin:280px 214px}
@media (prefers-reduced-motion:reduce){.ga-courbe,.ga-point,.ga-zone,.ga-aiguille{transition:none}}

.recap-devis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:24px}
@media (max-width:900px){.recap-devis{grid-template-columns:1fr}}
.recap,.formulaire{background:var(--nuit-2);border:1px solid var(--ligne-sombre);border-radius:18px;padding:22px 22px 20px;min-width:0}
.recap h3,.formulaire h3{margin-bottom:12px}
.recap-contenu{font-size:.86rem}
.recap-contenu table{width:100%;border-collapse:collapse}
.recap-contenu td{padding:6px 0;border-bottom:1px solid var(--ligne-sombre);vertical-align:top}
.recap-contenu td:last-child{text-align:right;font-family:var(--mono);white-space:nowrap;padding-left:10px}
.recap-contenu tr.total td{border-bottom:0;padding-top:12px;font-weight:700;color:#fff;font-size:1rem}
.recap-contenu tr.total td:last-child{color:var(--sauge)}
.recap-contenu .moins{color:var(--texte-sombre-2)}
.recap-contenu .nf{color:var(--texte-sombre-2);font-style:italic}
.recap-contenu small{color:var(--texte-sombre-2)}
.recap-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.recap-ok{font-size:.8rem;color:var(--sauge)}
.formulaire p{font-size:.86rem;color:var(--texte-sombre-2)}
.champs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}
@media (max-width:520px){.champs{grid-template-columns:1fr}}
.champs label{display:grid;gap:6px;font-size:.8rem;color:var(--texte-sombre)}
.champs small{color:var(--texte-sombre-2)}
.champ-large{grid-column:1/-1}
.champs input,.champs textarea{width:100%;font:400 .95rem var(--sans);color:#fff;background:var(--nuit);border:1px solid var(--ligne-sombre);border-radius:10px;padding:11px 12px}
.champs input:focus,.champs textarea:focus{border-color:var(--sauge);outline:none;box-shadow:0 0 0 3px rgba(141,191,143,.18)}
.champs textarea{resize:vertical;min-height:96px}
.formulaire-note{font-size:.76rem!important;margin:14px 0 0}
.formulaire-note a{color:var(--sauge)}
.formulaire-erreur{color:#F08A80;font-size:.84rem;margin:8px 0 0;min-height:1.2em}
.champs [aria-invalid="true"]{border-color:#F08A80}

/* ── Poussée ───────────────────────────────────────────────────────── */
.poussee-grille{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:28px;align-items:start}
@media (max-width:1000px){.poussee-grille{grid-template-columns:1fr}}
.poussee-texte h3{margin:20px 0 8px}
.poussee-texte p{color:var(--texte-2)}
.schema-forces{margin:0 0 6px;padding:18px;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--carte)}

/* ── Usages ────────────────────────────────────────────────────────── */
.usage{display:flex;flex-direction:column;padding:0;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.usage:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(0,0,0,.05),0 18px 40px rgba(0,0,0,.09)}
.usage-ill{width:100%;height:auto;aspect-ratio:16/9;border-bottom:1px solid var(--ligne)}
.ill-fond{fill:#EEF1EE}
.ill-trait{fill:none;stroke:var(--anthracite);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ill-fin{stroke-width:1;opacity:.6}
.ill-vert{fill:var(--vert);stroke:var(--vert);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ill-vert path[fill="none"],.ill-vert .ill-fin{fill:none}
.ill-points circle{fill:var(--vert)}
.usage h3{padding:20px 22px 0;margin-bottom:8px;font-size:1.06rem}
.usage p{padding:0 22px;color:var(--texte-2);font-size:.92rem}
.usage .usage-gamme{font-size:.84rem;color:var(--texte);margin-top:auto}
.usage .lien-fleche{margin:0 22px 22px}
.lien-fleche{font-weight:600;font-size:.88rem;text-decoration:none}
.lien-fleche::after{content:" →";transition:margin .2s}
.lien-fleche:hover::after{margin-left:4px}

/* ── Navigation ────────────────────────────────────────────────────── */
.carte-texte h3{margin-bottom:12px}
.carte-texte p{color:var(--texte-2);font-size:.95rem}
.schema-fusion,.schema-rtk{margin:4px 0 16px;padding:12px;background:var(--carte);border-radius:12px}
.sf-boites rect,.sf-boites circle,.sf-boites path{fill:var(--papier);stroke:var(--ligne);stroke-width:1.2}
.sf-boites .sf-coeur{fill:var(--vert);stroke:var(--vert)}
.sf-textes{fill:var(--texte);font-family:var(--sans)}
.sf-blanc{fill:#fff;font-weight:700}
.sf-plein{fill:var(--vert);font-weight:700}
.sf-fleches{stroke:var(--vert);stroke-width:1.6}
.sf-cibles circle{stroke:var(--vert);stroke-width:1.4}

/* ── Frise de construction ─────────────────────────────────────────── */
.frise{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:f;border-top:2px solid var(--anthracite)}
@media (max-width:1000px){.frise{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.frise{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--anthracite);margin-left:8px}}
.frise li{position:relative;padding:26px 22px 26px 0}
.frise li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--vert);box-shadow:0 0 0 4px var(--papier)}
@media (max-width:600px){.frise li{padding:4px 0 26px 24px}.frise li::before{top:8px;left:-7px}}
.frise-n{font:700 .8rem var(--mono);color:var(--vert);letter-spacing:.1em}
.frise h3{margin:6px 0 8px;font-size:1.02rem}
.frise p{font-size:.9rem;color:var(--texte-2);margin:0 0 8px}
.frise small{font:600 .72rem var(--mono);color:var(--anthracite);background:var(--vert-pale);padding:3px 8px;border-radius:99px}
.engagements{margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--ligne)}
.engagements h3{margin-bottom:8px}
.engagements p{color:var(--texte-2);font-size:.93rem;margin:0}

/* ── Réglementation ────────────────────────────────────────────────── */
.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--ligne-sombre);border-radius:var(--rayon);overflow:hidden;margin-bottom:36px}
@media (max-width:760px){.categories{grid-template-columns:1fr}}
.categorie{padding:20px 22px;background:var(--nuit-2)}
.categorie+.categorie{border-left:1px solid var(--ligne-sombre)}
@media (max-width:760px){.categorie+.categorie{border-left:0;border-top:1px solid var(--ligne-sombre)}}
.categorie p{margin:8px 0 0;font-size:.88rem;color:var(--texte-sombre-2)}
.cat-nom{font:700 .74rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.categorie-active{background:#1E2D20;box-shadow:inset 0 3px var(--sauge)}
.categorie-active .cat-nom{color:var(--sauge)}
.regl{gap:28px 40px}
.regl h3{margin-bottom:10px;font-size:1.06rem}
.regl p{color:var(--texte-sombre-2);font-size:.94rem;margin:0}

/* ── Territoire ────────────────────────────────────────────────────── */
.territoire{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:center}
@media (max-width:860px){.territoire{grid-template-columns:1fr}}
.territoire h2{margin-bottom:18px}
.territoire p{color:var(--texte-2)}
.carte-region{margin:0;max-width:380px;justify-self:center;width:100%}
.cr-region{fill:var(--carte);stroke:var(--ligne);stroke-width:1.5}
.cr-relief{stroke:var(--vert);opacity:.35;stroke-width:1.2}
.cr-villes circle{fill:var(--anthracite)}
.cr-atelier{fill:var(--vert)}
.cr-atelier-onde{fill:none;stroke:var(--vert);transform-origin:226px 146px;animation:onde-carte 2.6s var(--ease) infinite}
@keyframes onde-carte{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3);opacity:0}}
.cr-noms{fill:var(--texte);font-family:var(--sans)}
.cr-plein{fill:var(--vert);font-weight:700}

/* ── FAQ ───────────────────────────────────────────────────────────── */
.faq{display:grid;gap:10px}
.faq details{background:var(--papier);border-radius:12px;box-shadow:var(--ombre)}
.faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 22px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:50%;width:10px;height:10px;border-right:2px solid var(--vert);border-bottom:2px solid var(--vert);transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq summary h3{font-size:1.02rem;font-weight:620}
.faq details p{padding:0 22px 20px;margin:0;color:var(--texte-2)}

/* ── Appel final et pied ───────────────────────────────────────────── */
.appel{background:var(--vert);color:#fff;padding:clamp(56px,8vw,96px) 0;text-align:center;position:relative;overflow:hidden}
.appel::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 50% 120%,rgba(0,0,0,.35),transparent 70%)}
.appel-in{position:relative}
.appel h2{color:#fff;margin-bottom:14px}
.appel p{max-width:56ch;margin:0 auto;opacity:.92}
.appel .heros-actions{justify-content:center}
.appel .bouton-plein{background:#fff;color:var(--vert)}
.appel .bouton-plein:hover{background:var(--carte);color:var(--vert)}
.appel .bouton-trait{color:#fff}
.pied{background:var(--nuit);color:var(--texte-sombre-2);padding:56px 0 30px;font-size:.88rem}
.pied-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){.pied-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pied-in{grid-template-columns:1fr}}
.pied h3{font:600 .68rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:6px 0 12px}
.pied a{display:block;color:var(--texte-sombre-2);text-decoration:none;padding:3px 0}
.pied a:hover{color:#fff}
.pied .marque{display:inline-flex;margin-bottom:14px;color:#fff}
.pied-note{margin-top:36px;padding-top:20px;border-top:1px solid var(--ligne-sombre);font-size:.76rem}
@media print{.entete,.heros-visuel,.vue3d,.analyses,.formulaire,.appel{display:none}.bloc-sombre{background:#fff;color:#000}}
.montre-tel{display:none}
@media (max-width:640px){.cache-tel{display:none}.montre-tel{display:inline}}
.tableau .num small{white-space:normal;min-width:7.5em}
.tableau-gammes th,.tableau-gammes td{padding-left:11px;padding-right:11px}
.tableau-gammes th[scope=row]{min-width:170px}
/* Drones du commerce à moins de 1 000 € (section Poussée) */
.tete-commerce{margin-top:clamp(28px,4vw,48px)}
.tableau-commerce{min-width:880px}
.tableau-commerce td:last-child{min-width:260px}
.tableau-commerce .ligne-nous{background:rgba(27,94,32,.07)}
.tableau-commerce .ligne-nous th b{color:#1B5E20}
.note-commerce{margin:12px 2px 0;font-size:.82rem;color:var(--texte-2);max-width:900px}
