/* =========================================================
   WIND LAB — comparateur soufflerie P40 vs polyester
   Progressive enhancement. Si windlab.js échoue, la section
   garde titre + intro + slider (inertes) : rien ne casse.
   ========================================================= */
.windlab{position:relative;padding:clamp(90px,12vw,150px) 0;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--bg),#0a0906)}
.wl-head{max-width:660px;margin-bottom:46px}
.wl-head h2{font-size:clamp(2rem,4.6vw,3.4rem);margin-top:14px}
.wl-head .lead{color:var(--muted);margin-top:16px;text-transform:none;letter-spacing:0}
.wl-head .lead b{color:var(--ink)}

.wl-stage{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.wl-cell{position:relative;border:1px solid var(--line);background:#0b0a08;overflow:hidden;aspect-ratio:4/3}
.wl-cell[data-wing="mission"]{box-shadow:inset 0 0 0 1px rgba(203,184,132,.16)}
.wl-flow{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.wl-wing{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}
.wl-tag{position:absolute;left:16px;top:14px;z-index:2;font-family:'Space Mono',monospace;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.wl-cell[data-wing="mission"] .wl-tag{color:var(--yellow)}
.wl-meter{position:absolute;right:16px;bottom:13px;z-index:2;text-align:right}
.wl-def{display:block;font-weight:700;font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1;letter-spacing:-.02em}
.wl-cell[data-wing="poly"] .wl-def{color:#cf8a72}
.wl-cell[data-wing="mission"] .wl-def{color:var(--yellow)}
.wl-deflab{display:block;margin-top:5px;font-family:'Space Mono',monospace;font-size:.54rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

.wl-controls{margin-top:34px;display:grid;grid-template-columns:1fr minmax(280px,420px);gap:34px;align-items:end}
.wl-annos{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.wl-anno{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--faint);border:1px solid var(--line);padding:9px 13px;transition:color .45s,border-color .45s;white-space:nowrap}
.wl-anno::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--faint);
  margin-right:9px;vertical-align:middle;transition:background .45s,box-shadow .45s}
.wl-anno.on{color:var(--ink);border-color:var(--line2)}
.wl-anno.on::before{background:var(--yellow);box-shadow:0 0 10px rgba(203,184,132,.8)}
.wl-arrow{color:var(--faint);font-size:.8rem}

.wl-knots{font-family:'Space Mono',monospace;font-size:.72rem;color:var(--muted);margin-bottom:10px;text-align:right}
.wl-knots b{color:var(--ink);font-size:1.2rem;font-family:'Arimo',sans-serif}
.wl-slider input{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--line2);outline:none;cursor:pointer;margin:0}
.wl-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;
  background:var(--yellow);cursor:pointer;box-shadow:0 0 0 4px rgba(203,184,132,.16);transition:transform .15s}
.wl-slider input::-webkit-slider-thumb:hover{transform:scale(1.14)}
.wl-slider input::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:50%;background:var(--yellow);cursor:pointer}
.wl-slider input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px rgba(203,184,132,.32)}
.wl-ticks{display:flex;justify-content:space-between;margin-top:12px;font-family:'Space Mono',monospace;
  font-size:.55rem;color:var(--faint);letter-spacing:.04em}

@media(max-width:820px){
  .wl-stage{grid-template-columns:1fr}
  .wl-controls{grid-template-columns:1fr;gap:26px}
  .wl-knots{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .wl-anno,.wl-anno::before{transition:none}
}
