/* =====================================================================
   COMPTOIR : thème QuietCMS de www.vendrepharmacie.fr
   « Conseil premium + data vivante » : ivoire / bleu nuit, vert officine,
   dégradés maillés animés, croix d’officine en pointillés, data en mouvement.
   ===================================================================== */
@font-face{font-family:'Bricolage Grotesque';src:url(fonts/bricolage-grotesque-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url(fonts/bricolage-grotesque-latin-800-normal.woff2) format('woff2');font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-700-normal.woff2) format('woff2');font-weight:700 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --nuit:#0E2742;--nuit-2:#0A1D33;--nuit-3:#17385E;--encre:#1B2B3A;
  --vert:#10A37F;--vert-f:#0B7A5F;--menthe:#D8F3EA;--ivoire:#F7F5EF;--blanc:#FFFFFF;
  --corail:#FF6B5B;--corail-t:#B7382A;--corail-l:#FFE7E3;--ambre:#F2B33D;--ambre-l:#FCEFD2;--ciel:#58A6FF;--ciel-l:#E1EEFF;
  --ardoise:#6B7A8C;--muted:#53627A;--ligne:#E4E1D6;--ligne-2:#D5DEE8;--sur-nuit:#C3D0DF;
  --display:'Bricolage Grotesque','Inter',system-ui,sans-serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r:20px;--r-l:28px;--r-s:14px;
  --shadow:0 34px 70px -40px rgba(14,39,66,.55),0 12px 28px -20px rgba(14,39,66,.28);
  --shadow-s:0 18px 38px -28px rgba(14,39,66,.5);
  --w-text:1100px;--w-max:1320px;
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.3,1.45,.5,1);
  --crosses:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cpath d='M32 23v18M23 32h18' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-dasharray='.5 4.5'/%3E%3C/svg%3E");
  --crosses-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cpath d='M32 23v18M23 32h18' fill='none' stroke='%230E2742' stroke-width='2' stroke-linecap='round' stroke-dasharray='.5 4.5'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
html.tb-menu-open{overflow:hidden}
body{margin:0;background:var(--ivoire);color:var(--encre);font-family:var(--sans);font-size:1.0625rem;line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}
a{color:var(--vert-f);text-underline-offset:3px}
::selection{background:var(--ambre);color:var(--nuit)}
:focus-visible{outline:3px solid var(--ambre);outline-offset:3px;border-radius:8px}
h1,h2,h3,h4{font-family:var(--display);color:var(--nuit);line-height:1.1;letter-spacing:-.022em;font-weight:800}
.tb-skip{position:absolute;left:-999px;top:0;background:var(--nuit);color:#fff;padding:.6rem 1rem;z-index:999;border-radius:0 0 12px 0}
.tb-skip:focus{left:0}
.tb-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tb-nolink{cursor:default}
.tb-main{display:block;overflow-x:clip;counter-reset:h2}
.tb-kicker{font-family:var(--mono);font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vert-f);margin:0 0 .9rem;display:inline-flex;align-items:center;gap:.6rem;line-height:1.3}
.tb-dark .tb-kicker{color:var(--ambre)}
.tb-kicker-dot{position:relative;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--vert)}
.tb-kicker-dot::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--vert);opacity:0;animation:tbPing 2.4s var(--ease) infinite}
@keyframes tbPing{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.tb-sec-title{font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.08;letter-spacing:-.025em;color:var(--nuit);margin:0 0 .6rem}

/* ---------- Fonds sombres : mesh animé, croix en pointillés, halo curseur ---------- */
.tb-dark{position:relative;isolation:isolate;background:var(--nuit);color:var(--sur-nuit);overflow:hidden}
.tb-dark h1,.tb-dark h2{color:#fff}
.tb-mesh{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.tb-mesh-b{position:absolute;border-radius:50%;will-change:transform}
.tb-mesh-b--1{width:62vw;height:62vw;max-width:900px;max-height:900px;left:-18%;top:-45%;background:radial-gradient(circle at center,rgba(16,163,127,.55),rgba(16,163,127,0) 64%);animation:tbMeshA 34s ease-in-out infinite alternate}
.tb-mesh-b--2{width:56vw;height:56vw;max-width:820px;max-height:820px;right:-16%;top:-30%;background:radial-gradient(circle at center,rgba(88,166,255,.45),rgba(88,166,255,0) 64%);animation:tbMeshB 40s ease-in-out infinite alternate}
.tb-mesh-b--3{width:44vw;height:44vw;max-width:640px;max-height:640px;left:30%;bottom:-48%;background:radial-gradient(circle at center,rgba(242,179,61,.26),rgba(242,179,61,0) 62%);animation:tbMeshC 30s ease-in-out infinite alternate}
.tb-mesh-b--4{width:30vw;height:30vw;max-width:460px;max-height:460px;right:18%;bottom:-20%;background:radial-gradient(circle at center,rgba(255,107,91,.22),rgba(255,107,91,0) 62%);animation:tbMeshB 26s ease-in-out -8s infinite alternate-reverse}
@keyframes tbMeshA{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(14%,10%,0) scale(1.12)}100%{transform:translate3d(6%,22%,0) scale(.94)}}
@keyframes tbMeshB{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-12%,16%,0) scale(1.08)}100%{transform:translate3d(-20%,4%,0) scale(1.16)}}
@keyframes tbMeshC{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-24%,-18%,0) scale(1.2)}}
.tb-crosses{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--crosses);background-size:64px 64px;opacity:.22;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 75% 40%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse 70% 80% at 75% 40%,#000 10%,transparent 72%);animation:tbDrift 60s linear infinite}
@keyframes tbDrift{to{background-position:64px 128px}}
.tb-glow::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(460px circle at var(--gx,50%) var(--gy,-60%),rgba(88,166,255,.16),rgba(16,163,127,.06) 40%,transparent 64%);opacity:var(--go,0);transition:opacity .6s}
.tb-hero-edge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;z-index:1;display:block}

/* ---------- Boutons ---------- */
.tb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem 1.35rem;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:.98rem;line-height:1.2;text-decoration:none;position:relative;overflow:hidden;isolation:isolate;border:2px solid transparent;
  transform:translate3d(var(--tx,0),var(--ty,0),0);transition:transform .35s var(--spring),background-color .3s,color .3s,box-shadow .3s,border-color .3s;white-space:nowrap}
.tb-btn svg{width:19px;height:19px;flex:0 0 19px;transition:transform .35s var(--spring)}
.tb-btn:hover svg:last-child{transform:translateX(4px)}
.tb-btn::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.tb-btn:hover::before{transform:translateX(120%)}
.tb-btn--cta{background:var(--vert);color:var(--nuit);box-shadow:0 18px 36px -18px rgba(16,163,127,.9)}
.tb-btn--cta:hover{background:#fff;color:var(--nuit);box-shadow:0 22px 40px -18px rgba(255,255,255,.5)}
.tb-btn--ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.34);color:#fff}
.tb-btn--ghost svg{color:var(--ambre)}
.tb-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:var(--ambre)}
.tb-btn--lg{padding:1rem 1.7rem;font-size:1.04rem}
.tb-btn.tb-nolink{opacity:.8}

/* ---------- Header ---------- */
.tb-header{position:sticky;top:0;z-index:100;transition:box-shadow .4s}
.tb-header::before{content:'';position:absolute;inset:0;background:rgba(247,245,239,.84);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid rgba(14,39,66,.08);transition:background .4s}
.tb-header.is-scrolled{box-shadow:0 16px 36px -28px rgba(14,39,66,.6)}
.tb-header.is-scrolled::before{background:rgba(247,245,239,.93)}
.tb-header-in{position:relative;max-width:var(--w-max);margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;gap:1.6rem;transition:padding .4s var(--ease)}
.tb-header.is-scrolled .tb-header-in{padding-top:.5rem;padding-bottom:.5rem}
.tb-logo{position:relative;z-index:3;display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--nuit);flex:0 0 auto}
.tb-logo-mark{width:50px;height:50px;flex:0 0 50px;transition:width .4s var(--ease),height .4s var(--ease),flex-basis .4s var(--ease),transform .6s var(--spring);overflow:visible;filter:drop-shadow(0 10px 14px rgba(14,39,66,.25))}
.tb-header.is-scrolled .tb-logo-mark{width:42px;height:42px;flex-basis:42px}
.tb-logo:hover .tb-logo-mark{transform:rotate(-8deg) scale(1.06)}
.tb-logo-cross{transform-box:view-box;transform-origin:32px 32px;animation:tbBreath 5s ease-in-out infinite}
@keyframes tbBreath{50%{transform:scale(.93)}}
.tb-logo-arrow{stroke-dasharray:60;stroke-dashoffset:0}
.js .tb-logo-arrow{animation:tbArrowIn 1.6s var(--ease) .3s both}
.js .tb-logo-head{animation:tbFade .5s ease 1.4s both}
.tb-logo:hover .tb-logo-arrow{animation:tbArrowIn 1.1s var(--ease) both}
@keyframes tbArrowIn{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
@keyframes tbFade{from{opacity:0}to{opacity:1}}
.tb-logo-glow{transform-box:view-box;transform-origin:32px 32px;animation:tbSpin 30s linear infinite}
@keyframes tbSpin{to{transform:rotate(360deg)}}
.tb-logo-txt{display:flex;flex-direction:column;line-height:1.05}
.tb-logo-name{font-family:var(--display);font-weight:800;font-size:1.36rem;letter-spacing:-.03em;color:var(--nuit)}
.tb-logo-name em{font-style:normal;color:var(--vert-f)}
.tb-logo-tag{font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.28rem}
.tb-nav{margin-left:auto;display:flex;align-items:center}
.tb-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.15rem;flex-wrap:nowrap}
.tb-nav li{position:relative}
.tb-nav ul a,.tb-nav ul .tb-nolink{position:relative;display:block;padding:.55rem .82rem;border-radius:999px;color:var(--encre);font-weight:600;font-size:.95rem;text-decoration:none;transition:background .25s,color .25s;white-space:nowrap}
.tb-nav ul a::after,.tb-nav ul .tb-nolink::after{content:'';position:absolute;left:50%;bottom:.2rem;width:0;height:3px;border-radius:3px;background:var(--ambre);transform:translateX(-50%);transition:width .4s var(--spring)}
.tb-nav ul a:hover{color:var(--nuit);background:rgba(16,163,127,.1)}
.tb-nav ul a:hover::after{width:18px}
.tb-nav li.is-active>a,.tb-nav li.is-active>.tb-nolink,.tb-nav ul [aria-current]{color:var(--vert-f)}
.tb-nav li.is-active>a::after,.tb-nav li.is-active>.tb-nolink::after,.tb-nav ul [aria-current]::after{width:24px}
.tb-nav li.tb-nav-cta{margin-left:.5rem}
.tb-nav li.tb-nav-cta>a,.tb-nav li.tb-nav-cta>.tb-nolink{background:var(--nuit);color:#fff;padding:.6rem 1.2rem;box-shadow:0 14px 26px -16px rgba(14,39,66,.9);transition:background .3s,transform .35s var(--spring),color .3s}
.tb-nav li.tb-nav-cta>a:hover{background:var(--vert);color:var(--nuit);transform:translateY(-2px)}
.tb-nav li.tb-nav-cta>a::after,.tb-nav li.tb-nav-cta>.tb-nolink::after{display:none}
.tb-nav li.tb-nav-cta>[aria-current]{background:var(--vert-f)}
.tb-nav-deco,.tb-nav-k,.tb-nav-foot{display:none}
.tb-burger{display:none;position:relative;z-index:3;margin-left:auto;width:48px;height:48px;border:0;border-radius:16px;background:var(--nuit);cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:background .3s,transform .3s var(--spring)}
.tb-burger:hover{transform:rotate(-4deg)}
.tb-burger span{display:block;width:20px;height:2.5px;border-radius:3px;background:#fff;transition:transform .45s var(--spring),opacity .25s,width .3s,background .3s}
.tb-burger span:nth-child(2){width:13px;margin-left:7px;background:var(--vert)}
.tb-burger:hover span:nth-child(2){width:20px;margin-left:0}
.tb-burger[aria-expanded=true]{background:var(--vert)}
.tb-burger[aria-expanded=true] span{background:var(--nuit)}
.tb-burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.tb-burger[aria-expanded=true] span:nth-child(2){opacity:0;transform:translateX(-10px)}
.tb-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media (max-width:1360px) and (min-width:1101px){.tb-header-in{gap:1rem}.tb-nav ul a,.tb-nav ul .tb-nolink{padding:.5rem .6rem;font-size:.92rem}.tb-logo-name{font-size:1.24rem}.tb-logo-tag{font-size:.6rem}.tb-nav li.tb-nav-cta{margin-left:.3rem}}
@media (max-width:1100px){
  .tb-burger{display:flex}
  .tb-nav{position:fixed;inset:0;z-index:2;margin:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:1.2rem;padding:6.8rem 1.6rem 2rem;overflow:auto;isolation:isolate;
    background:var(--nuit);color:#fff;clip-path:circle(0 at calc(100% - 48px) 44px);visibility:hidden;transition:clip-path .75s var(--ease),visibility 0s linear .75s}
  .tb-nav.is-open{clip-path:circle(150% at calc(100% - 48px) 44px);visibility:visible;transition:clip-path .75s var(--ease),visibility 0s}
  .tb-nav-deco{display:block;position:absolute;inset:0;z-index:-1;overflow:hidden}
  .tb-nav-deco::after{content:'';position:absolute;inset:0;background-image:var(--crosses);background-size:64px 64px;opacity:.18}
  .tb-nav-k{display:block;margin:0;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre)}
  .tb-nav ul{flex-direction:column;align-items:stretch;gap:0;counter-reset:nav}
  .tb-nav li{counter-increment:nav;border-bottom:1px solid rgba(255,255,255,.1)}
  .tb-nav ul a,.tb-nav ul .tb-nolink{display:flex;align-items:baseline;gap:1rem;font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,6.4vw,2.3rem);letter-spacing:-.02em;padding:.6rem .1rem;border-radius:0;background:none!important;color:#fff}
  .tb-nav ul a::before,.tb-nav ul .tb-nolink::before{content:counter(nav,decimal-leading-zero);font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.05em;color:var(--vert);min-width:1.6rem}
  .tb-nav ul a::after,.tb-nav ul .tb-nolink::after{left:2.7rem;transform:none;bottom:.45rem}
  .tb-nav ul a:hover{color:var(--ambre)}
  .tb-nav li.is-active>a,.tb-nav ul [aria-current]{color:var(--vert)}
  .tb-nav li.tb-nav-cta{margin:1.2rem 0 0;border:0}
  .tb-nav li.tb-nav-cta>a,.tb-nav li.tb-nav-cta>.tb-nolink{display:inline-flex;background:var(--vert)!important;color:var(--nuit);font-size:1.3rem;padding:.9rem 1.6rem;border-radius:999px}
  .tb-nav li.tb-nav-cta>a::before{display:none}
  .tb-nav li,.tb-nav-foot{opacity:0;transform:translateY(24px);transition:opacity .45s,transform .6s var(--spring)}
  .tb-nav.is-open li,.tb-nav.is-open .tb-nav-foot{opacity:1;transform:none;transition-delay:calc(.2s + var(--i,0) * 55ms)}
  .tb-nav-foot{display:block;margin:auto 0 0;font-size:.85rem;color:var(--sur-nuit)}
}
@media (max-width:520px){.tb-header-in{padding:.65rem 1rem;gap:.6rem}.tb-logo-mark,.tb-header.is-scrolled .tb-logo-mark{width:42px;height:42px;flex-basis:42px}.tb-logo-name{font-size:1.14rem}.tb-logo-tag{font-size:.56rem;letter-spacing:.04em}.tb-logo{gap:.6rem}}
.tb-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;z-index:5;pointer-events:none;background:rgba(14,39,66,.06)}
.tb-progress span{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--vert),var(--ciel),var(--ambre));border-radius:0 3px 3px 0;box-shadow:0 0 12px rgba(16,163,127,.6)}

