/* Layout : une seule colonne large, sections pleine largeur séparées par des lignes de relevé, lecture de haut en bas comme un dossier technique. */
:root{
  color-scheme: dark;
  --bg:#0c0a0a;          /* noir du logo */
  --surface:#151212;
  --line:#2b2424;
  --fg:#f4f1f1;          /* blanc du logo */
  --muted:#9c9393;
  --brand:#860505;       /* rouge du logo, pour les aplats */
  --accent:#e0453c;      /* même rouge éclairci, lisible en texte sur fond noir */
  --accent-ink:#ffffff;
  --display:"Archivo", "Arial Narrow", system-ui, sans-serif;
  --body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --wrap: 1180px;
  --gutter: clamp(16px, 4vw, 40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:750;letter-spacing:-.01em}
h2{font-size:clamp(30px,4.4vw,52px);line-height:1.02;font-variation-settings:"wdth" 88}
h3{font-size:20px;line-height:1.2;font-variation-settings:"wdth" 100}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.lede{color:var(--muted);max-width:62ch;font-size:17px}

/* Bandeau maquette */

/* Navigation */
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:40px;width:auto;display:block}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:14px}
.nav ul a{text-decoration:none;color:var(--muted);transition:color .2s}
.nav ul a:hover{color:var(--fg)}
.btn{display:inline-flex;align-items:center;gap:8px;font:500 14px var(--body);padding:11px 18px;border-radius:3px;text-decoration:none;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer;transition:border-color .2s,background .2s}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--accent-ink)}
.btn.primary:hover{background:#a30a0a;border-color:#a30a0a}
.nav-cta{padding:8px 14px}
@media (max-width:900px){.nav ul{display:none}}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
.flag{display:inline-block;height:.78em;width:1.56em;vertical-align:-.06em;margin-left:.3em;border-radius:1px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.hero .wrap{position:relative;padding-block:clamp(36px,5.5vw,70px) clamp(56px,8vw,100px);display:grid;gap:28px}
.hero h1{font-size:clamp(42px,8vw,104px);line-height:.92;font-variation-settings:"wdth" 78;font-weight:800;max-width:13ch;text-transform:uppercase}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lede{font-size:clamp(17px,1.6vw,20px);color:#c4bcbc}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.readout{display:flex;flex-wrap:wrap;gap:8px 28px;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em;margin-top:12px}
.readout b{color:var(--fg);font-weight:500}

/* Atouts */
.edges{border-bottom:1px solid var(--line)}
.edges ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.edges li{padding:28px 20px 30px;border-left:1px solid var(--line);display:grid;gap:8px;align-content:start}
.edges li:first-child{border-left:0;padding-left:0}
.edges .k{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase}
.edges h3{font-size:18px}
.edges p{color:var(--muted);font-size:14px}
@media (max-width:900px){
  .edges ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .edges li{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .edges li:nth-child(odd){padding-right:16px}
  .edges li:last-child{grid-column:1/-1}
}

/* Sections */
section.block{padding-block:clamp(72px,9vw,120px);border-bottom:1px solid var(--line)}
.head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:24px 48px;align-items:end;margin-bottom:48px}
.head > div{display:grid;gap:14px}
@media (max-width:820px){.head{grid-template-columns:1fr}}

/* Clientèles */
.audiences{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.aud{background:var(--bg);padding:26px 22px 28px;display:flex;flex-direction:column;gap:12px;transition:background .25s}
.aud:hover{background:var(--surface)}
.aud .tag{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.aud p{color:var(--muted);font-size:14.5px}
.aud .who{font-family:var(--mono);font-size:12px;color:var(--fg);opacity:.75;line-height:1.7;margin-top:auto}
@media (max-width:980px){.audiences{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.audiences{grid-template-columns:1fr}}

/* Drones */
.drone-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:start}
@media (max-width:900px){.drone-grid{grid-template-columns:1fr}}
.plate{position:relative;background:var(--surface);border:1px solid var(--line);aspect-ratio:4/3;max-width:100%;display:grid;place-items:center;overflow:hidden}
.plate canvas{position:absolute;inset:0;width:100%;height:100%}
.plate .cap{position:absolute;left:16px;bottom:12px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em}
.plate .corner{position:absolute;right:16px;top:12px;font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}
.spec{display:grid;gap:22px}
.spec dl{margin:0;display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--line)}
.spec dt,.spec dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0;font-size:14.5px}
.spec dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);padding-right:24px;text-transform:uppercase;padding-top:14px}
.models{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.models li{background:var(--bg);padding:14px 16px;display:grid;gap:4px}
.models b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:.06em;font-variation-settings:"wdth" 112}
.models span{font-size:13px;color:var(--muted)}
.status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.06em}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
.components{margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.comp{border-top:2px solid var(--line);padding-top:18px;display:grid;gap:8px;align-content:start}
.comp p{color:var(--muted);font-size:14.5px}
.comp .status{font-size:11px}
.status-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.status-note{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em}
@media (max-width:820px){.components{grid-template-columns:1fr}}

/* Automatisation */
.auto-head{align-items:start}
/* Le titre est court : sa colonne suit sa largeur, et le texte prend le reste au lieu de laisser un trou. */
@media (min-width:821px){.auto-head{grid-template-columns:fit-content(420px) minmax(0,1fr);column-gap:clamp(40px,5vw,72px)}}
.auto-txt{display:grid;gap:16px}
.auto-txt .lede{max-width:none}
.auto-txt b{color:var(--fg);font-weight:500}
/* Deux panneaux joints par un filet, comme les clientèles ; les boutons s'alignent en bas. */
.partners{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.pt{background:var(--bg);display:flex;transition:background .25s}
.pt:hover{background:var(--surface)}
.pt-txt{flex:1;display:flex;flex-direction:column;gap:10px;padding:30px 32px 32px}
.pt .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.pt h3{font-size:26px;font-weight:800;letter-spacing:.04em;font-variation-settings:"wdth" 112}
.pt p{color:var(--muted);font-size:14.5px;max-width:52ch}
.pt .specs{margin:10px 0 18px}
.pt .specs dd{color:var(--fg)}
.pt .btn{align-self:flex-start;margin-top:auto}
/* Photo détourée du Meca500 sur une plaque quadrillée, avec des repères d'angle comme sur un relevé. */
.pt-fig{--grid:color-mix(in srgb,var(--line) 55%,transparent);position:relative;flex:0 0 clamp(200px,34%,260px);display:grid;place-items:center;padding:36px 28px;border-right:1px solid var(--line);
  background:radial-gradient(closest-side,rgba(244,241,241,.08),transparent) center/100% 70% no-repeat,
    linear-gradient(var(--grid) 1px,transparent 1px) center/24px 24px,
    linear-gradient(90deg,var(--grid) 1px,transparent 1px) center/24px 24px,var(--surface)}
.pt-fig::before,.pt-fig::after{content:"";position:absolute;width:12px;height:12px;border:solid var(--accent)}
.pt-fig::before{left:12px;top:12px;border-width:1px 0 0 1px}
.pt-fig::after{right:12px;bottom:12px;border-width:0 1px 1px 0}
.pt-img{width:100%;max-width:190px;height:auto;filter:drop-shadow(0 18px 24px rgba(0,0,0,.6))}
@media (max-width:860px){.partners{grid-template-columns:1fr}}
@media (max-width:560px){
  .pt-meca{flex-direction:column}
  .pt-fig{flex-basis:auto;border-right:0;border-bottom:1px solid var(--line);padding:28px}
  .pt-img{max-width:120px}
  .pt-txt{padding:24px 20px 26px}
}

/* Projets */
.projects{display:grid;gap:0;border-top:1px solid var(--line)}
.proj{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.3fr);gap:12px 32px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .25s}
.proj:hover{padding-left:10px}
.proj .domain{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.proj .domain.air{color:var(--accent)}
.proj p{color:var(--muted);font-size:14.5px}
@media (max-width:760px){.proj{grid-template-columns:1fr}}
/* Projet dépliable : la ligne s'ouvre pour montrer la photo, le récit et la vidéo */
details.proj{display:block;padding:0}
details.proj:hover{padding-left:0}
details.proj>summary{list-style:none;position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.3fr);gap:12px 32px;padding:24px 0;align-items:baseline;cursor:pointer;transition:padding .25s}
details.proj>summary>p{padding-right:30px}
details.proj>summary::-webkit-details-marker{display:none}
details.proj>summary:hover{padding-left:10px}
.proj-tog{position:absolute;right:0;top:31px;width:14px;height:14px}
.proj-tog::before,.proj-tog::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:var(--accent);transition:transform .25s}
.proj-tog::after{transform:rotate(90deg)}
details[open] .proj-tog::after{transform:rotate(0)}
.proj-more{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:28px;padding:4px 0 32px 152px}
details[open] .proj-more{animation:step-in .35s cubic-bezier(.2,.7,.2,1)}
.proj-more img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:3px}
.proj-txt{display:grid;gap:14px;align-content:start}
.proj-more.no-img{grid-template-columns:minmax(0,62ch)}
.proj .proj-hook{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.2;color:var(--fg);font-variation-settings:"wdth" 92}
.proj-txt .btn{justify-self:start}
@media (max-width:900px){.proj-more{grid-template-columns:1fr;padding-left:0}}
@media (max-width:760px){details.proj>summary{grid-template-columns:1fr}.proj-tog{top:26px}}
@media (prefers-reduced-motion:reduce){details[open] .proj-more{animation:none}}

