.wrap{width:100%;max-width:calc(var(--w-content) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.proj section{padding-block:var(--section-y)}
.hero--tool{padding-block:var(--s-8) var(--s-8);background:var(--c-bg);border-bottom:1px solid var(--c-line)}
.hero--tool .wrap{display:grid;justify-items:center;text-align:center;gap:var(--s-3)}
.crumbs{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s-2);font-size:var(--fs-0);color:var(--c-ink-2);max-width:100%}
.crumbs > *{flex:none}
.crumbs > .here{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-ink)}
.crumbs a{color:var(--c-ink-2);text-decoration:none}
.crumbs a:hover{color:var(--c-action)}
.hero--tool h1{margin-top:var(--s-2);font-size:clamp(2.1rem,4.2vw,3.2rem);font-weight:var(--fw-title);
  letter-spacing:var(--ls-title);line-height:var(--lh-tight);color:var(--c-ink);text-wrap:balance}
.tquestion{font-size:var(--fs-3);color:var(--c-ink-2)}
.tsearch{display:flex;align-items:center;gap:var(--s-3);width:min(660px,100%);margin-top:var(--s-3);
  min-height:60px;padding-inline:var(--s-5);border:1.5px solid var(--c-action);border-radius:14px;
  background:var(--c-surface);color:var(--c-ink-3);box-shadow:0 0 0 5px var(--c-action-soft);
  transition:box-shadow var(--t-fast) var(--ease)}
.tsearch:focus-within{box-shadow:0 0 0 6px var(--c-focus-halo)}
.tsearch svg{flex:none}
.tsearch input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:inherit;font-size:var(--fs-2);
  color:var(--c-ink);padding-block:var(--s-3)}
.tsearch input::placeholder{color:var(--c-ink-3)}
.tsearch-kbd{flex:none;font:inherit;font-size:var(--fs-0);color:var(--c-ink-3);border:1px solid var(--c-line);
  border-radius:6px;padding:2px 7px}
.tsearch.has-q .tsearch-kbd{display:none}
.tsearch-clear{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:0;cursor:pointer;border:0;
  border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-ink-2)}
.tsearch-clear:hover{background:var(--c-line);color:var(--c-ink)}
.tsearch-note{margin-top:var(--s-2);font-size:var(--fs-0);color:var(--c-ink-2)}
.fam-note::before{content:"· "}
@media (hover:none){.tsearch-kbd{display:none}}
.proj section.tcorps{background:var(--c-bg-2);padding-block:var(--s-7) var(--section-y)}
.tcorps > .wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start}
.tcote{position:sticky;top:calc(var(--header-h,64px) + var(--s-4));display:grid;gap:2px;
  max-height:calc(100vh - var(--header-h,64px) - var(--s-7));overflow:auto;padding:var(--s-3) var(--s-2);
  background:var(--c-surface);border:1px solid var(--c-line);border-radius:14px}
.tcote-t{padding:2px var(--s-3) var(--s-2);font-size:11px;font-weight:var(--fw-ui);letter-spacing:.09em;
  text-transform:uppercase;color:var(--c-ink-3)}
.tcote a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:var(--s-3);align-items:center;
  padding:7px var(--s-3);border-radius:9px;font-size:var(--fs-1);color:var(--c-ink-2);text-decoration:none;line-height:1.3}
.tcote a i{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 14%,var(--c-surface));color:var(--c)}
.tcote a i svg{width:13px;height:13px;stroke-width:2.3}
.tcote a:hover{background:var(--c-surface-2);color:var(--c-ink)}
.tcote a[aria-current="true"]{background:color-mix(in srgb,var(--c) 10%,var(--c-surface));color:var(--c-ink);font-weight:var(--fw-ui)}
.tcote a small{font-size:var(--fs-0);color:var(--c-ink-3);font-variant-numeric:tabular-nums}
.tcote hr{border:0;border-top:1px solid var(--c-line);margin:6px var(--s-3)}
.tcontenu{min-width:0;display:grid;gap:var(--s-8)}
.taller{display:none}
.proj .tcontenu section{padding-block:0;scroll-margin-top:calc(var(--header-h,64px) + var(--s-5))}
.tvit{display:grid;gap:var(--s-4)}
.tvit-t{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}
.tvit-t h2,.tfam-t h2{font-size:clamp(1.3rem,1.8vw,1.55rem);font-weight:var(--fw-title);letter-spacing:var(--ls-title);
  line-height:var(--lh-tight);color:var(--c-ink)}