/* ---------- Accueil : héros ---------- */
.tb-home-hero{padding:3.6rem 1.5rem 8rem}
.tb-home-hero-in{position:relative;z-index:2;max-width:var(--w-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:3.5rem;align-items:center;min-height:min(640px,calc(100vh - 150px))}
.tb-home-hero h1{font-size:clamp(2.4rem,4.7vw,4.3rem);line-height:1.02;margin:.1rem 0 1.3rem;letter-spacing:-.035em;color:#fff}
.tb-w{display:inline-block}
.tb-w>span{display:inline-block}
.js .tb-split .tb-w>span{opacity:0;transform:translateY(.7em);filter:blur(6px);animation:tbWordUp .9s var(--ease) forwards;animation-delay:calc(var(--i) * 70ms + .15s)}
@keyframes tbWordUp{to{opacity:1;transform:none;filter:none}}
.tb-split .tb-w:nth-last-child(-n+2)>span{background:linear-gradient(95deg,#3DDBA9,var(--ciel));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.tb-home-lead{font-size:1.18rem;line-height:1.7;color:var(--sur-nuit);max-width:36rem;margin:0 0 2rem}
.js .tb-home-lead,.js .tb-home-ctas,.js .tb-home-proof,.js .tb-home-hero .tb-kicker{opacity:0;animation:tbFadeUp .9s var(--ease) forwards}
.js .tb-home-hero .tb-kicker{animation-delay:.05s}
.js .tb-home-lead{animation-delay:.75s}
.js .tb-home-ctas{animation-delay:.9s}
.js .tb-home-proof{animation-delay:1.05s}
@keyframes tbFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.tb-home-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem}
.tb-home-proof{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.9rem;font-weight:500;color:var(--sur-nuit)}
.tb-home-proof li{display:inline-flex;align-items:center;gap:.45rem}
.tb-home-proof svg{width:18px;height:18px;color:var(--vert)}
.tb-home-hero-art{position:relative;min-height:540px;perspective:1200px}
.tb-home-hero-img{position:absolute;right:0;top:0;width:66%;margin:0;transform:rotate(4deg) translate3d(0,var(--py,0px),0);transition:transform .2s linear}
.tb-home-hero-img-in{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:var(--r-l);box-shadow:0 50px 80px -40px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.14);background:var(--nuit-3);line-height:0}
.tb-home-hero-img-in::after{content:'';position:absolute;inset:0;background:linear-gradient(200deg,rgba(14,39,66,0) 40%,rgba(14,39,66,.55))}
.tb-home-hero-img img{width:100%;height:100%;object-fit:cover}
.js .tb-home-hero-img-in img{animation:tbZoomIn 2.2s var(--ease) both}
@keyframes tbZoomIn{from{transform:scale(1.2);opacity:.2}to{transform:none;opacity:1}}
.tb-home-hero-img::before{content:'';position:absolute;inset:-18px 18px 18px -18px;border-radius:var(--r-l);border:1.5px dashed rgba(242,179,61,.55);transform:rotate(-6deg);animation:tbSway 9s ease-in-out infinite alternate}
@keyframes tbSway{from{transform:rotate(-6deg)}to{transform:rotate(-2deg) translate(6px,-4px)}}
.tb-dash{position:absolute;left:0;bottom:30px;z-index:3;width:min(430px,82%);padding:1rem 1.1rem 1.1rem;border-radius:22px;background:rgba(10,29,51,.72);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.13);box-shadow:0 40px 70px -30px rgba(0,0,0,.75);transform:rotateY(8deg) rotateX(3deg) translate3d(var(--dx,0px),var(--dy,0px),0);transform-style:preserve-3d;transition:transform .25s linear}
.js .tb-dash{animation:tbDashIn 1.2s var(--ease) .35s both}
@keyframes tbDashIn{from{opacity:0;translate:0 50px}to{opacity:1;translate:0 0}}
.tb-dash-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}
.tb-dash-dots{display:flex;gap:4px}.tb-dash-dots i{width:8px;height:8px;border-radius:50%;background:var(--corail)}.tb-dash-dots i:nth-child(2){background:var(--ambre)}.tb-dash-dots i:nth-child(3){background:var(--vert)}
.tb-dash-t{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sur-nuit)}
.tb-dash-live{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vert);padding:.15rem .5rem;border-radius:999px;background:rgba(16,163,127,.14)}
.tb-dash-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--vert);animation:tbBlink 1.4s ease-in-out infinite}
@keyframes tbBlink{50%{opacity:.2}}
.tb-dash-grid{display:grid;grid-template-columns:1fr 104px;gap:.8rem;align-items:center}
.tb-dash-chart{display:block;width:100%;height:auto;overflow:visible}
.tb-g{transform-box:fill-box;transform-origin:50% 100%;animation:tbBarPulse 3.4s ease-in-out infinite alternate}
.js .tb-g{animation:tbGrow 1s var(--spring) both,tbBarPulse 3.4s ease-in-out 2s infinite alternate}
.tb-g:nth-of-type(1){animation-delay:.6s,2s}.tb-g:nth-of-type(2){animation-delay:.7s,2.4s}.tb-g:nth-of-type(3){animation-delay:.8s,2.8s}.tb-g:nth-of-type(4){animation-delay:.9s,3.2s}.tb-g:nth-of-type(5){animation-delay:1s,3.6s}.tb-g:nth-of-type(6){animation-delay:1.1s,4s}
@keyframes tbGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes tbBarPulse{from{transform:scaleY(1)}to{transform:scaleY(.86)}}
.tb-dash-line{stroke-dasharray:1;stroke-dashoffset:0}
.js .tb-dash-line{animation:tbDraw 2.2s var(--ease) .9s both}
.js .tb-dash-fill{animation:tbFade 1.2s ease 2s both}
@keyframes tbDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.tb-dash-pt{transform-box:fill-box;transform-origin:center;animation:tbPulse 1.8s ease-in-out infinite}
.js .tb-dash-pt{animation:tbPopIn .6s var(--spring) 2.9s both,tbPulse 1.8s ease-in-out 3.5s infinite}
@keyframes tbPulse{50%{transform:scale(1.35)}}
@keyframes tbPopIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.tb-dash-gauge{text-align:center}
.tb-dash-gauge svg{display:block;width:100%;height:auto}
.tb-dash-gauge span{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sur-nuit);margin-top:.2rem}
.tb-dash-arc{stroke-dasharray:100;stroke-dashoffset:22}
.tb-dash-arc2{stroke-dasharray:100;stroke-dashoffset:38}
.tb-dash-check{stroke-dasharray:1;stroke-dashoffset:0}
.js .tb-dash-arc{animation:tbArc 2s var(--ease) 1s both}
.js .tb-dash-arc2{animation:tbArc2 2.2s var(--ease) 1.3s both}
.js .tb-dash-check{animation:tbDraw .7s var(--ease) 2.8s both}
@keyframes tbArc{from{stroke-dashoffset:100}to{stroke-dashoffset:22}}
@keyframes tbArc2{from{stroke-dashoffset:100}to{stroke-dashoffset:38}}
.tb-dash-rows{display:grid;gap:.45rem;margin-top:.7rem}
.tb-dash-rows span{position:relative;display:block;height:22px;border-radius:8px;background:rgba(255,255,255,.06);overflow:hidden}
.tb-dash-rows span::before{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:8px;background:linear-gradient(90deg,rgba(16,163,127,.9),rgba(88,166,255,.85));transform-origin:left;animation:tbRow 1.6s var(--ease) both}
.tb-dash-rows span:nth-child(2)::before{background:linear-gradient(90deg,rgba(242,179,61,.95),rgba(255,107,91,.8));animation-delay:.2s}
.tb-dash-rows span:nth-child(3)::before{animation-delay:.4s}
.js .tb-dash-rows span::before{animation-delay:1.4s}.js .tb-dash-rows span:nth-child(2)::before{animation-delay:1.6s}.js .tb-dash-rows span:nth-child(3)::before{animation-delay:1.8s}
@keyframes tbRow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tb-dash-rows i{position:relative;z-index:1;font-style:normal;font-family:var(--mono);font-size:.66rem;line-height:22px;padding-left:.6rem;color:#fff;letter-spacing:.04em}
.tb-kpis{list-style:none;margin:0;padding:0}
.tb-kpi{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:.55rem;padding:.55rem 1rem .55rem .6rem;border-radius:16px;background:#fff;color:var(--nuit);font-weight:700;font-size:.92rem;line-height:1.1;white-space:nowrap;box-shadow:0 22px 40px -18px rgba(0,0,0,.6);animation:tbBob 6s ease-in-out infinite}
.js .tb-kpi{opacity:0;animation:tbKpiIn .8s var(--spring) forwards,tbBob 6s ease-in-out 2.2s infinite}
@keyframes tbKpiIn{from{opacity:0;transform:scale(.4) translateY(24px)}to{opacity:1;transform:none}}
@keyframes tbBob{0%,100%{translate:0 0}50%{translate:0 -10px}}
.tb-kpi b{font-family:var(--display);font-weight:800;font-size:1.9rem;line-height:1;color:var(--vert-f);padding:0 .15rem 0 .35rem;font-variant-numeric:tabular-nums}
.tb-kpi-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--menthe);color:var(--vert-f)}
.tb-kpi-ico svg{width:19px;height:19px}
.tb-kpi--1{left:-2%;top:4%;animation-delay:1.3s,2.4s}
.tb-kpi--2{right:-3%;top:40%;animation-delay:1.5s,3.1s}
.tb-kpi--2 .tb-kpi-ico{background:var(--ciel-l);color:#1E5FB0}
.tb-kpi--3{left:36%;top:-2%;animation-delay:1.7s,3.8s}
.tb-kpi--3 .tb-kpi-ico{background:var(--ambre-l);color:#8A5A00}
.tb-kpi--4{right:4%;bottom:-2%;animation-delay:1.9s,4.4s}
.tb-kpi--4 .tb-kpi-ico{background:var(--corail-l);color:var(--corail-t)}
.js .tb-kpi--1{animation-delay:1.3s,2.4s}.js .tb-kpi--2{animation-delay:1.5s,3.1s}.js .tb-kpi--3{animation-delay:1.7s,3.8s}.js .tb-kpi--4{animation-delay:1.9s,4.4s}
@media (max-width:1180px) and (min-width:981px){.tb-kpi--3{left:26%}}
@media (max-width:980px){
  .tb-home-hero{padding:2.4rem 1.2rem 6.4rem}
  .tb-home-hero-in{grid-template-columns:1fr;gap:2.4rem;min-height:0}
  .tb-home-hero-art{min-height:0;max-width:520px;width:100%;margin:0 auto;padding:1.4rem 0 1rem}
  .tb-home-hero-img{position:relative;width:72%;margin-left:auto;right:auto;top:auto}
  .tb-dash{position:relative;left:auto;bottom:auto;width:88%;margin-top:-38%;transform:none}
  .tb-kpi{font-size:.82rem;padding:.42rem .75rem .42rem .45rem;border-radius:13px}
  .tb-kpi b{font-size:1.45rem}.tb-kpi-ico{width:28px;height:28px}.tb-kpi-ico svg{width:16px;height:16px}
  .tb-kpi--1{left:0;top:2%}.tb-kpi--2{right:0;top:30%}.tb-kpi--3{left:auto;right:8%;top:-3%}.tb-kpi--4{right:0;bottom:-3%}
}
@media (max-width:520px){.tb-dash-live{display:none}.tb-dash-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-home-hero .tb-kicker{font-size:.7rem;letter-spacing:.1em}.tb-home-ctas .tb-btn{width:100%}.tb-home-lead{font-size:1.06rem}.tb-dash{width:94%;padding:.8rem}.tb-dash-grid{grid-template-columns:1fr 82px}.tb-kpi--3{display:none}}

/* ---------- Bandeau défilant ---------- */
.tb-marquee{position:relative;z-index:3;margin:-3.4rem 0 0;padding:1.8rem 0;overflow:hidden}
.tb-marquee-band{width:110%;margin-left:-5%;overflow:hidden}
.tb-marquee-band--back{position:absolute;left:0;top:50%;background:var(--vert);transform:translateY(-50%) rotate(2.6deg);padding:.45rem 0}
.tb-marquee-band--front{position:relative;background:var(--ambre);transform:rotate(-1.4deg);padding:.95rem 0;box-shadow:0 24px 40px -26px rgba(14,39,66,.8)}
.tb-marquee-track{display:flex;width:max-content;animation:tbMarquee 46s linear infinite}
.tb-marquee-band--back .tb-marquee-track{animation-direction:reverse;animation-duration:60s}
.tb-marquee:hover .tb-marquee-track{animation-play-state:paused}
.tb-marquee ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex:0 0 auto}
.tb-marquee li{display:inline-flex;align-items:center;gap:.9rem;padding:0 1.3rem;font-family:var(--display);font-weight:800;font-size:clamp(1.2rem,2.2vw,1.6rem);letter-spacing:-.01em;color:var(--nuit);white-space:nowrap}
.tb-marquee li svg{width:24px;height:24px;color:var(--nuit);flex:0 0 24px;opacity:.75}
.tb-marquee-band--back li{font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--nuit)}
.tb-marquee-band--back li::after{content:'+';margin-left:1.3rem;font-weight:700;color:#fff}
@keyframes tbMarquee{to{transform:translateX(-50%)}}

/* ---------- Frise « Le parcours de la cession » ---------- */
.tb-path{position:relative;max-width:var(--w-max);margin:0 auto;padding:4.2rem 1.5rem 3rem}
.tb-path-head{max-width:760px;margin-bottom:2.6rem}
.tb-path-sub{margin:0;color:var(--muted);font-size:1.06rem}
.tb-path-list{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.2rem}
.tb-path-list::before,.tb-path-list::after{content:'';position:absolute;left:calc(100% / 12);right:calc(100% / 12);top:31px;height:3px;border-radius:3px}
.tb-path-list::before{background:repeating-linear-gradient(90deg,var(--ligne-2) 0 8px,transparent 8px 14px)}
.tb-path-list::after{background:linear-gradient(90deg,var(--vert),var(--ciel),var(--ambre));transform-origin:left;transform:scaleX(1);box-shadow:0 0 16px rgba(16,163,127,.5)}
.js .tb-path-list::after{transform:scaleX(0);transition:transform 2.6s cubic-bezier(.45,.1,.3,1) .2s}
.js .tb-path.is-in .tb-path-list::after{transform:scaleX(1)}
.tb-path-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 .2rem}
.tb-path-dot{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--vert);color:#fff;border:2px solid var(--vert);box-shadow:0 0 0 7px var(--ivoire),0 18px 30px -14px rgba(16,163,127,.8);margin-bottom:1rem;transition:background .5s,color .5s,border-color .5s,transform .7s var(--spring),box-shadow .5s}
.tb-path-dot svg{width:28px;height:28px}
.js .tb-path-dot{background:#fff;color:var(--ardoise);border-color:var(--ligne-2);box-shadow:0 0 0 7px var(--ivoire);transform:scale(.86)}
.js .tb-path.is-in .tb-path-dot{background:var(--vert);color:#fff;border-color:var(--vert);box-shadow:0 0 0 7px var(--ivoire),0 18px 30px -14px rgba(16,163,127,.8);transform:scale(1);transition-delay:calc(.35s + var(--k) * .42s)}
.tb-path-step:hover .tb-path-dot{transform:translateY(-4px) rotate(-6deg)!important}
.tb-path-n{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;color:var(--vert-f);margin-bottom:.3rem}
.tb-path-t{font-family:var(--display);font-weight:800;font-size:1.12rem;line-height:1.2;color:var(--nuit);margin-bottom:.4rem}
.tb-path-d{font-size:.9rem;line-height:1.55;color:var(--muted)}
.js .tb-path-n,.js .tb-path-t,.js .tb-path-d{opacity:.35;transition:opacity .6s}
.js .tb-path.is-in .tb-path-n,.js .tb-path.is-in .tb-path-t,.js .tb-path.is-in .tb-path-d{opacity:1;transition-delay:calc(.45s + var(--k) * .42s)}
@media (max-width:980px){
  .tb-path{padding:3rem 1.2rem 2rem}
  .tb-path-list{grid-template-columns:1fr;gap:1.2rem}
  .tb-path-list::before,.tb-path-list::after{left:31px;right:auto;top:32px;bottom:32px;width:3px;height:auto}
  .tb-path-list::before{background:repeating-linear-gradient(180deg,var(--ligne-2) 0 8px,transparent 8px 14px)}
  .tb-path-list::after{background:linear-gradient(180deg,var(--vert),var(--ciel),var(--ambre));transform-origin:top;transform:scaleY(1)}
  .js .tb-path-list::after{transform:scaleY(0)}
  .js .tb-path.is-in .tb-path-list::after{transform:scaleY(1)}
  .tb-path-step{display:grid;grid-template-columns:64px 1fr;column-gap:1.1rem;text-align:left;align-items:start}
  .tb-path-dot{grid-row:1/4;margin:0}
  .tb-path-n{margin:.4rem 0 .1rem}
}

/* ---------- Héros pages / articles / blog ---------- */
.tb-hero{padding:2.4rem 1.5rem 7rem}
.tb-hero-curve{position:absolute;left:0;right:0;bottom:30px;width:100%;height:78%;z-index:-1;pointer-events:none;opacity:.8}
.tb-curve-a{stroke-dasharray:1;stroke-dashoffset:0;filter:drop-shadow(0 0 8px rgba(16,163,127,.55))}
.js .tb-curve-a{animation:tbDraw 3.2s var(--ease) .3s both}
.tb-curve-b{animation:tbDash 30s linear infinite}
@keyframes tbDash{to{stroke-dashoffset:-240}}
.tb-hero-in{position:relative;z-index:2;max-width:var(--w-max);margin:0 auto}
.tb-hero.has-img .tb-hero-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:3.5rem;align-items:center}
.tb-hero h1{font-size:clamp(2rem,3.9vw,3.35rem);line-height:1.06;margin:.1rem 0 1.3rem;max-width:22ch;letter-spacing:-.03em}
.tb-hero:not(.has-img) h1{max-width:28ch}
.js .tb-hero-txt>*{opacity:0;animation:tbFadeUp .9s var(--ease) forwards}
.js .tb-hero-txt>*:nth-child(2){animation-delay:.1s}.js .tb-hero-txt>*:nth-child(3){animation-delay:.2s}.js .tb-hero-txt>*:nth-child(4){animation-delay:.32s}
.tb-crumbs{display:flex;width:fit-content;max-width:100%;flex-wrap:wrap;gap:.2rem .5rem;align-items:center;font-size:.86rem;font-weight:600;color:var(--sur-nuit);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:.32rem .95rem;border-radius:999px;margin-bottom:1.2rem}
.tb-crumbs a{color:#fff;text-decoration:none;background:linear-gradient(var(--ambre),var(--ambre)) no-repeat 0 100%/0 2px;transition:background-size .35s var(--ease)}
.tb-crumbs a:hover{background-size:100% 2px}
.tb-crumb-sep{color:var(--vert)}
.tb-crumb-cur{color:var(--sur-nuit)}
.tb-hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}
.tb-hero-meta span{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:.36rem .85rem .36rem .6rem;border-radius:999px;font-size:.86rem;font-weight:600;color:#fff}
.tb-hero-meta svg{width:17px;height:17px;color:var(--vert)}
.tb-hero-img{position:relative;margin:0;justify-self:end;width:100%;max-width:560px}
.tb-hero-img::before{content:'';position:absolute;inset:18px -16px -16px 18px;border-radius:var(--r-l);border:1.5px dashed rgba(242,179,61,.6);animation:tbSway 10s ease-in-out infinite alternate}
.tb-hero-img-in{display:block;position:relative;overflow:hidden;border-radius:var(--r-l);aspect-ratio:4/3;background:var(--nuit-3);box-shadow:0 44px 80px -40px rgba(0,0,0,.8);line-height:0;transform:rotate(-1.5deg);border:1px solid rgba(255,255,255,.14)}
.tb-hero-img-in img{width:100%;height:112%;object-fit:cover;transform:translate3d(0,var(--py,0px),0) scale(1.02);will-change:transform}
.js .tb-hero-img-in{animation:tbReveal 1.2s var(--ease) .15s both}
@keyframes tbReveal{from{clip-path:inset(10% 10% 10% 10% round 40px);opacity:0}to{clip-path:inset(0 0 0 0 round 0);opacity:1}}
.tb-hero-tag{position:absolute;left:-22px;bottom:26px;display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:var(--vert);color:#fff;box-shadow:0 20px 34px -14px rgba(16,163,127,.9);animation:tbBob 6s ease-in-out infinite}
.tb-hero-tag svg{width:30px;height:30px}
@media (max-width:980px){
  .tb-hero{padding:1.8rem 1.2rem 5.6rem}
  .tb-hero.has-img .tb-hero-in{grid-template-columns:1fr;gap:2rem}
  .tb-hero-img{justify-self:center;max-width:560px}
  .tb-hero-tag{left:-8px;width:52px;height:52px}
}

/* ---------- Mise en page + sommaire replié ---------- */
.tb-layout{max-width:var(--w-max);margin:0 auto;padding:1rem 1.5rem 3.6rem}
.tb-toc{max-width:var(--w-text);margin:0 auto 2.8rem}
.tb-toc details{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-s);border:1px solid var(--ligne);overflow:hidden;transition:box-shadow .3s}
.tb-toc details[open]{box-shadow:var(--shadow)}
.tb-toc summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;font-family:var(--display);font-weight:800;font-size:1.2rem;color:var(--nuit)}
.tb-toc summary::-webkit-details-marker{display:none}
.tb-toc-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--nuit);color:var(--vert);flex:0 0 44px;transition:background .3s,transform .4s var(--spring)}
.tb-toc summary:hover .tb-toc-ico{transform:rotate(-8deg);background:var(--vert);color:var(--nuit)}
.tb-toc-ico svg{width:22px;height:22px}
.tb-toc-lab{display:flex;flex-direction:column;line-height:1.2}
.tb-toc-lab small{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:.2rem}
.tb-toc-chev{margin-left:auto;width:36px;height:36px;border-radius:12px;background:var(--menthe);position:relative;transition:transform .45s var(--spring),background .3s;flex:0 0 36px}
.tb-toc-chev::before{content:'';position:absolute;left:50%;top:44%;width:9px;height:9px;border-right:2.5px solid var(--vert-f);border-bottom:2.5px solid var(--vert-f);transform:translate(-50%,-50%) rotate(45deg)}
.tb-toc details[open] .tb-toc-chev{transform:rotate(180deg);background:var(--ambre-l)}
.tb-toc ol{list-style:none;margin:0;padding:.3rem 1rem 1.2rem;counter-reset:toc;columns:2 340px;column-gap:1.4rem;border-top:1px solid var(--ligne)}
.tb-toc li{counter-increment:toc;break-inside:avoid}
.tb-toc a{display:flex;gap:.7rem;padding:.5rem .6rem;border-radius:12px;text-decoration:none;color:var(--encre);font-size:.95rem;line-height:1.4;transition:background .25s,color .25s,transform .3s var(--spring)}
.tb-toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--mono);font-weight:500;font-size:.78rem;line-height:1.8;color:var(--vert-f);min-width:1.4rem}
.tb-toc a:hover{background:var(--menthe);transform:translateX(4px)}
.tb-toc a.is-current{background:var(--nuit);color:#fff}
.tb-toc a.is-current::before{color:var(--ambre)}

/* ---------- Corps de texte ---------- */
.tb-prose{max-width:var(--w-text);margin:0 auto;min-width:0}
.tb-prose::after{content:'';display:table;clear:both}
.tb-prose p{margin:0 0 1.2rem}
.tb-prose h2{position:relative;clear:both;counter-increment:h2;font-size:clamp(1.75rem,3vw,2.45rem);margin:4rem 0 1.2rem;padding-top:2.1rem;scroll-margin-top:100px}
.tb-prose h2::before{content:counter(h2,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--mono);font-weight:500;font-size:.78rem;letter-spacing:.12em;color:var(--vert-f);padding:.18rem .55rem;border-radius:8px;background:var(--menthe)}
.tb-prose h2::after{content:'';position:absolute;left:3.2rem;top:.72rem;width:min(220px,40%);height:2px;border-radius:2px;background:linear-gradient(90deg,var(--vert),var(--ciel) 60%,transparent);transform-origin:left;transition:transform 1.2s var(--ease) .15s}
.js .tb-prose h2::after{transform:scaleX(0)}
.js .tb-prose h2.is-in::after{transform:scaleX(1)}
.tb-prose h3{position:relative;font-size:clamp(1.25rem,2.1vw,1.5rem);font-weight:700;letter-spacing:-.015em;color:var(--nuit);margin:2.4rem 0 .8rem;padding-left:1.6rem;scroll-margin-top:100px}
.tb-prose h3::before{content:'';position:absolute;left:0;top:.28em;width:14px;height:14px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5 0h4a1 1 0 0 1 1 1v3h3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-3v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3H1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V1a1 1 0 0 1 1-1Z' fill='%2310A37F'/%3E%3C/svg%3E")}
.tb-prose h4{font-size:1.15rem;margin:1.8rem 0 .6rem}
.tb-prose strong{color:var(--nuit);font-weight:700}
.tb-prose em{font-style:italic}
.tb-prose a{color:var(--vert-f);font-weight:600;text-decoration:none;background:linear-gradient(var(--ambre),var(--ambre)) no-repeat 0 100%/0% 3px;transition:background-size 1.1s var(--ease),color .3s;padding-bottom:1px}
.tb-prose a.is-lit{background-size:100% 3px}
.tb-prose a:hover{color:var(--nuit);background-size:100% 100%;background-image:linear-gradient(rgba(242,179,61,.35),rgba(242,179,61,.35));transition-duration:.35s}
.tb-prose ul,.tb-prose ol{padding-left:1.4rem}
.tb-prose li::marker{color:var(--vert)}
.tb-prose>*:first-child{margin-top:0}
.tb-prose .mp-chapo{position:relative;isolation:isolate;font-size:1.2rem;line-height:1.75;color:var(--encre);padding:2rem 2.2rem 2rem 2.6rem;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-s);border:1px solid var(--ligne);margin:0 0 2.8rem;overflow:hidden}
.tb-prose .mp-chapo::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--vert),var(--ciel),var(--ambre))}
.tb-prose .mp-chapo::after{content:'';position:absolute;right:-20px;top:-20px;width:220px;height:220px;z-index:-1;background-image:var(--crosses-d);background-size:32px 32px;opacity:.14;-webkit-mask-image:radial-gradient(circle at 70% 30%,#000,transparent 70%);mask-image:radial-gradient(circle at 70% 30%,#000,transparent 70%)}
.tb-prose .mp-chapo strong{background:linear-gradient(transparent 62%,rgba(242,179,61,.55) 62%)}

/* Photos */
figure{margin-left:0;margin-right:0}
.mp-photo{position:relative;margin:2.8rem 0;clear:both}
.mp-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover;background:var(--menthe)}
.mp-photo::before{content:'';position:absolute;inset:16px -16px 40px 16px;border-radius:var(--r);background:linear-gradient(135deg,var(--menthe),var(--ciel-l));transition:transform .8s var(--ease)}
.mp-photo:hover::before{transform:translate(6px,-4px)}
.mp-photo::after{content:'';position:absolute;right:-16px;top:-14px;z-index:2;width:44px;height:44px;border-radius:14px;background:var(--vert) no-repeat center/55% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 3.5h5v6h6v5h-6v6h-5v-6h-6v-5h6Z' fill='none' stroke='%230E2742' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E");box-shadow:0 14px 24px -12px rgba(16,163,127,.9);animation:tbBob 6s ease-in-out infinite}
.mp-photo figcaption,.mp-infog figcaption,.tb-prose figure figcaption{position:relative;font-size:.9rem;color:var(--muted);margin-top:.85rem;padding-left:1.7rem;line-height:1.55}
.mp-photo figcaption::before,.mp-infog figcaption::before,.tb-prose figure figcaption::before{content:'';position:absolute;left:0;top:.25rem;width:1rem;height:1rem;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5 0h4a1 1 0 0 1 1 1v3h3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-3v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3H1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V1a1 1 0 0 1 1-1Z' fill='%2310A37F'/%3E%3C/svg%3E")}

/* Infographies */
.mp-infog{position:relative;margin:2.8rem 0;padding:1.8rem 1.6rem 1.4rem;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-s);border:1px solid var(--ligne);clear:both}
.mp-infog::before{content:'Infographie';position:absolute;left:1.4rem;top:-.75rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre);background:var(--nuit);padding:.25rem .65rem;border-radius:8px}
.mp-infog svg{display:block;width:100%;height:auto;font-family:var(--sans);overflow:visible;max-width:980px;margin:0 auto}
.mp-infog figcaption{margin-top:1rem}

/* Encadrés */
.mp-astuce{position:relative;clear:both;margin:2.6rem 0;padding:1.5rem 1.7rem 1.4rem 5.6rem;background:var(--menthe);border-radius:var(--r);font-size:1rem;overflow:hidden;isolation:isolate}
.mp-astuce::before{content:'';position:absolute;left:1.35rem;top:1.4rem;width:3rem;height:3rem;border-radius:15px;background:var(--nuit) no-repeat center/56% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.6 10.8c.7.5 1.1 1.3 1.1 2.2h5c0-.9.4-1.7 1.1-2.2A6 6 0 0 0 12 3Z' fill='none' stroke='%2310A37F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");box-shadow:0 12px 22px -12px rgba(14,39,66,.8);animation:tbBob 5s ease-in-out infinite}
.mp-astuce::after{content:'';position:absolute;right:-30px;bottom:-30px;width:180px;height:180px;z-index:-1;background-image:var(--crosses-d);background-size:30px 30px;opacity:.18;-webkit-mask-image:radial-gradient(circle,#000,transparent 70%);mask-image:radial-gradient(circle,#000,transparent 70%)}
.mp-astuce p{position:relative;margin:0 0 .45rem}
.mp-astuce p:last-child{margin-bottom:0}
.mp-astuce .mp-astuce-t,.tb-prose .mp-astuce-t{font-family:var(--display);font-weight:800;font-size:1.2rem;line-height:1.2;color:var(--nuit);margin-bottom:.4rem}
.mp-astuce.mp-alerte{background:var(--corail-l)}
.mp-astuce.mp-alerte::before{background-color:var(--corail);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7v6M12 17h.01' fill='none' stroke='%23FFFFFF' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E");box-shadow:0 12px 22px -12px rgba(255,107,91,.9)}
.mp-astuce.mp-alerte .mp-astuce-t{color:var(--corail-t)}

/* Fiches */
.mp-fiches{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin:2.6rem 0;clear:both;perspective:1000px}
.mp-fiche{position:relative;background:#fff;border-radius:var(--r);padding:1.5rem 1.35rem 1.25rem;box-shadow:var(--shadow-s);border:1px solid var(--ligne);font-size:.96rem;line-height:1.6;overflow:hidden}
.mp-fiche::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--vert)}
.mp-fiche:nth-child(4n+2)::before{background:var(--ciel)}.mp-fiche:nth-child(4n+3)::before{background:var(--ambre)}.mp-fiche:nth-child(4n+4)::before{background:var(--corail)}
.mp-fiche p{position:relative;margin:0 0 .55rem}
.mp-fiche-ico{position:relative;width:64px;height:64px;margin-bottom:.9rem;display:grid;place-items:center;border-radius:18px;background:var(--menthe);transition:transform .6s var(--spring)}
.mp-fiche:nth-child(4n+2) .mp-fiche-ico{background:var(--ciel-l)}.mp-fiche:nth-child(4n+3) .mp-fiche-ico{background:var(--ambre-l)}.mp-fiche:nth-child(4n+4) .mp-fiche-ico{background:var(--corail-l)}
.mp-fiche:hover .mp-fiche-ico{transform:rotate(-8deg) scale(1.08)}
.mp-fiche-ico svg{position:relative;z-index:1;width:78%;height:78%}
.mp-fiche-t,.tb-prose .mp-fiche-t{font-family:var(--display);font-weight:800;font-size:1.18rem;line-height:1.25;color:var(--nuit);margin-bottom:.45rem!important}
.mp-fiche-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.mp-fiche-tags span{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;padding:.18rem .55rem;border-radius:7px;background:var(--ivoire);border:1px solid var(--ligne);color:var(--nuit)}

/* Inclinaison 3D + reflet (cartes, fiches, chiffres) */
.tb-tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));transition:transform .5s var(--ease),box-shadow .4s}
.tb-tilt.is-hover{transition:transform .12s linear,box-shadow .4s;--lift:-6px;box-shadow:var(--shadow)}
.tb-tilt::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),transparent 42%),linear-gradient(115deg,transparent 35%,rgba(88,166,255,.10) 50%,transparent 65%);opacity:0;transition:opacity .4s;z-index:2;mix-blend-mode:soft-light}
.tb-tilt.is-hover::after{opacity:1}