/* Équipe */
.team{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px}
@media (max-width:860px){.team{grid-template-columns:1fr}}
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1100px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
.person{display:grid;gap:10px}
.portrait{aspect-ratio:4/5;max-width:100%;background:
  repeating-linear-gradient(135deg,transparent 0 9px,color-mix(in srgb,var(--line) 70%,transparent) 9px 10px),var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em}
.portrait img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(1.02)}
.portrait{overflow:hidden}
.person .field{font-size:13px;line-height:1.35;color:var(--fg);opacity:.85;margin-top:-4px}
.person h3{font-size:19px}
.person{align-content:start;grid-template-rows:auto auto auto auto}
.person .role{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.facts{display:grid;gap:14px;margin-top:8px}
.facts p{color:var(--muted)}
.zone{margin-top:28px;border-left:2px solid var(--brand);padding:4px 0 4px 18px;color:var(--muted);font-size:14.5px}
.zone b{color:var(--fg);font-weight:500}

/* Page Produits (catalogue Industry Devices, hors de la page d'accueil) */
.cat-h{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cat-intro{display:grid;gap:18px;padding-block:28px 56px;max-width:760px}
.cat-intro h1{font-size:clamp(34px,5vw,56px);line-height:.98;font-variation-settings:"wdth" 82;font-weight:800}
/* Page introuvable (404) */
.introuvable{min-height:62vh;align-content:center}
.introuvable .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.prod-group{padding-block:36px;border-top:1px solid var(--line)}
.prod-group .cat-h{margin-bottom:18px}
.prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:18px}
.prod{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);background:var(--surface);color:inherit;text-decoration:none}
a.prod{transition:border-color .2s}
a.prod:hover{border-color:var(--muted)}
.prod-img{position:relative;aspect-ratio:1/1;background:#f2f2f2;border-bottom:1px solid var(--line);overflow:hidden}
.prod-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.prod-ph{display:none}
.prod-img.vide{background:repeating-linear-gradient(135deg,transparent 0 9px,color-mix(in srgb,var(--line) 70%,transparent) 9px 10px),var(--bg);display:grid;place-items:center}
.prod-img.vide img{display:none}
.prod-img.vide .prod-ph{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.prod-txt{display:grid;gap:6px;align-content:start;padding:16px 18px 20px}
.prod-txt h3{font-size:19px;font-variation-settings:"wdth" 95}
.prod-k{font-family:var(--mono);font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums}
.prod-txt p{color:var(--muted);font-size:14.5px;margin-top:4px}
.prod-more{font-family:var(--mono);font-size:12px;color:var(--accent);margin-top:6px}
.prod-new{display:inline-block;vertical-align:middle;margin-left:6px;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--brand);border-radius:2px;color:var(--accent)}
.cat-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-block:20px 72px;padding:24px;background:var(--surface);border:1px solid var(--line)}
.cat-end p{max-width:60ch}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form .full{grid-column:1/-1}
@media (max-width:560px){form{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-size:12px;font-family:var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
input,select,textarea{font:15px var(--body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:11px 12px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{min-height:130px;resize:vertical}
#f[hidden],.done[hidden]{display:none}
.formbox{border:1px solid var(--line);border-radius:4px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ccf7a;box-shadow:0 0 0 0 rgba(60,207,122,.6);animation:pulse 2s infinite;flex:none}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(60,207,122,0)}100%{box-shadow:0 0 0 0 rgba(60,207,122,0)}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}
.promise{display:inline-flex;align-items:center;gap:10px;justify-self:start;font-family:var(--mono);font-size:13px;color:var(--fg);border:1px solid rgba(60,207,122,.35);background:rgba(60,207,122,.07);padding:8px 14px;border-radius:999px}
.crew{display:flex;align-items:center;gap:14px;font-size:15px;color:#cfc8c8}
.avs{display:flex;flex:none}
.av{width:38px;height:38px;border-radius:50%;border:2px solid var(--bg);background:#2b2424 center/cover no-repeat;margin-left:-10px;display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--muted)}
.av:first-child{margin-left:0}
.next{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:0;counter-reset:n}
.next li{counter-increment:n;display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.next li::before{content:"0" counter(n);grid-row:1/3;font-family:var(--mono);font-size:12px;color:var(--accent);padding-top:2px}
.next b{font-weight:500;color:var(--fg);font-size:15px}
.next span{color:var(--muted);font-size:14px}
.send{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.hint{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.done{display:grid;gap:12px;color:var(--fg)}
.done:focus{outline:none}
.done svg{color:#3ccf7a}
.done svg path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s .2s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.done h3{font-family:var(--display);font-size:26px;line-height:1.15}
.done .ml{color:#cfc8c8;font-size:16px}
.done .next li.ok::before{content:"✓";color:#3ccf7a}
.place{display:grid;gap:6px;margin-top:20px;font-family:var(--mono);font-size:13px;color:var(--muted)}
.place b{color:var(--fg);font-weight:500}

/* Contact en étapes : une question à la fois, plutôt qu'un formulaire */
.flow{display:block}
.flow-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.flow-step{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bars{display:flex;gap:6px}
.bars i{width:28px;height:3px;border-radius:2px;background:var(--line);transition:background .3s}
.bars i.on{background:var(--accent)}
.recap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.recap[hidden],.pill[hidden]{display:none}
.pill{display:inline-flex;align-items:baseline;gap:8px;font:13px var(--body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;transition:border-color .2s}
.pill:hover{border-color:var(--muted)}
.pill::after{content:"✎";color:var(--muted);font-size:12px}
.pill-k{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.step{border:0;margin:0;padding:0;min-width:0;display:grid;gap:20px}
.step[hidden]{display:none}
.step.enter{animation:step-in .35s cubic-bezier(.2,.7,.2,1)}
@keyframes step-in{from{opacity:0;transform:translateY(10px)}}
.q{padding:0;margin-bottom:22px;font-family:var(--display);font-weight:750;font-size:clamp(22px,2.6vw,28px);line-height:1.15;letter-spacing:-.01em;font-variation-settings:"wdth" 92;text-wrap:balance}
.q:focus{outline:none}
.q .ctx{display:block;color:var(--accent);font-size:.7em;margin-bottom:6px}
.q .ctx[hidden]{display:none}
.reasons{display:grid;border-top:1px solid var(--line);counter-reset:r}
.reasons button{counter-increment:r;display:grid;grid-template-columns:34px minmax(0,1fr) auto;column-gap:12px;align-items:baseline;text-align:left;font:inherit;color:var(--fg);background:transparent;border:0;border-bottom:1px solid var(--line);padding:15px 4px;cursor:pointer;transition:background .2s,padding .2s}
.reasons button::before{content:"0" counter(r);grid-row:1/3;font-family:var(--mono);font-size:12px;color:var(--accent)}
.reasons button::after{content:"→";grid-column:3;grid-row:1/3;align-self:center;color:var(--muted);transition:transform .2s,color .2s}
.reasons button:hover{background:var(--surface);padding-left:10px}
.reasons button:hover::after,.reasons button[aria-pressed="true"]::after{color:var(--accent);transform:translateX(4px)}
.reasons b{font-weight:500;font-size:16px}
.reasons .sub{grid-column:2;font-size:13.5px;color:var(--muted)}
.fields{display:grid;gap:18px}
.fields.two{grid-template-columns:1fr 1fr;gap:18px 24px}
@media (max-width:560px){.fields.two{grid-template-columns:1fr}}
.flow input:not([type=radio]),.flow textarea{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;font-size:19px;transition:border-color .2s}
.flow input:not([type=radio]):focus,.flow textarea:focus{border-color:var(--accent)}
.flow textarea{min-height:150px;font-size:17px;line-height:1.5;border:1px solid var(--line);border-radius:3px;padding:12px 14px;background:var(--surface)}
.flow textarea::placeholder{color:#6f6767}
.extra{display:grid;gap:10px}
.extra[hidden]{display:none}
.xq{font-size:15px;color:#cfc8c8}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{display:inline-flex;position:relative;font:13px var(--body);letter-spacing:0;text-transform:none;color:#cfc8c8;border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:border-color .2s,background .2s}
.opt:hover{border-color:var(--muted)}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 30%,transparent);color:var(--fg)}
.opt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.err{font-size:13px;color:var(--accent);margin-top:-8px}
.err[hidden]{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn .lbl-busy,#f.busy .btn .lbl{display:none}
#f.busy .btn .lbl-busy{display:inline}
#f.busy .btn[type=submit]{opacity:.7;cursor:progress}
.nav-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.back{font:13px var(--mono);color:var(--muted);background:none;border:0;padding:8px 0;cursor:pointer}
.back:hover{color:var(--fg)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.step.enter{animation:none}}

footer{padding-block:36px;font-size:13px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.pied-lien{text-decoration:none}
.pied-lien:hover{color:var(--fg);text-decoration:underline}

/* Politique de confidentialité */
.legal{max-width:760px;padding-bottom:72px}
.legal .cat-intro{padding-bottom:0}
.legal-date{font-family:var(--mono);font-size:12px;color:var(--muted)}
.legal h2{font-size:clamp(24px,3vw,32px);margin:48px 0 16px}
.legal h3{margin:28px 0 10px}
.legal>p,.legal li,.compter p{color:#c4bcbc}
.legal>p+p{margin-top:12px}
.legal ul{margin:12px 0;padding-left:22px;display:grid;gap:8px}
.legal b{color:var(--fg)}
.legal a:not(.btn){color:var(--accent)}
.compter{margin-top:20px;padding:20px;background:var(--surface);border:1px solid var(--line);display:grid;gap:14px}
.compter .row{display:flex;flex-wrap:wrap;gap:12px}
.compter .compter-etat{color:var(--accent)}
html[data-compter="non"] .compte-oui,html:not([data-compter="non"]) .compte-non{display:none}
.note-conf{margin-top:16px;font-size:13px;color:var(--muted)}
.note-conf a{color:var(--fg)}


/* Fiche produit */
.quote-bar{background:var(--surface);border-bottom:1px solid var(--line)}
.quote-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:14px;font-size:15px}
.quote-bar b{color:var(--fg)}
.btn.retour{margin-top:28px;padding:8px 14px 8px 10px;font-size:13px;color:var(--muted)}
.btn.retour:hover{color:var(--fg)}
.pd{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:48px;padding-block:28px 64px;align-items:start}
@media (max-width:860px){.pd{grid-template-columns:1fr}}
.shot{background:#f2f2f2;border:1px solid var(--line);position:relative}
.shot img{display:block;width:100%;height:auto}
.galerie{display:grid;gap:12px}
.vignettes{display:flex;flex-wrap:wrap;gap:12px}
.vignette{width:88px;aspect-ratio:1/1;padding:0;border:1px solid var(--line);background:#f2f2f2;cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s}
.vignette img{display:block;width:100%;height:100%;object-fit:contain}
.vignette:hover{opacity:1}
.vignette.on{opacity:1;border-color:var(--brand);outline:1px solid var(--brand)}
.pd-info{display:grid;gap:20px}
.pd-info h1{font-size:clamp(34px,5vw,56px);line-height:.98;font-variation-settings:"wdth" 82;font-weight:800}
.pd-info .lede{font-size:16px}
.specs{margin:0;display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--line)}
.specs dt,.specs dd{margin:0;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.specs dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-right:24px;padding-top:13px}
.fam{display:grid;gap:8px}
.fam .cat-h,.videos .cat-h{margin:0}
.family{display:flex;flex-wrap:wrap;gap:8px}
.family .chip{font-family:var(--mono);font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:2px;color:var(--muted);text-decoration:none}
a.chip:hover{color:var(--fg);border-color:var(--muted)}
.family .chip.on{border-color:var(--brand);color:var(--fg);background:color-mix(in srgb,var(--brand) 30%,transparent)}
.why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-block:56px;border-top:1px solid var(--line)}
@media (max-width:720px){.why{grid-template-columns:1fr}}
.why div{display:grid;gap:10px;align-content:start}
.why p{color:var(--muted)}
.videos{padding-block:0 72px;display:grid;gap:12px}
.videos .row{display:flex;flex-wrap:wrap;gap:12px}

/* Production à grande échelle */
.scale-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}
@media (max-width:900px){.scale-grid{grid-template-columns:1fr}}
.usine{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;aspect-ratio:5/4;background:#0c0a0a}
@media (max-width:700px){.usine{aspect-ratio:1/1}.usine-lab{font-size:11px;right:12px}}
.usine canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.usine-lab{position:absolute;left:12px;bottom:12px;background:rgba(12,10,10,.88);border:1px solid var(--line);border-radius:3px;padding:6px 10px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);display:grid}
.usine-lab>span{grid-area:1/1;transition:opacity .3s}
.usine-lab .b{opacity:0;color:var(--accent)}

/* Pirate Eye : animation à gauche sur ordinateur, sous le texte sur téléphone */
.pe-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}
.pe-anim{order:-1;position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;aspect-ratio:5/4;background:#0c0a0a}
.pe-info{display:grid;gap:16px;align-content:start}
.pe-info .specs{margin-top:8px}
@media (max-width:900px){.pe-grid{grid-template-columns:1fr}.pe-anim{order:0}}
@media (max-width:700px){.pe-anim{aspect-ratio:1/1}.pe-lab{font-size:11px;right:12px}}
.pe-anim canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pe-lab{position:absolute;left:12px;bottom:12px;background:rgba(12,10,10,.88);border:1px solid var(--line);border-radius:3px;padding:6px 10px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);display:grid}
.pe-lab>.a,.pe-lab>.b{grid-area:1/1;transition:opacity .3s}
.pe-lab>.b{opacity:0;color:var(--accent)}
.flag.flag-france{width:1.17em}

/* Animations au défilement : l'état de repos reste lisible */
.rv{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.pre{opacity:.25;transform:translateY(22px)}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}.js .rv.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv,.js .rv.pre{transition:none;opacity:1;transform:none}
}

/* Langue : un lien vers la page de l'autre langue */
.nav-right{display:flex;align-items:center;gap:14px}
.langs{display:flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.langs a{font:500 12px var(--mono);letter-spacing:.08em;color:var(--muted);text-decoration:none;padding:7px 10px}
.langs a[aria-current="page"]{background:var(--fg);color:var(--bg)}
@media (max-width:480px){.nav-cta{display:none}}