.tvit-t p{font-size:var(--fs-0);color:var(--c-ink-3)}
.tv-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}
.tv{position:relative;display:grid;align-content:start;background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:14px;overflow:hidden;text-decoration:none;color:var(--c-ink);
  transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.tv-im{display:block;aspect-ratio:16/9;background:var(--c-surface-2);overflow:hidden}
.tv-im img{display:block;width:100%;height:100%;object-fit:cover}
.tv-tx{display:grid;gap:2px;padding:11px 13px 13px}
.tv-tx b{font-size:var(--fs-1);font-weight:var(--fw-ui);line-height:1.3}
.tv-tx span{font-size:var(--fs-0);color:var(--c-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-rang{position:absolute;top:10px;left:10px;font-size:11px;font-weight:var(--fw-title);color:#111417;
  background:rgba(255,255,255,.94);border-radius:var(--r-pill);padding:3px 8px;font-variant-numeric:tabular-nums}
.tv:hover{transform:translateY(-3px);box-shadow:0 14px 30px color-mix(in srgb,var(--c-ink) 12%,transparent)}
.tv:focus-visible,.tl-nom:focus-visible,.tl-vars a:focus-visible,.tcote a:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}
.tvit--phares .tv{border-color:color-mix(in srgb,var(--c-action) 30%,var(--c-line));box-shadow:0 0 0 3px var(--c-action-soft)}
.studio-feat{display:flex;align-items:center;gap:var(--s-4);margin-top:var(--s-2);padding:var(--s-4) var(--s-5);
  border-radius:14px;background:#1f55e6;color:#fff;text-decoration:none}
.studio-ic{flex:none;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  background:color-mix(in srgb,#fff 18%,transparent)}
.studio-feat .tx{flex:1;min-width:0}
.studio-feat .tx b{display:block;font-size:var(--fs-2);font-weight:var(--fw-title);line-height:var(--lh-snug)}
.studio-feat .tx p{margin-top:2px;font-size:var(--fs-0);opacity:.9}
.btn-blanc{background:#fff;color:#1f55e6}
.studio-feat:hover .btn-blanc{background:#eef2ff}
.tfam{display:grid;gap:var(--s-4)}
.tfam-t{display:flex;align-items:center;gap:var(--s-3)}
.tfam-ic{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 14%,var(--c-surface));color:var(--c)}
.tfam-ic svg{width:19px;height:19px;stroke-width:2.2}
.tfam-t small{font-size:var(--fs-0);color:var(--c-ink-3)}
.tl-bloc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px;padding:6px;background:var(--c-surface);
  border:1px solid var(--c-line);border-radius:14px}
.tl{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 14px;gap:2px var(--s-3);align-content:start;
  align-items:center;padding:11px 10px;border-radius:10px;color:var(--c-ink)}
.tl[hidden]{display:none}
.tl:hover{background:color-mix(in srgb,var(--c) 6%,var(--c-surface))}
.tl-ic{grid-row:span 3;align-self:start;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 14%,var(--c-surface));color:var(--c)}
.tl-ic svg{width:20px;height:20px;stroke-width:2.1}
.tl-nom{display:flex;align-items:center;gap:var(--s-2);min-width:0;font-size:var(--fs-1);font-weight:var(--fw-ui);
  color:var(--c-ink);text-decoration:none;line-height:1.3}
.tl-nom::after{content:"";position:absolute;inset:0;border-radius:10px}
.tl-chev{grid-column:3;grid-row:1/span 2;color:var(--c-ink-3)}
[dir="rtl"] .tl-chev{transform:scaleX(-1)}
.tl-d{grid-column:2;font-size:var(--fs-0);color:var(--c-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-neuf{flex:none;font-size:11px;font-weight:var(--fw-ui);color:var(--c-action);background:var(--c-action-soft);
  border-radius:var(--r-pill);padding:1px 7px}
.tl-vars{grid-column:2;display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;position:relative;z-index:1}
.tl-vars a{font-size:12px;font-weight:var(--fw-ui);padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--c-line);
  color:var(--c-ink-2);background:var(--c-surface);text-decoration:none}
.tl-vars a:hover{border-color:var(--c);color:var(--c-ink)}
.tempty{display:grid;justify-items:center;gap:var(--s-3);padding-block:var(--s-8);text-align:center}
.tempty[hidden]{display:none}
.tempty .ic{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink-3)}
.tempty b{font-size:var(--fs-3);font-weight:var(--fw-title)}
.tempty p{color:var(--c-ink-2);max-width:36ch}
.kicker{display:block;font-family:var(--f-mono);font-size:var(--fs-0);letter-spacing:.02em;text-transform:uppercase;color:var(--c-ink-2)}
.display{font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:var(--fw-title);letter-spacing:var(--ls-title);
  line-height:var(--lh-tight);color:var(--c-ink);max-width:24ch}
.kicker + .display{margin-top:var(--s-2)}
.sub{margin-top:var(--s-3);font-size:var(--fs-2);line-height:var(--lh-body);color:var(--c-ink-2);max-width:var(--w-text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--control-h);
  padding-inline:var(--s-5);cursor:pointer;border:1px solid transparent;border-radius:var(--r-2);font-family:inherit;
  font-size:var(--fs-1);font-weight:var(--fw-ui);text-decoration:none;white-space:nowrap;
  transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.btn-beam{background:var(--c-action);color:var(--c-on-action)}
.btn-beam:hover{background:var(--c-action-hover)}
.btn-ghost-l{background:var(--c-surface);color:var(--c-ink);border-color:var(--c-line-strong)}
.btn-ghost-l:hover{background:var(--c-surface-2)}
.final{background:var(--c-bg);border-top:1px solid var(--c-line)}
.reas{display:grid;gap:var(--s-5);margin-top:var(--s-7)}
@media (min-width:720px){.reas{grid-template-columns:repeat(3,minmax(0,1fr))}}
.uc{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--s-3)}
.uc-ico{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-2);background:var(--c-action-soft);color:var(--c-action)}
.uc h3{font-size:var(--fs-2);font-weight:var(--fw-title);line-height:var(--lh-snug)}
.uc p{margin-top:var(--s-1);font-size:var(--fs-1);color:var(--c-ink-2);line-height:var(--lh-body)}
@media (max-width:1180px){.tv-grille{grid-template-columns:repeat(2,minmax(0,1fr))}.tl-bloc{grid-template-columns:1fr}}
@media (max-width:900px){
  .tcorps > .wrap{grid-template-columns:1fr}
  .tcote{display:none}
  .taller{display:block;position:sticky;top:var(--header-h,64px);z-index:5;margin-inline:calc(-1 * var(--gutter));
    padding:10px var(--gutter);background:var(--c-bg-2);border-bottom:1px solid var(--c-line)}
  .taller select{width:100%;font:inherit;font-size:var(--fs-1);padding:10px 12px;border-radius:10px;
    border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-ink)}
  .tcontenu{gap:var(--s-7)}
}
@media (max-width:560px){
  .tv-grille{gap:10px}
  .tv-tx span{display:none}
  .tvit-t p{display:none}
  .studio-feat{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.tv,.tsearch{transition:none}.tv:hover{transform:none}}