/* Barres */
.mp-barres{position:relative;isolation:isolate;clear:both;margin:2.6rem 0;padding:1.8rem 1.9rem;background:var(--nuit);color:var(--sur-nuit);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.mp-barres::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 100% 0%,rgba(16,163,127,.35),transparent 50%),radial-gradient(circle at 0% 100%,rgba(88,166,255,.22),transparent 45%)}
.mp-barres::after{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--crosses);background-size:48px 48px;opacity:.12}
.mp-barres-t,.tb-prose .mp-barres-t{position:relative;font-family:var(--display);font-weight:800;font-size:1.4rem;line-height:1.2;color:#fff;margin:0 0 1.2rem}
.mp-barre{position:relative;display:grid;grid-template-columns:minmax(120px,32%) 1fr 7.4rem;align-items:center;gap:1rem;margin:.75rem 0;font-size:.96rem}
.mp-barre span{color:#fff}
.mp-barre b{grid-column:3;font-family:var(--mono);font-weight:500;color:var(--ambre);text-align:right;font-size:.84rem;line-height:1.3}
.mp-barre::before{content:'';grid-column:2;grid-row:1;height:14px;border-radius:999px;background:rgba(255,255,255,.1)}
.mp-barre::after{content:'';grid-column:2;grid-row:1;height:14px;border-radius:999px;background:linear-gradient(90deg,var(--vert),var(--ciel));width:calc(var(--v,50) * 1%);transform-origin:left;transition:transform 1.6s var(--ease);box-shadow:0 0 14px rgba(16,163,127,.5)}
.mp-barre:nth-of-type(3n+2)::after{background:linear-gradient(90deg,var(--ciel),var(--ambre))}
.mp-barre:nth-of-type(3n+3)::after{background:linear-gradient(90deg,var(--ambre),var(--corail))}
.js .mp-barres:not(.is-in) .mp-barre::after{transform:scaleX(0)}
.mp-barres.is-in .mp-barre:nth-of-type(2)::after{transition-delay:.12s}.mp-barres.is-in .mp-barre:nth-of-type(3)::after{transition-delay:.24s}.mp-barres.is-in .mp-barre:nth-of-type(4)::after{transition-delay:.36s}.mp-barres.is-in .mp-barre:nth-of-type(5)::after{transition-delay:.48s}.mp-barres.is-in .mp-barre:nth-of-type(6)::after{transition-delay:.6s}

/* Chiffres */
.mp-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.1rem;margin:2.6rem 0;clear:both}
.mp-chiffre{position:relative;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:1.5rem 1.2rem 1.3rem;overflow:hidden;box-shadow:var(--shadow-s)}
.mp-chiffre:first-child{background:var(--nuit);border-color:var(--nuit)}
.mp-chiffre:first-child b{color:#fff}.mp-chiffre:first-child span{color:var(--sur-nuit)}
.mp-chiffre::before{content:'';position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:11px;background:var(--menthe) no-repeat center/55% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17l5-5 4 3 7-8' fill='none' stroke='%230B7A5F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.mp-chiffre:first-child::before{background-color:rgba(16,163,127,.2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17l5-5 4 3 7-8' fill='none' stroke='%2310A37F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.mp-chiffre:nth-child(4n+3)::before{background-color:var(--ambre-l)}.mp-chiffre:nth-child(4n+4)::before{background-color:var(--ciel-l)}
.mp-chiffre b{position:relative;display:block;font-family:var(--display);font-weight:800;font-size:clamp(2.3rem,4vw,3rem);color:var(--vert-f);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:.2rem}
.mp-chiffre span{position:relative;display:block;font-size:.92rem;color:var(--muted);line-height:1.45;margin-top:.55rem}
.mp-chiffre b.is-roll{animation:tbRoll .12s linear infinite}
@keyframes tbRoll{50%{transform:translateY(-2px)}}

/* Étapes : frise verticale avec ligne qui se dessine */
.mp-etapes,.tb-prose .mp-etapes{list-style:none;margin:2.6rem 0;padding:0 0 0 4.6rem;counter-reset:et;position:relative;clear:both}
.mp-etapes::before,.mp-etapes::after{content:'';position:absolute;left:27px;top:24px;bottom:24px;width:3px;border-radius:3px}
.mp-etapes::before{background:repeating-linear-gradient(var(--ligne-2) 0 7px,transparent 7px 13px)}
.mp-etapes::after{background:linear-gradient(180deg,var(--vert),var(--ciel),var(--ambre));transform-origin:top;transition:transform 2.4s cubic-bezier(.45,.1,.3,1) .2s}
.js .mp-etapes:not(.is-in)::after{transform:scaleY(0)}
.mp-etapes li{counter-increment:et;position:relative;z-index:1;margin:0 0 1rem;padding:1.1rem 1.4rem;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);box-shadow:var(--shadow-s);min-height:58px}
.mp-etapes li::after{content:'';position:absolute;left:-1.6rem;top:50%;width:1.6rem;height:2px;background:var(--ligne-2)}
.mp-etapes li::before{content:counter(et,decimal-leading-zero);position:absolute;left:calc(1.5px - 4.6rem);top:50%;margin-top:-26px;width:52px;height:52px;border-radius:16px;background:var(--nuit);color:var(--ambre);font-family:var(--mono);font-weight:500;font-size:1rem;display:grid;place-items:center;box-shadow:0 0 0 6px var(--ivoire);transition:background .5s,color .5s}
.mp-etapes li.is-in::before{animation:tbPopIn .7s var(--spring) both;background:var(--vert);color:var(--nuit)}
.mp-etapes li strong{display:block;font-family:var(--display);font-weight:800;font-size:1.12rem;color:var(--nuit);margin-bottom:.15rem;background:none}
.mp-etapes li span{display:block;color:var(--muted);font-size:.96rem;line-height:1.6}

/* Tableau */
.tb-table-wrap{overflow-x:auto;margin:2.6rem 0;border-radius:var(--r);box-shadow:var(--shadow-s);clear:both;border:1px solid var(--ligne);background:#fff}
.mp-table{width:100%;border-collapse:separate;border-spacing:0;margin:2.6rem 0;font-size:.96rem;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s);clear:both}
.tb-table-wrap .mp-table{margin:0;box-shadow:none;border-radius:0}
.mp-table th{background:var(--nuit);color:#fff;text-align:left;font-family:var(--display);font-weight:700;padding:1rem 1.2rem;font-size:1.02rem;letter-spacing:-.01em}
.mp-table th:first-child{box-shadow:inset 5px 0 0 var(--vert)}
.mp-table td{padding:.9rem 1.2rem;border-top:1px solid var(--ligne);vertical-align:top;line-height:1.55;transition:background .25s}
.mp-table tbody tr:nth-child(even) td{background:#FAF9F4}
.mp-table tbody tr:hover td{background:var(--menthe)}
.mp-table td:first-child{font-weight:700;color:var(--nuit);width:38%}

/* Replis FAQ */
.mp-repli{margin:.9rem 0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-s);border:1px solid var(--ligne);overflow:hidden;clear:both;transition:box-shadow .3s,border-color .3s}
.mp-repli[open]{box-shadow:var(--shadow);border-color:rgba(16,163,127,.5)}
.mp-repli summary{cursor:pointer;padding:1.1rem 4.2rem 1.1rem 1.4rem;font-family:var(--display);font-weight:700;font-size:1.1rem;line-height:1.35;color:var(--nuit);position:relative;list-style:none;transition:background .25s}
.mp-repli summary:hover{background:#FAF9F4}
.mp-repli summary::-webkit-details-marker{display:none}
.mp-repli summary::after{content:'';position:absolute;right:1.1rem;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:11px;background:var(--vert) no-repeat center/15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M2 8h12' stroke='%230E2742' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");transition:transform .45s var(--spring),background-color .3s}
.mp-repli[open] summary::after{transform:rotate(135deg);background-color:var(--ambre)}
.mp-repli>*:not(summary){padding:0 1.4rem 1.2rem;margin:0}

/* Sélecteur */
.mp-selecteur{position:relative;margin:2.8rem 0;padding:1.6rem;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);box-shadow:var(--shadow-s);clear:both}
.mp-sel-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.3rem}
.mp-sel-btns button{font:inherit;font-weight:600;font-size:.92rem;border:1.5px solid var(--ligne-2);background:var(--ivoire);color:var(--nuit);padding:.45rem 1.05rem;border-radius:999px;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .35s var(--spring)}
.mp-sel-btns button:hover{transform:translateY(-2px);border-color:var(--vert)}
.mp-sel-btns button.is-on{background:var(--nuit);border-color:var(--nuit);color:#fff;box-shadow:0 10px 20px -12px rgba(14,39,66,.8)}
.mp-sel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem}
.mp-sel-item{position:relative;background:var(--ivoire);border-radius:16px;padding:1.1rem 1.2rem;font-size:.94rem;line-height:1.55;border:1px solid var(--ligne);border-left:4px solid var(--vert)}
.mp-sel-item:nth-child(3n+2){border-left-color:var(--ciel)}
.mp-sel-item:nth-child(3n+3){border-left-color:var(--ambre)}
.mp-sel-item p{margin:0 0 .35rem}
.mp-sel-item.is-off{display:none}
.mp-sel-item.is-show{animation:tbPopIn .55s var(--spring) both;animation-delay:calc(var(--n,0) * 45ms)}

/* Quiz */
.mp-quiz{position:relative;isolation:isolate;margin:2.8rem 0;padding:1.9rem;background:var(--nuit);border-radius:var(--r);color:var(--sur-nuit);box-shadow:var(--shadow);clear:both;overflow:hidden}
.mp-quiz::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 100% 0%,rgba(88,166,255,.3),transparent 45%),radial-gradient(circle at 0% 100%,rgba(16,163,127,.25),transparent 45%)}
.mp-quiz::after{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--crosses);background-size:48px 48px;opacity:.1}
.mp-quiz-t,.tb-prose .mp-quiz-t{font-family:var(--display);font-weight:800;font-size:1.6rem;line-height:1.1;color:#fff;margin:0 0 1rem}
.mp-quiz-t::before{content:'Quiz';display:inline-block;vertical-align:middle;margin-right:.7rem;font-family:var(--mono);font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nuit);background:var(--ambre);padding:.2rem .55rem;border-radius:7px}
.mp-q{background:rgba(255,255,255,.05);border-radius:16px;padding:1.1rem 1.2rem;margin:.8rem 0;border:1px solid rgba(255,255,255,.12);transition:background .3s,border-color .3s}
.mp-q.is-done{background:rgba(255,255,255,.08)}
.mp-q>p:first-child{margin:0 0 .8rem;font-weight:600;color:#fff}
.mp-q button{font:inherit;font-weight:700;font-size:.95rem;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:999px;padding:.42rem 1.25rem;margin:0 .45rem .3rem 0;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .35s var(--spring)}
.mp-q button:hover:not(:disabled){background:#fff;color:var(--nuit);transform:translateY(-2px)}
.mp-q button:disabled{cursor:default}
.mp-q button.is-good{background:var(--vert);border-color:var(--vert);color:var(--nuit);animation:tbPopIn .5s var(--spring)}
.mp-q button.is-bad{background:var(--corail);border-color:var(--corail);color:var(--nuit);animation:tbShake .5s}
@keyframes tbShake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.mp-q .mp-q-exp{margin:.8rem 0 0;font-size:.95rem;color:var(--sur-nuit);line-height:1.6}
.js .mp-q:not(.is-done) .mp-q-exp{display:none}
.mp-q.is-done .mp-q-exp{animation:tbFadeUp .5s var(--ease)}
.mp-q-verdict{display:inline-block;font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;margin-left:.3rem;color:var(--ambre)}
.mp-quiz-score{margin:1.1rem 0 0;font-family:var(--mono);font-size:.9rem;color:var(--ambre)}
.tb-prose .mp-quiz strong{color:#fff}

/* Formulaire (QuietCMS) */
.mp-form-wrap,.mp-contact-form{position:relative;isolation:isolate;clear:both;margin:2.4rem 0 3rem;padding:2rem 2rem 1.6rem;background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow);border:1px solid var(--ligne);overflow:hidden}
.mp-form-wrap::before,.mp-contact-form::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--vert),var(--ciel),var(--ambre));background-size:200% 100%;animation:tbSlide 8s linear infinite}
@keyframes tbSlide{to{background-position:200% 0}}
.mp-form-wrap::after,.mp-contact-form::after{content:'';position:absolute;right:-30px;top:-10px;width:240px;height:240px;z-index:-1;background-image:var(--crosses-d);background-size:30px 30px;opacity:.12;-webkit-mask-image:radial-gradient(circle,#000,transparent 70%);mask-image:radial-gradient(circle,#000,transparent 70%)}
.mp-form-wrap .qcms-form-wrap,.mp-contact-form .qcms-form-wrap{margin:.2rem 0 0}
.tb-prose .qcms-form .qcms-row{gap:1rem;margin-bottom:1rem}
.tb-prose .qcms-col-half{flex:1 1 calc(50% - .5rem)}
.tb-prose .qcms-col-third{flex:1 1 calc(33.33% - .7rem)}
.tb-prose .qcms-label{color:var(--nuit);font-weight:700;font-size:.9rem;transition:color .25s}
.tb-prose .qcms-field-group:focus-within .qcms-label{color:var(--vert-f)}
.tb-prose .qcms-input{border:2px solid var(--ligne);border-radius:var(--r-s);background:var(--ivoire);color:var(--encre);padding:.85rem 1rem;font-size:1rem;font-family:var(--sans);transition:border-color .25s,box-shadow .35s,background .25s}
.tb-prose .qcms-input:hover{border-color:var(--ligne-2)}
.tb-prose .qcms-input:focus{outline:none;border-color:var(--vert);background:#fff;box-shadow:0 0 0 5px rgba(16,163,127,.18)}
.tb-prose textarea.qcms-input{resize:vertical;min-height:170px}
.tb-prose select.qcms-input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230B7A5F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:18px;padding-right:2.6rem}
.tb-prose .qcms-checkbox-label,.tb-prose .qcms-radio-label{align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--muted)}
.tb-prose .qcms-checkbox-label input,.tb-prose .qcms-radio-label input{margin-top:.25rem;accent-color:var(--vert);width:1.15rem;height:1.15rem;flex:0 0 1.15rem}
.tb-prose .qcms-req{color:var(--corail-t)}
.tb-prose .qcms-field-help{color:var(--muted)}
.tb-prose .qcms-submit{position:relative;overflow:hidden;background:var(--vert);color:var(--nuit);border-radius:999px;padding:1rem 2.2rem;font-weight:700;font-size:1.02rem;font-family:var(--sans);box-shadow:0 18px 34px -18px rgba(16,163,127,.95);transition:transform .35s var(--spring),background .3s,color .3s}
.tb-prose .qcms-submit:hover{background:var(--nuit);color:#fff;transform:translateY(-3px)}
.tb-prose .qcms-alert{border-radius:var(--r-s);font-size:.96rem}
@media (max-width:600px){.mp-form-wrap,.mp-contact-form{padding:1.5rem 1.1rem 1.2rem}.tb-prose .qcms-submit{width:100%;justify-content:center}}

/* ---------- Widgets (calculateurs) ---------- */
:root:not(.js) .mp-calc{display:none}
.mp-calc{position:relative;clear:both;margin:2.8rem 0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--ligne)}
.mp-calc-head{position:relative;isolation:isolate;display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.4rem;background:var(--nuit);color:#fff;font-family:var(--display);font-weight:800;font-size:1.22rem;line-height:1.25;overflow:hidden}
.mp-calc-head::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 100% 0%,rgba(16,163,127,.45),transparent 50%),radial-gradient(circle at 60% 140%,rgba(88,166,255,.3),transparent 50%)}
.mp-calc-head::after{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--crosses);background-size:40px 40px;opacity:.12}
.mp-calc-ico{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:var(--vert);color:var(--nuit)}
.mp-calc-ico svg{width:24px;height:24px}
.mp-calc-head small{display:block;font-family:var(--mono);font-weight:500;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre);line-height:1.2;margin-bottom:.2rem}
.mp-calc-body{padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem 1.4rem;align-items:start}
.mp-calc label,.mp-calc .mp-lab{display:block;font-weight:700;font-size:.9rem;color:var(--nuit);margin-bottom:.35rem}
.mp-calc label b{font-family:var(--mono);font-weight:500;color:var(--vert-f)}
.mp-calc select,.mp-calc input[type=number],.mp-calc input[type=date]{width:100%;font:inherit;padding:.75rem .9rem;border:2px solid var(--ligne);border-radius:var(--r-s);background:var(--ivoire);color:var(--encre);transition:border-color .25s,box-shadow .3s}
.mp-calc select:focus,.mp-calc input[type=number]:focus,.mp-calc input[type=date]:focus{outline:none;border-color:var(--vert);background:#fff;box-shadow:0 0 0 4px rgba(16,163,127,.18)}
.mp-unit{position:relative}
.mp-unit input{padding-right:3.2rem!important}
.mp-unit i{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--mono);font-weight:500;color:var(--muted);font-size:.85rem;pointer-events:none}
.mp-calc-out{grid-column:1/-1;position:relative;isolation:isolate;overflow:hidden;background:var(--nuit);color:var(--sur-nuit);border-radius:18px;padding:1.3rem 1.4rem;display:flex;gap:.6rem 1.4rem;align-items:center;flex-wrap:wrap}
.mp-calc-out::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 100% 0%,rgba(16,163,127,.35),transparent 55%)}
.mp-calc-big{font-family:var(--display);font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:800;color:#fff;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mp-calc-big small{font-size:.5em;color:var(--sur-nuit);font-weight:700}
.mp-calc-out p{margin:0;font-size:.94rem;line-height:1.55;flex:1 1 240px}
.mp-calc-out p b{color:var(--ambre);font-weight:700}
.mp-calc-note{grid-column:1/-1;font-size:.85rem;color:var(--muted);margin:0;padding:.85rem 1rem;border-radius:14px;background:var(--ambre-l);border-left:4px solid var(--ambre);line-height:1.55}
.mp-calc-note b{color:var(--nuit)}
.mp-calc-full{grid-column:1/-1}
.mp-btn{font:inherit;font-weight:700;border:2px solid var(--nuit);background:var(--nuit);color:#fff;border-radius:999px;padding:.6rem 1.3rem;cursor:pointer;transition:transform .35s var(--spring),background .25s,color .25s,border-color .25s}
.mp-btn:hover{transform:translateY(-2px);background:var(--vert);border-color:var(--vert);color:var(--nuit)}
.mp-btn--ghost{background:transparent;color:var(--nuit)}
.mp-btn:disabled{opacity:.45;cursor:default;transform:none}
.mp-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--vert) 0 var(--p,50%),var(--ligne) var(--p,50%));outline:none;margin:.7rem 0 .3rem}
.mp-range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:9px;background:var(--nuit);border:4px solid #fff;box-shadow:0 6px 16px -4px rgba(14,39,66,.6);cursor:pointer;transition:transform .3s var(--spring)}
.mp-range::-moz-range-thumb{width:20px;height:20px;border-radius:8px;background:var(--nuit);border:4px solid #fff;box-shadow:0 6px 16px -4px rgba(14,39,66,.6);cursor:pointer}
.mp-range:active::-webkit-slider-thumb{transform:scale(1.2) rotate(45deg)}
.mp-range:focus-visible{outline:3px solid var(--ambre);outline-offset:4px}
.mp-range-sc{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.7rem;color:var(--muted)}
/* Valeur */
.mp-val-chart{grid-column:1/-1;display:grid;gap:.9rem}
.mp-val-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:.9rem;align-items:center}
.mp-val-row>span{font-weight:700;font-size:.9rem;color:var(--nuit);line-height:1.3}
.mp-val-row>span small{display:block;font-family:var(--mono);font-weight:500;font-size:.72rem;color:var(--muted)}
.mp-val-track{position:relative;height:40px;border-radius:12px;background:var(--ivoire);border:1px solid var(--ligne);overflow:hidden}
.mp-val-bar{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:11px;transition:width 1.1s var(--spring);background:linear-gradient(90deg,var(--vert),#3DDBA9)}
.mp-val-row:nth-child(2) .mp-val-bar{background:linear-gradient(90deg,#2F7FE0,var(--ciel))}
.mp-val-lab{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--mono);font-weight:500;font-size:.8rem;color:var(--nuit);white-space:nowrap;transition:left 1.1s var(--spring),right 1.1s var(--spring)}
.mp-val-lab.is-in-bar{background:rgba(255,255,255,.9);padding:.12rem .45rem;border-radius:6px}
.mp-val-band{position:relative;height:18px;margin:.3rem 0 0}
.mp-val-band i{position:absolute;top:0;bottom:0;border-radius:999px;background:repeating-linear-gradient(45deg,var(--ambre) 0 6px,#F7C866 6px 12px);transition:left .9s var(--spring),width .9s var(--spring)}
/* Droits */
.mp-dr-bar{grid-column:1/-1;display:flex;height:54px;border-radius:14px;overflow:hidden;background:var(--ivoire);border:1px solid var(--ligne)}
.mp-dr-seg{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;font-family:var(--mono);font-size:.74rem;color:var(--nuit);white-space:nowrap;transition:flex-grow 1s var(--spring)}
.mp-dr-seg:nth-child(1){background:var(--menthe)}.mp-dr-seg:nth-child(2){background:var(--vert)}.mp-dr-seg:nth-child(3){background:var(--nuit);color:#fff}
.mp-dr-leg{grid-column:1/-1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}
.mp-dr-leg li{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .8rem;border-radius:12px;background:var(--ivoire);border:1px solid var(--ligne);font-size:.88rem;line-height:1.4}
.mp-dr-leg li i{flex:0 0 14px;height:14px;border-radius:4px;margin-top:.2rem}
.mp-dr-leg li b{display:block;font-family:var(--mono);font-weight:500;color:var(--nuit);font-size:.95rem}
/* listes internes des widgets : pas de retrait de la prose */
.tb-prose .mp-dr-leg,.tb-prose .mp-ck-list,.tb-prose .mp-rp,.tb-prose .tb-kpis,.tb-prose .tb-path-list{padding:0}
/* Rétroplanning */
.mp-rp{grid-column:1/-1;position:relative;list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem}
.mp-rp::before{content:'';position:absolute;left:calc(100% / 14);right:calc(100% / 14);top:21px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--vert),var(--ciel),var(--ambre));transform-origin:left;transform:scaleX(var(--s,1));transition:transform 1.4s var(--ease)}
.mp-rp li{position:relative;z-index:1;text-align:center;opacity:1;transform:none;transition:opacity .5s,transform .6s var(--spring);transition-delay:calc(var(--n,0) * 110ms)}
.mp-rp.is-anim li{opacity:0;transform:translateY(16px)}
.mp-rp-dot{display:grid;place-items:center;margin:0 auto .5rem;width:44px;height:44px;border-radius:14px;background:var(--nuit);color:var(--ambre);font-family:var(--mono);font-size:.82rem;box-shadow:0 0 0 5px #fff}
.mp-rp li:last-child .mp-rp-dot{background:var(--vert);color:var(--nuit)}
.mp-rp li.is-past .mp-rp-dot{background:var(--corail);color:var(--nuit)}
.mp-rp-date{display:block;font-family:var(--mono);font-size:.74rem;color:var(--vert-f);text-transform:uppercase;letter-spacing:.04em}
.mp-rp li.is-past .mp-rp-date{color:var(--corail-t)}
.mp-rp-t{display:block;font-weight:700;font-size:.86rem;line-height:1.3;color:var(--nuit);margin-top:.15rem}
@media (max-width:760px){
  .mp-rp{grid-template-columns:1fr;gap:.7rem}
  .mp-rp::before{left:21px;right:auto;top:22px;bottom:22px;width:3px;height:auto;transform-origin:top;transform:scaleY(var(--s,1))}
  .mp-rp li{display:grid;grid-template-columns:44px 1fr;column-gap:.9rem;text-align:left;align-items:center}
  .mp-rp-dot{grid-row:1/3;margin:0}
  .mp-rp-t{margin:0}
}
/* Check-list */
.mp-ck{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.4rem;align-items:start}
.mp-ck-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.55rem}
.mp-ck-list li{display:flex}
.mp-ck-list label{flex:1}
.mp-ck-list label{display:flex!important;align-items:center;gap:.7rem;margin:0!important;padding:.65rem .8rem;border-radius:12px;background:var(--ivoire);border:1.5px solid var(--ligne);font-weight:600!important;font-size:.9rem!important;line-height:1.35;cursor:pointer;transition:background .25s,border-color .25s,transform .3s var(--spring)}
.mp-ck-list label:hover{border-color:var(--vert);transform:translateX(3px)}
.mp-ck-list input{position:absolute;opacity:0;width:1px;height:1px}
.mp-ck-box{flex:0 0 24px;width:24px;height:24px;border-radius:8px;border:2px solid var(--ligne-2);background:#fff;display:grid;place-items:center;transition:background .3s,border-color .3s}
.mp-ck-box svg{width:14px;height:14px;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .35s var(--ease) .05s}
.mp-ck-list input:checked+.mp-ck-box{background:var(--vert);border-color:var(--vert)}
.mp-ck-list input:checked+.mp-ck-box svg{stroke-dashoffset:0}
.mp-ck-list input:focus-visible+.mp-ck-box{outline:3px solid var(--ambre);outline-offset:2px}
.mp-ck-list label.is-on{background:var(--menthe);border-color:rgba(16,163,127,.45)}
.mp-ck-gauge{position:sticky;top:110px;text-align:center;padding:1.2rem;border-radius:18px;background:var(--nuit);color:var(--sur-nuit)}
.mp-ck-gauge svg{display:block;width:100%;max-width:170px;margin:0 auto}
.mp-ck-arc{transition:stroke-dashoffset 1s var(--spring),stroke .4s}
.mp-ck-gauge p{margin:.6rem 0 0;font-size:.88rem;line-height:1.45}
.mp-ck-gauge .mp-btn{margin-top:.8rem;font-size:.82rem;padding:.4rem 1rem;background:transparent;border-color:rgba(255,255,255,.35)}
.mp-ck-gauge .mp-btn:hover{background:#fff;color:var(--nuit);border-color:#fff}
@media (max-width:760px){.mp-ck{grid-template-columns:1fr}.mp-ck-gauge{position:relative;top:auto;order:-1}}
/* Prêt */
.mp-pret-viz{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.2rem;align-items:center}
.mp-pret-stack{display:flex;height:22px;border-radius:999px;overflow:hidden;background:var(--ivoire);border:1px solid var(--ligne)}
.mp-pret-stack i{display:block;height:100%;transition:flex-grow 1s var(--spring)}
.mp-pret-stack i:first-child{background:linear-gradient(90deg,var(--vert),#3DDBA9)}
.mp-pret-stack i:last-child{background:linear-gradient(90deg,var(--ambre),var(--corail))}
.mp-pret-leg{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:.7rem;font-size:.86rem}
.mp-pret-leg span{display:inline-flex;align-items:center;gap:.4rem}
.mp-pret-leg span::before{content:'';width:12px;height:12px;border-radius:4px;background:var(--vert)}
.mp-pret-leg span:last-child::before{background:var(--ambre)}
.mp-pret-curve{display:block;width:100%;max-width:440px;margin-left:auto;height:auto;background:var(--ivoire);border:1px solid var(--ligne);border-radius:14px}
.mp-pret-curve .mp-pc-line{transition:d .8s var(--ease)}
@media (max-width:760px){.mp-pret-viz{grid-template-columns:1fr}}
@media (max-width:640px){
  .tb-prose .mp-chapo{font-size:1.08rem;padding:1.4rem 1.2rem 1.4rem 1.5rem}
  .mp-infog{padding:1.4rem .8rem .9rem}
  .mp-astuce{padding:4.6rem 1.1rem 1.2rem 1.2rem}
  .mp-astuce::before{left:1.1rem;top:1.1rem;width:2.7rem;height:2.7rem}
  .mp-barres{padding:1.4rem 1.2rem}
  .mp-barre{grid-template-columns:1fr auto;row-gap:.35rem;column-gap:.8rem}
  .mp-barre span{grid-column:1;grid-row:1}
  .mp-barre b{grid-column:2;grid-row:1}
  .mp-barre::before,.mp-barre::after{grid-column:1/-1;grid-row:2}
  .mp-calc-body{padding:1.1rem}
  .mp-etapes,.tb-prose .mp-etapes{padding-left:3.7rem}
  .mp-etapes li{padding:1rem 1.1rem}
  .mp-etapes li::before{left:calc(1.5px - 3.7rem);width:46px;height:46px;margin-top:-23px;font-size:.88rem}
  .mp-etapes li::after{left:-1.1rem;width:1.1rem}
  .mp-etapes::before,.mp-etapes::after{left:24px}
  .mp-quiz{padding:1.4rem 1.1rem}
  .mp-val-row{grid-template-columns:1fr}
  .tb-prose h2::after{display:none}
}

/* ---------- Cartes d’extraits ---------- */
.tb-cards{display:grid;gap:1.5rem;perspective:1200px}
.tb-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tb-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--encre);border:1px solid var(--ligne);box-shadow:var(--shadow-s)}
.tb-card-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--nuit),var(--nuit-3))}
.tb-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(14,39,66,.35))}
.tb-card-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.tb-card:hover .tb-card-img img{transform:scale(1.07)}
.tb-card-body{display:flex;flex-direction:column;flex:1;padding:1.2rem 1.35rem 1.35rem}
.tb-card-meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-f);margin-bottom:.55rem}
.tb-card-meta span{color:var(--muted)}
.tb-card-title{font-family:var(--display);font-weight:800;font-size:1.22rem;line-height:1.22;letter-spacing:-.015em;color:var(--nuit);margin:0 0 .55rem}
.tb-card-ex{font-size:.93rem;line-height:1.6;color:var(--muted);margin-bottom:1rem}
.tb-card-more{margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.92rem;color:var(--vert-f)}
.tb-card-more svg{width:18px;height:18px;transition:transform .35s var(--spring)}
.tb-card:hover .tb-card-more svg{transform:translateX(5px)}
.tb-card:hover .tb-card-title{color:var(--vert-f)}
.tb-card.tb-nolink{cursor:default}
@media (max-width:980px){.tb-cards--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tb-cards--3{grid-template-columns:1fr}}

/* ---------- Accueil : corps + derniers articles ---------- */
.tb-home-body{padding:1.5rem 1.5rem 3rem}
.tb-latest{padding:5rem 1.5rem 5.4rem;margin:1rem 0 2.4rem}
.tb-latest::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 0% 0%,rgba(16,163,127,.35),transparent 45%),radial-gradient(circle at 100% 100%,rgba(88,166,255,.3),transparent 45%)}
.tb-latest-in{position:relative;z-index:1;max-width:var(--w-max);margin:0 auto}
.tb-latest-head{margin-bottom:2.2rem}
.tb-latest-title{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.1;letter-spacing:-.025em;color:#fff;margin:0}

/* ---------- Blog ---------- */
.tb-layout--blog{padding-bottom:1rem}
.tb-cards--blog{max-width:var(--w-max);margin:0 auto;padding:1.5rem 1.5rem 3rem;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.tb-cards--blog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tb-cards--blog{grid-template-columns:1fr;padding:1rem 1rem 2.4rem}}
.tb-empty{grid-column:1/-1;text-align:center;font-size:1.1rem;color:var(--muted)}
.tb-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:0 1.5rem 3rem}
.tb-pagination a,.tb-pagination span{display:grid;place-items:center;min-width:46px;height:46px;padding:0 .8rem;border-radius:14px;font-family:var(--mono);font-weight:500;text-decoration:none;color:var(--nuit);background:#fff;border:1px solid var(--ligne);transition:background .25s,color .25s,transform .3s var(--spring)}
.tb-pagination a:hover{background:var(--vert);color:var(--nuit);transform:translateY(-3px)}
.tb-pagination .tb-pg-cur{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.tb-pagination .tb-pg-gap{background:none;border:0}

/* ---------- Encart rédaction ---------- */
.tb-author{position:relative;isolation:isolate;display:grid;grid-template-columns:84px 1fr;gap:1.4rem;align-items:start;margin:3.6rem 0 0;padding:1.8rem;border-radius:var(--r);background:#fff;border:1px solid var(--ligne);box-shadow:var(--shadow-s);overflow:hidden;clear:both}
.tb-author::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--vert),var(--ciel))}
.tb-author-pic .tb-logo-mark{width:84px;height:84px}
.tb-author p{margin:0 0 .5rem;font-size:.96rem}
.tb-author .tb-author-k{margin-bottom:.3rem;font-size:.74rem}
.tb-author-name{font-family:var(--display);font-weight:800;font-size:1.25rem!important;line-height:1.25;color:var(--nuit)}
@media (max-width:600px){.tb-author{grid-template-columns:1fr;padding:1.4rem}.tb-author-pic .tb-logo-mark{width:64px;height:64px}}

/* ---------- 404 ---------- */
.tb-e404{padding:4rem 1.5rem 6rem;text-align:center}
.tb-e404-in{position:relative;z-index:2;max-width:720px;margin:0 auto}
.tb-e404-art{width:min(360px,90%);margin:0 auto 1rem;display:block}
.tb-e404 h1{font-size:clamp(2rem,4.4vw,3.3rem);margin:.2rem 0 1rem}
.tb-e404 p{color:var(--sur-nuit)}

/* ---------- Pied de page ---------- */
.tb-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--nuit-2);color:var(--sur-nuit);padding:7.4rem 1.5rem 0;margin-top:2rem}
.tb-mesh--footer{opacity:.6}
.tb-footer::after{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--crosses);background-size:64px 64px;opacity:.08}
.tb-footer-curve{position:absolute;left:0;top:0;width:100%;height:96px;z-index:-1}
.tb-footer-logo .tb-logo-mark>rect:first-child{fill:var(--nuit-3)}
.tb-footer-line{stroke-dasharray:1400;stroke-dashoffset:0;animation:tbFooterLine 14s ease-in-out infinite alternate}
@keyframes tbFooterLine{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
.tb-footer-in{position:relative;max-width:var(--w-max);margin:0 auto;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:3rem;padding-bottom:3rem}
.tb-footer-logo{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem}
.tb-footer-logo .tb-logo-mark{width:52px;height:52px;flex:0 0 52px}
.tb-footer-name{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;color:#fff}
.tb-footer-name em{font-style:normal;color:var(--vert)}
.tb-footer p{font-size:.95rem;line-height:1.7;margin:0 0 1rem}
.tb-footer-trust{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.tb-footer-trust li{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .8rem .35rem .55rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:.84rem;font-weight:600;color:#fff}
.tb-footer-trust svg{width:17px;height:17px;color:var(--vert)}
.tb-footer-t{font-family:var(--mono)!important;font-weight:500;font-size:.74rem!important;letter-spacing:.16em;text-transform:uppercase;color:var(--ambre);margin:0 0 1.1rem!important}
.tb-footer-guides{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.tb-footer-guides li{display:flex;gap:.9rem;align-items:baseline;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.92rem;line-height:1.45;transition:transform .35s var(--spring)}
.tb-footer-guides li:hover{transform:translateX(5px)}
.tb-footer-guides b{display:block;font-family:var(--display);font-weight:800;font-size:1.02rem;color:#fff}
.tb-footer-num{font-family:var(--mono);font-size:.74rem;color:var(--vert)}
.tb-footer-spark{display:block;width:200px;margin-top:1.2rem}
.tb-footer-bottom{position:relative;max-width:var(--w-max);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem;padding:1.3rem 0 1.6rem;border-top:1px solid rgba(255,255,255,.1);font-size:.84rem;color:var(--sur-nuit)}
.tb-footer-legal{display:flex;gap:1.4rem}
.tb-footer-legal a,.tb-footer-legal .tb-nolink{color:#fff;font-weight:600;text-decoration:none;background:linear-gradient(var(--ambre),var(--ambre)) no-repeat 0 100%/0 2px;transition:background-size .35s var(--ease)}
.tb-footer-legal a:hover{background-size:100% 2px}
@media (max-width:980px){.tb-footer-in{grid-template-columns:1fr 1fr;gap:2.2rem}.tb-footer-brand{grid-column:1/-1}}
@media (max-width:640px){.tb-footer{padding-top:5rem}.tb-footer-in{grid-template-columns:1fr}.tb-footer-bottom{flex-direction:column}}

/* Retour en haut avec anneau */
.tb-top{position:fixed;right:22px;bottom:22px;z-index:90;width:54px;height:54px;border-radius:50%;border:0;padding:0;background:var(--nuit);color:#fff;cursor:pointer;box-shadow:0 16px 30px -14px rgba(14,39,66,.8);opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:opacity .4s,transform .5s var(--spring),background .3s}
.tb-top.is-on{opacity:1;transform:none;pointer-events:auto}
.tb-top:hover{background:var(--vert-f)}
.tb-top-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tb-top-track{fill:none;stroke:rgba(255,255,255,.15);stroke-width:3}
.tb-top-prog{fill:none;stroke:var(--vert);stroke-width:3;stroke-linecap:round;stroke-dasharray:144.5;stroke-dashoffset:144.5}
.tb-top:hover .tb-top-prog{stroke:var(--ambre)}
.tb-top-arrow{position:relative;width:22px;height:22px;transition:transform .35s var(--spring)}
.tb-top:hover .tb-top-arrow{transform:translateY(-3px)}

/* ---------- Plugins ---------- */
.qpds-sec-title{font-family:var(--display)!important;font-weight:800!important;font-size:1.6rem!important;border-bottom:3px solid var(--vert)!important;padding-bottom:.3rem!important;color:var(--nuit)!important}
.qpds-list{list-style:none;padding:0!important;margin:0 0 1.5rem;columns:2 300px;column-gap:2rem}
.qpds-item{break-inside:avoid;padding:.5rem 0 .5rem 1.6rem;position:relative;border-bottom:1px dashed var(--ligne-2)}
.qpds-item::before{content:'';position:absolute;left:0;top:.95rem;width:.8rem;height:.8rem;border-radius:3px;background:var(--vert)}
.qpds-item a{font-weight:600;text-decoration:none}
.tb-prose .qpds-sec-text{font-size:1.03rem;line-height:1.75;color:var(--encre);margin:.4rem 0 1.3rem}
.tb-prose .qpds-sec-text p{margin:0 0 .9rem}
.tb-prose .qpds-sec{margin-bottom:2.4rem}
#cn-root .cn-panel,.cn-panel{font-family:var(--sans)!important;border-radius:20px!important;border:1px solid var(--ligne)!important}
.cn-btn-primary{border-radius:999px!important}
.cn-reopen{display:none!important}

/* ---------- Apparitions au défilement (gated par html.js) ---------- */
.js .tb-rv{opacity:0;transition:opacity .9s var(--ease),translate .9s var(--ease),scale .9s var(--ease),filter .9s var(--ease);transition-delay:calc(var(--rv,0) * 90ms)}
.js .tb-rv--up{translate:0 36px}
.js .tb-rv--left{translate:-44px 0}
.js .tb-rv--right{translate:44px 0}
.js .tb-rv--zoom{scale:.94}
.js .tb-rv--blur{translate:0 20px;filter:blur(8px)}
.js .tb-rv.is-in{opacity:1;translate:none;scale:none;filter:none}
.js .tb-rv.tb-tilt{transition:opacity .9s var(--ease) calc(var(--rv,0) * 90ms),translate .9s var(--ease) calc(var(--rv,0) * 90ms),scale .9s var(--ease) calc(var(--rv,0) * 90ms),transform .5s var(--ease),box-shadow .4s}
.js .tb-rv.tb-tilt.is-hover{transition:opacity .9s var(--ease),translate .9s var(--ease),scale .9s var(--ease),transform .12s linear,box-shadow .4s}
.js .mp-trace{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 2.4s var(--ease)}
.js .is-in .mp-trace,.js .mp-trace.is-in{stroke-dashoffset:0}
.js .mp-pop{transform-box:fill-box;transform-origin:center;transform:scale(.3);opacity:0;transition:transform .8s var(--spring),opacity .4s}
.js .is-in .mp-pop{transform:none;opacity:1}
.js .is-in .mp-pop:nth-of-type(2){transition-delay:.12s}.js .is-in .mp-pop:nth-of-type(3){transition-delay:.24s}.js .is-in .mp-pop:nth-of-type(4){transition-delay:.36s}.js .is-in .mp-pop:nth-of-type(5){transition-delay:.48s}.js .is-in .mp-pop:nth-of-type(6){transition-delay:.6s}.js .is-in .mp-pop:nth-of-type(n+7){transition-delay:.72s}
.mp-grow{transform-box:fill-box;transform-origin:50% 100%}
.js .mp-grow{transform:scaleY(0);transition:transform 1.2s var(--spring)}
.js .is-in .mp-grow{transform:scaleY(1)}
.js .is-in .mp-grow:nth-of-type(2){transition-delay:.1s}.js .is-in .mp-grow:nth-of-type(3){transition-delay:.2s}.js .is-in .mp-grow:nth-of-type(4){transition-delay:.3s}.js .is-in .mp-grow:nth-of-type(5){transition-delay:.4s}.js .is-in .mp-grow:nth-of-type(6){transition-delay:.5s}.js .is-in .mp-grow:nth-of-type(7){transition-delay:.6s}.js .is-in .mp-grow:nth-of-type(n+8){transition-delay:.7s}
.mp-float{transform-box:fill-box;transform-origin:center;animation:tbFloat 6s ease-in-out infinite}
.mp-float:nth-of-type(2n){animation-duration:7.5s;animation-delay:-2s}
@keyframes tbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .tb-rv,.js .mp-pop,.js .tb-split .tb-w>span,.js .tb-home-lead,.js .tb-home-ctas,.js .tb-home-proof,.js .tb-home-hero .tb-kicker,.js .tb-hero-txt>*,.js .tb-kpi,.js .tb-dash,.js .tb-hero-img-in,.js .tb-home-hero-img-in img{opacity:1!important;transform:none!important;translate:none!important;scale:none!important;clip-path:none!important;filter:none!important}
  .js .mp-trace,.tb-curve-a,.tb-dash-line,.tb-dash-check,.tb-logo-arrow,.tb-footer-line{stroke-dashoffset:0!important}
  .js .mp-grow,.tb-g{transform:none!important}
  .js .tb-prose h2::after{transform:none!important}
  .tb-prose a{background-size:100% 3px}
  .js .mp-barres .mp-barre::after,.js .tb-path-list::after,.js .mp-etapes::after{transform:none!important}
  .js .tb-path-dot{background:var(--vert)!important;color:#fff!important;transform:none!important}
  .js .tb-path-n,.js .tb-path-t,.js .tb-path-d{opacity:1!important}
  .tb-marquee-track{transform:none!important}
  .tb-glow::after{display:none}
  .mp-rp.is-anim li{opacity:1;transform:none}
}
@media print{.tb-header,.tb-footer,.tb-toc,.tb-top,.tb-progress,.tb-marquee,.tb-mesh,.tb-crosses,.tb-hero-curve,.tb-hero-edge,.tb-dash,.tb-kpis{display:none!important}body{background:#fff}.tb-dark{background:#fff;color:#000}.tb-dark h1{color:#000}.js .tb-rv{opacity:1;translate:none;scale:none}}
/* Logo lisible au-dessus du tiroir plein écran */
@media (max-width:1100px){html.tb-menu-open .tb-logo-name{color:#fff}html.tb-menu-open .tb-logo-tag{color:var(--sur-nuit)}html.tb-menu-open .tb-logo-name em{color:var(--vert)}html.tb-menu-open .tb-progress{opacity:0}}
.tb-404 .tb-footer{margin-top:0}
