/* Malambi public + portail — contrat visuel partagé, novembre 2026. */
@font-face{font-family:Archivo;src:url('/assets/fonts/archivo/archivo-var-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ml-ink:#20221e;--ml-muted:#6d7066;--ml-line:#dfe3d7;--ml-tile:#f6f7f1;--ml-yellow:#f4d44b;--ml-accent:#6b7849;--ml-radius:15px}
html{scroll-padding-top:105px;scroll-behavior:smooth}
.ml-page,.ml-portal,.ml-cms{margin:0;background:#fff!important;color:var(--ml-ink);font-family:Archivo,Inter,system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
.ml-page h1,.ml-page h2,.ml-page h3,.ml-portal h1,.ml-portal h2,.ml-portal h3{font-family:Archivo,Inter,system-ui,sans-serif;letter-spacing:-.045em;line-height:1.12;color:var(--ml-ink);text-wrap:balance}
.ml-page h1{font-size:clamp(38px,5vw,72px)!important;font-weight:600!important;line-height:1.02}
.ml-page h2{font-size:clamp(27px,3.2vw,43px)!important;font-weight:550!important}
.ml-page h3{font-weight:550!important}
.ml-page p{line-height:1.8}
.ml-page section{scroll-margin-top:90px}
.ml-page :is(.gradient-radial,.gradient-dark,.gradient-malambi,.hero-bokeh,.brand-hero){background:#fff!important;color:var(--ml-ink)!important;position:relative}
.ml-page :is(.hero-bokeh,.brand-hero):before,.ml-page :is(.hero-bokeh,.brand-hero):after{display:none!important}
.ml-page :is(.bg-darker,.bg-dark,.bg-gray-900,.bg-slate-900,.bg-malambi-blue,.bg-malambi-light){background:var(--ml-tile)!important;color:var(--ml-ink)!important}
.ml-page :is(.text-white,.text-white\/90,.text-white\/80,.text-white\/70,.text-blue-100,.text-blue-200,.text-gray-300,.text-gray-400){color:var(--ml-muted)!important}
.ml-page :is(h1,h2,h3) :is(.text-malambi-gold,.text-malambi-light,.text-malambi-blue){color:inherit!important}
.ml-page :is(.text-malambi-blue,.text-malambi-light,.text-malambi-gold){color:var(--ml-accent)!important}
.ml-page :is(.bg-gray-50,.bg-gray-100,.bg-slate-50){background:#f8f9f5!important}
.ml-page :is(.bg-malambi-gold,.bg-yellow-400,.bg-yellow-500){background:var(--ml-yellow)!important;color:var(--ml-ink)!important}
.ml-page :is(.shadow-2xl,.shadow-xl,.shadow-lg,.shadow-md,.shadow-malambi){box-shadow:0 12px 35px #2630180b!important}
.ml-page :is(.rounded-3xl,.rounded-2xl,.rounded-xl){border-radius:var(--ml-radius)!important}
.ml-page :is(.border-gray-100,.border-gray-200,.border-white\/20,.border-white\/25){border-color:var(--ml-line)!important}
.ml-page :is([class*="blur-3xl"],[class*="blur-2xl"]){display:none!important}
.ml-page [style*="linear-gradient"]{background:var(--ml-tile)!important;color:var(--ml-ink)!important}
.ml-page :is(.btn-primary,a.bg-malambi-blue,button.bg-malambi-blue,a.bg-malambi-gold,button.bg-malambi-gold){background:var(--ml-ink)!important;color:#fff!important;border:1px solid var(--ml-ink)!important;border-radius:7px!important;font-size:13px!important;padding:14px 21px!important;font-weight:550!important;box-shadow:none!important}
.ml-page :is(.btn-primary,a.bg-malambi-blue,button.bg-malambi-blue,a.bg-malambi-gold,button.bg-malambi-gold):hover{background:#414935!important;transform:translateY(-2px)}
.ml-page .btn-primary *,.ml-page a.bg-malambi-blue *{color:inherit!important}
.ml-page .btn-secondary{background:#fff!important;color:var(--ml-ink)!important;border:1px solid var(--ml-line)!important;border-radius:7px!important;padding:14px 21px!important;font-size:13px!important}
.ml-page .ml-page-hero{border-bottom:1px solid var(--ml-line);padding-block:55px 65px!important;background:radial-gradient(ellipse at 90% 50%,#f1f4e7,transparent 55%),#fff!important;overflow:hidden}
.ml-page .ml-page-hero>div{position:relative;z-index:1}
.ml-page .ml-page-hero p{max-width:700px;font-size:16px}
.ml-page .ml-page-hero :is(.text-xs,.text-sm){font-size:10px!important;letter-spacing:.07em}
.ml-page .ml-page-hero .bg-white\/15{background:#f0f2e7!important;border-color:var(--ml-line)!important;color:var(--ml-accent)!important}
.ml-page .ml-page-hero img{border-radius:18px!important;box-shadow:0 20px 50px #29321a14!important}
.ml-page .ml-page-hero :is(.text-5xl,.text-6xl){letter-spacing:-.06em}
.ml-page .ml-page-hero .grid{gap:60px}
.ml-page :is(section.py-20,section.py-16){padding-block:75px}
.ml-page :is(.max-w-7xl,.max-w-6xl){max-width:1280px}
.ml-page :is(.max-w-7xl,.max-w-6xl)>:is(.grid,.flex){min-width:0}
.ml-page .grid>a:hover{border-color:#b0ba9b!important;box-shadow:0 12px 35px #2630180b!important}
.ml-page .ml-section-label{display:block;font:10px/1.6 Archivo,system-ui,sans-serif;letter-spacing:.12em;color:var(--ml-accent);font-weight:600;margin-bottom:20px;text-transform:uppercase}
.ml-page :is(.brand-hero .device-caption,.device-caption){color:var(--ml-muted)!important}
.ml-page :is(.bg-white\/10,.bg-white\/15,.bg-white\/20,.bg-white\/5){background:#eff2e7!important;color:var(--ml-ink)!important}
.ml-page :is(.bg-malambi-blue\/10,.bg-malambi-light\/10){background:#eff2e7!important}
.ml-page .ml-page-hero .grid>div{min-width:0}
.ml-page table{border-collapse:separate;border-spacing:0;width:100%}
.ml-page thead{background:#eef1e6!important;color:var(--ml-ink)!important}
.ml-page th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:15px 18px}
.ml-page td{padding:15px 18px;border-bottom:1px solid var(--ml-line)}
.ml-page :is(pre,code){background:#f0f2eb!important;color:#34472a!important;text-shadow:none!important}
.ml-page pre{border:1px solid var(--ml-line);border-radius:12px;padding:22px;overflow:auto;text-align:left;font-size:12px;line-height:1.7}
.ml-page :is(input,textarea,select),.ml-portal :is(input,textarea,select){background:#fff;color:var(--ml-ink);border:1px solid var(--ml-line);border-radius:8px;accent-color:var(--ml-accent)}
.ml-page :is(input,textarea,select):focus,.ml-portal :is(input,textarea,select):focus{outline:2px solid #c5d0ae;outline-offset:2px;border-color:#87936f!important;box-shadow:none!important}
.ml-page img{max-width:100%;height:auto}
.ml-page .sticky.top-20{top:86px}
.ml-page :is(.blog-card,.device-card,.brand-card,.solution-card,.package-card){border:1px solid var(--ml-line)!important;background:#fff!important;box-shadow:none!important;border-radius:16px!important;overflow:hidden}
.ml-page :is(.blog-card,.device-card,.brand-card,.solution-card,.package-card):hover{border-color:#a4b18d!important}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8fa66a;outline-offset:4px}
/* Navigation native : souris, clavier et tactile. */
.ml-header{position:sticky;top:0;z-index:80;background:#fffffff7;border-bottom:1px solid var(--ml-line);font-family:Archivo,system-ui,sans-serif;color:var(--ml-ink)}
.ml-header-inner{height:86px;max-width:1440px;margin:auto;display:flex;align-items:center;padding:0 40px;gap:30px}
.ml-brand{flex-shrink:0;width:122px}
.ml-brand img{width:122px;height:auto;filter:invert(1)}
.ml-header nav{display:flex;align-items:center;gap:24px;margin:auto;font-size:12px}
.ml-header a{text-decoration:none;color:inherit}
.ml-header a:hover{color:var(--ml-accent)}
.ml-header summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;white-space:nowrap}
.ml-header summary::-webkit-details-marker{display:none}
.ml-header summary>span{color:#8c9480;font-size:14px}
.ml-header-actions{display:flex;align-items:center;gap:23px;font-size:11px}
.ml-header .ml-demo{display:flex;align-items:center;gap:25px;background:var(--ml-ink);color:white;padding:13px 17px;border-radius:7px;font-weight:550}
.ml-header .ml-demo span{font-size:20px;line-height:1}
.ml-mega{position:absolute;top:85px;left:24px;right:24px;background:#fff;border:1px solid var(--ml-line);border-radius:0 0 14px 14px;box-shadow:0 20px 45px #1f2c1714;padding:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;max-height:75vh;overflow:auto}
.ml-nav-title{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#7c866c;margin-bottom:13px;font-weight:650}
.ml-mega a{display:block;padding:10px 12px;border-radius:7px}
.ml-mega a:hover{background:#f4f6ee}
.ml-mega a>span{font-size:13px;font-weight:600;display:block}
.ml-mega small{display:block;font-size:11px;line-height:1.6;color:var(--ml-muted);margin-top:3px;max-width:260px}
.ml-mega .mega-badge{font-size:8px;background:var(--ml-yellow);padding:2px 5px;border-radius:3px}
.ml-account{position:relative}
.ml-account>div{position:absolute;right:0;top:35px;width:250px;background:#fff;border:1px solid var(--ml-line);border-radius:10px;box-shadow:0 15px 30px #28331715;padding:10px}
.ml-account a{display:block;padding:12px;border-radius:6px;font-size:12px;font-weight:550}
.ml-account a:hover{background:var(--ml-tile)}
.ml-account small{display:block;font-size:10px;color:var(--ml-muted);font-weight:400;margin-top:3px}
.ml-menu-toggle{display:none;background:transparent;border:0;font-size:25px;cursor:pointer}
.ml-page .ml-site-footer{background:#fff!important;border-top:1px solid var(--ml-line);margin-top:65px;color:var(--ml-muted)!important}
.ml-site-footer img[src*="inversed"]{filter:invert(1)}
.ml-page .ml-site-footer :is(h4,.text-white){color:var(--ml-ink)!important}
.ml-page .ml-site-footer :is(.text-gray-400,.text-gray-500,.text-gray-600){color:var(--ml-muted)!important}
.ml-page .ml-site-footer a:hover{color:var(--ml-ink)!important}
.ml-page .ml-site-footer :is(.bg-gray-800,.hover\:bg-malambi-blue){background:#f0f2e9!important;color:var(--ml-ink)!important}
.ml-page .ml-site-footer .border-gray-800{border-color:var(--ml-line)!important}
.ml-page .ml-site-footer :is(h4,.text-sm){font-size:12px}
.ml-page .ml-site-footer>div{padding-top:55px;padding-bottom:30px}
.ml-page .whatsapp-float{background:var(--ml-yellow)!important;color:var(--ml-ink)!important;box-shadow:0 8px 25px #29311b17!important;width:48px;height:48px;font-size:24px;bottom:20px;right:20px}
/* Espaces authentifiés : mêmes surfaces, densité adaptée au travail. */
.ml-portal{background:#f8f9f5!important;font-size:14px}
.ml-portal>header{background:#fff;border-bottom:1px solid var(--ml-line)!important;box-shadow:none;z-index:60}
.ml-portal>header>div{min-height:78px;max-width:1520px}
.ml-portal header nav{gap:18px;flex-wrap:wrap}
.ml-portal header nav a{font-size:12px;padding-block:7px}
.ml-portal header nav a[aria-current=page]{color:var(--ml-ink);box-shadow:0 2px 0 var(--ml-yellow)}
.ml-portal header img{border-radius:8px}
.ml-portal .text-malambi-blue{color:#677947!important}
.ml-portal :is(main,#detail-view){max-width:1520px}
.ml-portal h1{font-size:38px!important;font-weight:550!important;line-height:1.08}
.ml-portal :is(.panel,.resource-card,.res-card,.model-card,.doc-content,.login-panel){border-color:var(--ml-line)!important;border-radius:13px;box-shadow:0 8px 24px #29331d05}
.ml-portal :is(.bg-white,.panel){background:#fff}
.ml-portal :is(.bg-malambi-blue,.btn-primary,.cat-pill.active,.filter-btn.active){background:var(--ml-ink)!important;color:#fff!important;border-color:var(--ml-ink)!important}
.ml-portal .bg-malambi-gold{background:var(--ml-yellow)!important;color:var(--ml-ink)!important}
.ml-portal [style*="linear-gradient"],.ml-portal #try-panel{background:#eef2e4!important;color:var(--ml-ink)!important}
.ml-portal [style*="linear-gradient"] :is(.text-white,.text-blue-100),.ml-portal #try-panel .text-white{color:var(--ml-ink)!important}
.ml-portal :is(pre.code,pre,.hljs){background:#f1f3ec!important;color:#34432b!important;border:1px solid var(--ml-line);text-shadow:none}
.ml-portal pre code,.ml-portal .hljs{font-size:12px;line-height:1.7}
.ml-portal .hljs :is(.hljs-keyword,.hljs-title,.hljs-selector-class){color:#755288!important}
.ml-portal .hljs-string{color:#477130!important}
.ml-portal :is(.chip-task,.ex-frm,.cat-item-route){color:#617744}
.ml-portal .cat-item.active{background:#edf1e3;border-left-color:#7e8f58}
.ml-portal :is(.btn-primary,button[type=submit]){border-radius:7px;min-height:40px}
.ml-portal .btn-secondary{background:#eef1e7;color:var(--ml-ink)}
.ml-portal :is(.border-gray-100,.border-gray-200){border-color:var(--ml-line)!important}
.ml-portal .doc-content{line-height:1.85}
.ml-portal .doc-content h1{font-size:32px!important}
.ml-portal .doc-content h2{font-size:24px!important;margin-top:35px}
.ml-portal .res-card-icon{background:#eef2e4!important;color:#677947!important}
.ml-portal #try-panel pre{background:#fff!important}
.ml-portal #try-panel :is(input,select){background:#fff!important;color:var(--ml-ink)!important;border:1px solid var(--ml-line)!important}
.ml-portal .ml-portal-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--ml-accent);margin-bottom:13px}
/* Connexion : accueil éditorial, formulaire réel. */
.ml-login{display:block!important;background:#fff!important;min-height:100vh}
.ml-login-shell{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}
.ml-login-story{background:#f2f5e9;position:relative;padding:50px 64px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:65px}
.ml-login-story:after{content:'↗';position:absolute;font-size:450px;right:-80px;bottom:-140px;line-height:1;color:#b8c49c22;pointer-events:none}
.ml-login-story .ml-brand{width:140px;position:relative;z-index:1}
.ml-login-story .ml-brand img{width:140px}
.ml-login-story h1{font-size:clamp(44px,5vw,70px)!important;line-height:1;letter-spacing:-.065em;font-weight:600!important;margin:25px 0}
.ml-login-story h1 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--ml-yellow);text-underline-offset:5px;text-decoration-thickness:9px}
.ml-login-story p{font-size:14px;line-height:1.85;color:var(--ml-muted);max-width:340px}
.ml-login-story ul{display:flex;flex-direction:column;gap:17px;margin-top:40px;padding:0;list-style:none;font-size:12px}
.ml-login-story li{border-top:1px solid #d7dfc8;padding-top:13px;display:flex;justify-content:space-between;max-width:350px}
.ml-login-story small{font:8px monospace;letter-spacing:.1em;position:relative;z-index:1}
.ml-login-form-side{padding:60px 45px;display:flex;justify-content:center;align-items:center}
.ml-login-panel{width:100%;max-width:365px}
.ml-login-panel h2{font-size:32px;font-weight:550;line-height:1.1;margin:10px 0 14px;letter-spacing:-.05em}
.ml-login-panel>p{font-size:13px;line-height:1.8;color:var(--ml-muted);margin-bottom:30px}
.ml-login-panel label{font-size:11px;display:block;margin-bottom:7px;font-weight:550;color:var(--ml-ink)}
.ml-login-panel input{width:100%;padding:13px 15px;font-size:14px;background:#fff}
.ml-login-panel form>div{margin-bottom:20px}
.ml-login-panel button[type=submit]{width:100%;background:var(--ml-ink)!important;color:#fff!important;padding:14px;border:0;font-size:13px;min-height:48px;cursor:pointer}
.ml-login-panel .ml-login-help{border-top:1px solid var(--ml-line);padding-top:22px;margin-top:30px;font-size:11px;color:var(--ml-muted);line-height:1.8}
.ml-login-help a{color:var(--ml-ink);text-decoration:underline;text-decoration-color:#c9d2b9;text-underline-offset:4px}
.ml-login-panel .ml-back{display:inline-block;margin-top:35px;font-size:11px;color:var(--ml-muted)}
@media(min-width:1500px){.ml-header-inner{padding-inline:55px}}
@media(max-width:1100px){.ml-header-inner{gap:22px;padding-inline:24px}.ml-header nav{gap:15px}.ml-header-actions{gap:15px}.ml-demo{font-size:10px}.ml-language{display:none}.ml-login-story{padding:45px}}
@media(max-width:900px){.ml-header-inner{height:76px}.ml-menu-toggle{display:block;margin-left:auto}.ml-header nav{display:none}.ml-header.ml-menu-open nav{display:flex;position:absolute;left:0;right:0;top:75px;background:white;border-bottom:1px solid var(--ml-line);padding:20px 24px;align-items:stretch;flex-direction:column;max-height:78vh;overflow:auto}.ml-header .ml-mega{position:static;padding:20px 0 0;box-shadow:none;border:0;display:grid;grid-template-columns:repeat(2,1fr);max-height:none}.ml-header-actions .ml-demo{display:none}.ml-header-actions{gap:14px}.ml-mega small{font-size:10px}.ml-header summary{font-size:14px;padding:5px 0}.ml-account summary{font-size:11px}.ml-portal header>div{flex-wrap:wrap;gap:15px;padding-block:15px}.ml-portal header nav{gap:15px}.ml-page .ml-page-hero .grid{gap:30px}.ml-page :is(section.py-20,section.py-16){padding-block:55px}.ml-login-story{padding:35px}.ml-login-form-side{padding:40px 30px}.ml-page .sticky.top-20{top:76px}}
@media(max-width:600px){html{scroll-padding-top:85px}.ml-header-inner{height:70px;padding-inline:20px;gap:18px}.ml-brand,.ml-brand img{width:110px}.ml-header.ml-menu-open nav{top:69px}.ml-header .ml-mega{grid-template-columns:1fr;gap:20px}.ml-header-actions{font-size:10px}.ml-header .ml-account summary{font-size:11px}.ml-page .ml-page-hero{padding-block:40px 45px!important}.ml-page h1{font-size:40px!important;letter-spacing:-.055em}.ml-page h2{font-size:29px!important}.ml-page .ml-page-hero p{font-size:14px}.ml-page :is(section.py-20,section.py-16){padding-block:45px}.ml-page .max-w-7xl{padding-inline:22px}.ml-page .ml-site-footer{margin-top:40px}.ml-page .ml-site-footer>div{padding-inline:22px}.ml-page .ml-site-footer .grid{gap:25px}.ml-page pre{font-size:11px;padding:16px}.ml-page th,.ml-page td{padding:12px;font-size:11px}.ml-portal h1{font-size:29px!important}.ml-portal header nav{gap:14px;justify-content:flex-start}.ml-portal header nav a{font-size:10px}.ml-portal #user-name{font-size:10px}.ml-portal :is(main,#detail-view){padding-inline:18px}.ml-portal .kv-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px}.ml-portal .kv-row input{width:100%;min-width:0}.ml-portal .panel-header,.ml-portal .panel-body{padding:16px}.ml-portal .scroll-col{position:static;max-height:none}.ml-login-shell{display:block}.ml-login-story{min-height:360px;padding:25px 28px;gap:30px}.ml-login-story h1{font-size:43px!important;margin:15px 0}.ml-login-story p{font-size:12px}.ml-login-story ul{display:none}.ml-login-story:after{font-size:280px;bottom:-110px;right:-40px}.ml-login-story small{font-size:7px}.ml-login-form-side{padding:38px 28px}.ml-login-panel h2{font-size:29px}.ml-login-panel>p{margin-bottom:24px}.ml-page .sticky.top-20{top:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Documentation courte sans sommaire : le texte occupe toute la largeur utile. */
.ml-portal .doc-grid:has(> .doc-toc.hidden){grid-template-columns:minmax(0,1fr)}
.ml-portal .doc-content{width:100%;box-shadow:none;border-radius:0}
.ml-portal .doc-content pre code{color:#34432b!important}
.ml-portal .doc-sidebar-link.active,.ml-portal .type-pill.active{background:var(--ml-ink)!important;color:#fff!important;border-color:var(--ml-ink)!important}
.ml-portal .res-card-title{font-weight:550;letter-spacing:-.025em;font-size:19px}
.ml-section-label{display:block;font:10px/1.6 Archivo,system-ui,sans-serif;letter-spacing:.12em;color:var(--ml-accent);font-weight:600;margin-bottom:20px;text-transform:uppercase}
.ml-portal>header>div>a:first-child>img{width:122px;height:auto;filter:invert(1);border-radius:0}
.ml-portal>header>div>a:first-child>div{font:9px Archivo,system-ui,sans-serif!important;letter-spacing:.06em;font-weight:500!important;color:var(--ml-muted)!important}
.ml-page .ml-page-hero>div[class*="py-"]{padding-top:15px!important;padding-bottom:15px!important}
.ml-portal .bg-blue-50,.ml-portal .bg-amber-50{background:#f0f3e7!important;border-color:#d6dfc4!important;color:var(--ml-ink)!important}
.ml-portal .text-blue-700,.ml-portal .text-amber-900{color:#637747!important}
.ml-portal pre code.hljs{border:0!important;background:transparent!important}
.ml-portal .type-pill.active{background:var(--ml-ink)!important;color:#fff!important}
.ml-page .ml-page-hero h1:after{content:'';display:block;width:76px;height:5px;background:var(--ml-yellow);margin-top:24px}
.ml-page h1.text-white,.ml-page h2.text-white{color:var(--ml-ink)!important}
.ml-portal code.token{background:#eff3e6;color:#425c2b;border:1px solid var(--ml-line)}

/* SVG Lucide locaux, formes fines et lisibles ; marques conservées dans leur identité. */
.ml-icon { display:inline-block; width:1em; height:1em; vertical-align:-.15em; flex-shrink:0; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
svg.ml-icon { font-family:inherit!important; font-weight:inherit!important; }
svg.ml-icon.fa-spin { animation:ml-icon-spin 1s linear infinite; }
@keyframes ml-icon-spin { to { transform:rotate(360deg); } }
/* Panneau détaché inspiré du rythme éditorial du menu de référence. */
.ml-header .ml-mega { top:calc(100% + 10px); left:50%; right:auto; transform:translateX(-50%); width:min(1030px,calc(100vw - 64px)); border:1px solid #e1e0e6; border-radius:18px; padding:0; gap:0; grid-template-columns:repeat(3,minmax(0,1fr)); background:#fff; box-shadow:0 16px 50px #2520340d,0 3px 12px #25203405; max-height:calc(100vh - 120px); overflow:auto; }
.ml-mega-column { min-width:0; padding:27px 22px 25px; }
.ml-mega-column + .ml-mega-column { border-left:1px solid #e7e5eb; }
.ml-header .ml-nav-title { font-size:11px; letter-spacing:.11em; color:#8a8594; font-weight:600; line-height:1.4; margin:0 0 16px; padding-left:9px; }
.ml-header .ml-mega a { display:flex; align-items:flex-start; gap:12px; padding:11px 9px; border-radius:8px; transition:background .15s; }
.ml-header .ml-mega a:hover { background:#f4f6ef; color:var(--ml-ink); }
.ml-header .ml-mega a .ml-menu-icon { width:19px; height:19px; color:#94909e; font-size:19px; margin-top:2px; }
.ml-menu-text { min-width:0; }
.ml-menu-text strong { display:block; color:#22221f; font-size:14px; font-weight:550; letter-spacing:-.015em; line-height:1.45; }
.ml-header .ml-mega small { display:block; margin-top:4px; color:#746e7f; font-size:13px; line-height:1.45; font-weight:400; max-width:none; }
.ml-chevron { transition:transform .18s; display:inline-flex; }
.ml-chevron .ml-icon { width:13px; height:13px; }
.ml-nav-group[open] > summary .ml-chevron { transform:rotate(180deg); }
.ml-header nav { font-size:14px; gap:25px; }
.ml-header-actions { font-size:13px; }
.ml-header .ml-demo { font-size:12px; }
.ml-account summary { font-size:13px; }
.ml-account a { font-size:14px; }
.ml-account small { font-size:12px; }
.ml-header-inner { gap:28px; }
/* Échelle de lecture : les petites descriptions deviennent du vrai texte. */
.ml-page { font-size:16px; }
.ml-page :is(section,main) p.text-sm,.ml-page :is(section,main) li.text-sm { font-size:15px!important; }
.ml-page :is(section,main) p.text-xs { font-size:13px!important; }
.ml-page .ml-page-hero :is(.text-xs,.text-sm) { font-size:12px!important; }
.ml-page .ml-page-hero p { font-size:17px; line-height:1.8; }
.ml-page .ml-section-label { font-size:11px; }
.ml-page .ml-site-footer :is(h4,.text-sm) { font-size:14px; }
.ml-page .ml-site-footer .text-xs { font-size:12px; }
.ml-page :is(input,textarea,select) { min-height:44px; font-size:15px; }
.ml-page input[type=checkbox],.ml-page input[type=radio] { min-height:0; }
.ml-portal { font-size:15px; }
.ml-portal header nav a { font-size:13px; }
.ml-portal :is(.label,.ml-portal-label) { font-size:12px; }
.ml-portal :is(.res-card-summary,.doc-content) { font-size:15px; line-height:1.8; }
.ml-portal .doc-sidebar-link { font-size:14px; }
.ml-portal :is(pre.code,pre code,.hljs) { font-size:13px; }
.ml-portal .btn-primary,.ml-portal .btn-secondary { font-size:14px; min-height:42px; }
.ml-portal .doc-content h2 { scroll-margin-top:100px; }
@media (max-width:1150px) and (min-width:901px) { .ml-header nav { gap:16px; font-size:13px; } .ml-header-actions { gap:14px; } .ml-header .ml-demo { font-size:11px; gap:14px; } }
@media (max-width:900px) {
 .ml-header .ml-mega { position:static; transform:none; width:100%; grid-template-columns:1fr; border-radius:12px; margin-top:12px; max-height:none; box-shadow:none; }
 .ml-mega-column { padding:12px 14px; }
 .ml-mega-column + .ml-mega-column { border-left:0; border-top:1px solid #e7e5eb; }
 .ml-mega-column:not(:first-child) .ml-nav-title { display:none; }
 .ml-header .ml-mega a { padding:12px 7px; }
 .ml-header .ml-mega small { font-size:13px; }
 .ml-header nav { font-size:15px; }
}
@media (max-width:600px) {
 .ml-header-actions { font-size:12px; }
 .ml-page .ml-page-hero p { font-size:16px; }
 .ml-page :is(section,main) p.text-sm { font-size:15px!important; }
 .ml-portal header nav a { font-size:12px; }
 .ml-portal .doc-content { font-size:15px; }
 .ml-page th,.ml-page td { font-size:13px; }
}
/* Repères dans les longues fiches : un sommaire horizontal discret. */
.ml-section-nav{position:sticky;top:86px;z-index:45;background:#fffffff7;border-block:1px solid #e3e5dd;}
.ml-section-nav>div{max-width:1280px;margin:auto;padding:0 32px;min-height:55px;display:flex;align-items:center;gap:24px;overflow-x:auto;scrollbar-width:thin;}
.ml-section-nav>div>span{font:10px Archivo,system-ui,sans-serif;letter-spacing:.1em;color:#7b8072;flex-shrink:0;}
.ml-section-nav a{display:block;font-size:13px;line-height:1.3;max-width:190px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:18px 0;color:#696f61;flex-shrink:0;border-bottom:2px solid transparent;}
.ml-section-nav a:hover,.ml-section-nav a[aria-current=location]{color:var(--ml-ink);border-bottom-color:var(--ml-yellow);}
.ml-page.ml-has-section-nav section{scroll-margin-top:155px;}
.ml-page .ml-catalog-hero{text-align:center;}
.ml-page .ml-catalog-hero :is(h1,p){margin-inline:auto;}
.ml-page .ml-catalog-hero h1{max-width:900px;}
.ml-page .ml-catalog-hero h1:after{margin-inline:auto;}
.ml-page .ml-catalog-hero .flex{justify-content:center;}
.ml-page :is(#dev-search,#vid-search){min-height:48px;background:#fafbf8;border-color:#dfe2d7;font-size:15px;}
.ml-page :is(.dev-card,.vid-card,.video-card){border-color:var(--ml-line);box-shadow:none;border-radius:14px;transition:transform .2s,border-color .2s;}
.ml-page :is(.dev-card,.vid-card,.video-card):hover{transform:translateY(-4px);border-color:#9fae85;}
.ml-page :is(.dev-card,.vid-card,.video-card) h3{font-size:16px;line-height:1.4;}
.ml-page :is(.dev-card,.vid-card,.video-card) [class*="text-[10px]"]{font-size:12px;line-height:1.5;}
.ml-zoom-wrap{display:block;position:relative;max-width:100%;}
.ml-expand-image{position:absolute;bottom:15px;right:15px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fffffff0!important;border:1px solid #e2e4da!important;border-radius:9px;color:#3c4430!important;font-size:16px;cursor:pointer;box-shadow:0 4px 14px #1f2b1512;}
.ml-image-dialog{position:fixed;inset:0;margin:auto;width:min(1120px,calc(100vw - 40px));max-height:90vh;border:1px solid #dfe3d7;border-radius:16px;background:#fff;padding:48px 25px 18px;box-shadow:0 30px 100px #1118;}
.ml-image-dialog::backdrop{background:#1b2018aa;backdrop-filter:blur(5px);}
.ml-image-dialog>img{width:100%;max-height:73vh;object-fit:contain;border-radius:8px;}
.ml-image-dialog>p{font-size:13px;color:#6d7066;margin:15px 0 0;line-height:1.6;text-align:center;}
.ml-dialog-close{position:absolute;right:15px;top:12px;border:1px solid #dfe3d7;background:#fff;border-radius:7px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
@media(max-width:900px){.ml-section-nav{top:76px}.ml-section-nav>div{padding-inline:24px;gap:20px}.ml-section-nav a{max-width:160px}.ml-page.ml-has-section-nav section{scroll-margin-top:140px}}
@media(max-width:600px){.ml-section-nav{top:70px}.ml-section-nav>div{padding-inline:22px;gap:18px}.ml-section-nav a{font-size:13px;max-width:155px}.ml-section-nav>div>span{display:none}.ml-image-dialog{padding:45px 14px 15px;width:calc(100vw - 24px)}.ml-image-dialog>p{font-size:12px}}
/* Recette visuelle : grilles souples, marques discrètes, textes lisibles. */
.ml-page :is(.grid,.flex)>*,.ml-portal :is(.grid,.flex)>*{min-width:0;overflow-wrap:anywhere}
.ml-page :is(h1,h2,h3,p,a,td,th,code){overflow-wrap:anywhere}
.ml-page table{table-layout:fixed}.ml-page :is(td,th){white-space:normal!important;overflow-wrap:anywhere}
.ml-page .brand-hero img[src*="/logos/"],.ml-page .brand-hero img[src*="/brands/"]{width:auto!important;height:auto!important;max-width:140px!important;max-height:42px!important;object-fit:contain;border-radius:0!important;box-shadow:none!important;mix-blend-mode:multiply}
.ml-page .brand-hero :is(span,div):has(>img[src*="/logos/"]){background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}
.ml-site-footer img{width:120px!important;height:auto!important;max-width:120px!important;object-fit:contain}
.ml-page img[src*="/logos/"],.ml-page img[src*="/clients/"],.ml-next img[src*="/clients/"],.ml-page img[src*="/brands/"]{mix-blend-mode:multiply}
.ml-page .ml-zoom-wrap:has(>img[src*="/logos/"]){display:inline-block;max-width:140px;box-shadow:none!important}
.ml-page .ml-zoom-wrap:has(>img[src*="/logos/"]) .ml-expand-image{display:none}
.ml-page .brand-hero .grid{gap:32px}.ml-page .ml-page-hero h1{max-width:20ch}.ml-page .ml-page-hero .device-caption{font-size:11px;letter-spacing:0}
@media(max-width:750px){.ml-page .brand-hero img[src*="/logos/"]{max-width:110px!important;max-height:32px!important}.ml-page :is(.btn-primary,.btn-secondary){white-space:normal;max-width:100%;text-align:center}.ml-page .ml-page-hero .grid{gap:24px}.ml-page .ml-site-footer>div{padding-block:32px 24px}.ml-page .ml-site-footer .grid{gap:22px}}
.ml-page img[src*="/logos/teltonika"]{filter:brightness(0) saturate(100%);opacity:.85}
/* Les rendus produits détourés gardent leur vrai canal alpha, sans panneau gris. */
.ml-page .device-illu-wrap{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.ml-page .device-illu-wrap :is(img,.ml-zoom-wrap){background:transparent!important;box-shadow:none!important;border-radius:0!important}
.ml-page :is(.dev-card,.vid-card)>div:has(>img){background:transparent!important}

/* Lecture des panneaux techniques et du vote produit. */
.ml-page .vote-card-desc{font-size:14px!important;line-height:1.7!important}
.ml-page p.mt-5.text-sm{font-size:14px!important;line-height:1.7!important}
.ml-portal h2{font-size:22px!important;line-height:1.35!important}
.ml-portal p.text-xs{font-size:14px!important;line-height:1.7!important}
.ml-portal :is(p,li) code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.ml-portal .overflow-x-auto{scrollbar-width:thin}

/* Radio : appareil réel et pictogrammes de contexte cohérents. */
.dmr-radio-photo{display:block!important;width:min(100%,640px)!important;max-height:360px;object-fit:contain!important;margin:0 auto;background:transparent!important;padding:24px}
.dmr-usecase-visual{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:192px;height:100%;background:#f0f2e9;color:#52694a}
.dmr-usecase-visual>:is(i,.ml-icon){font-size:72px;z-index:1}.dmr-usecase-visual-large{min-height:320px}.dmr-usecase-visual-large>:is(i,.ml-icon){font-size:110px}
.dmr-signal-orbit{position:absolute;width:220px;height:220px;border:1px solid #c7cfbc;border-radius:50%;box-shadow:0 0 0 35px #dce2d333,0 0 0 70px #dce2d322;transform:translate(40%,30%)}

/* Les sujets détourés restent entiers dans les compositions existantes. */
body .ml-exact-photo{object-fit:contain!important;background:transparent!important;max-height:560px}

body :is(div,figure,picture):has(>picture>.ml-exact-photo),body picture:has(>.ml-exact-photo){background:transparent!important;box-shadow:none!important;border-color:transparent!important}
body .ml-exact-photo{box-shadow:none!important;border-radius:0!important}

body .dmr-radio-frame{background:transparent!important;box-shadow:none!important;overflow:visible!important}
/* Catalogue : mêmes hauteurs, pieds alignés et sélection aux couleurs du site. */
body .cat-card{min-height:164px}
body .cat-card>.min-w-0{display:flex;flex-direction:column;align-self:stretch;flex:1;min-width:0}
body .cat-card h3{font-size:16px;line-height:1.3;min-height:2.6em}
body .cat-card .min-w-0>p{font-size:14px;line-height:1.55;flex:1;margin-top:6px}
body .cat-card .min-w-0>:last-child{margin-top:10px;font-size:12px}
body .cat-ico{background:#eef1e8!important;color:#53644a!important}
body .cat-card.active{border-color:#bda447!important;box-shadow:inset 0 -3px 0 #f2d44f!important}
body .cat-card.active .cat-ico{background:#f2d44f!important;color:#20251d!important}
body .mfr-card.active{background:#20251d!important;border-color:#20251d!important;color:#fff!important}
body .flt-conn.active{background:#f2d44f!important;border-color:#d4b83b!important;color:#20251d!important}
body #dev-search{padding-left:42px!important}
body div:has(>#dev-search)>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}
/* Les documents constructeur restent accessibles sans surcharger les fiches. */
.ml-manufacturer-gallery{border-top:1px solid #dfe3d8}
.ml-manufacturer-gallery>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:22px 0;font-size:15px;font-weight:500;color:#283024}
.ml-manufacturer-gallery>summary::-webkit-details-marker{display:none}
.ml-manufacturer-gallery>summary:focus-visible{outline:2px solid #b69c36;outline-offset:5px}
.ml-gallery-mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #dfe3d8;border-radius:50%;font-size:23px;font-weight:400;transition:transform .25s}
.ml-manufacturer-gallery[open] .ml-gallery-mark{transform:rotate(45deg)}
.ml-manufacturer-gallery .grid img{width:100%;height:260px;object-fit:contain!important;background:transparent!important;border-color:transparent!important}
@media(max-width:650px){.ml-manufacturer-gallery>summary{font-size:14px}.ml-manufacturer-gallery .grid img{height:190px}}
@media(prefers-reduced-motion:reduce){.ml-gallery-mark{transition:none}}
@media(max-width:650px){
 body .cat-grid{display:flex;overflow-x:auto;gap:10px;max-width:100%;padding-bottom:8px;scroll-snap-type:x proximity}
 body .cat-card{flex:0 0 220px;min-width:220px;height:112px;min-height:112px;padding:14px;gap:12px;scroll-snap-align:start}
 body .cat-card .cat-ico{width:32px;height:32px;flex:none;font-size:17px}
 body .cat-card h3{font-size:15px;line-height:1.3;min-height:2.6em}
 body .cat-card .min-w-0>p{display:none}
 body .cat-card .min-w-0>:last-child{margin-top:auto;font-size:12px}
 body .mfr-grid{display:flex;overflow-x:auto;max-width:100%;gap:8px;padding-bottom:8px}
 body .mfr-card{flex:0 0 100px;min-width:100px}
}
body .cat-card .min-w-0>:last-child{color:#687064}
body .mfr-card.active{background:#fff9df!important;border-color:#d2b64a!important;color:#20251d!important;box-shadow:inset 0 -3px 0 #f2d44f!important}
body .mfr-card :is(span,small){font-size:11px;line-height:1.35;color:#596153}

/* Aligner le repère des titres centrés sur leur axe de lecture. */
.ml-page .ml-page-hero.text-center h1:after,.ml-page .ml-page-hero .text-center h1:after,.ml-page .ml-page-hero h1.text-center:after{margin-inline:auto}

.ml-page .ml-page-hero.text-center h1,.ml-page .ml-page-hero .text-center h1,.ml-page .ml-page-hero h1.text-center{margin-inline:auto}

.ml-page .ml-page-hero p.dmr-figure-caption{font-size:14px!important;line-height:1.65}

/* Photos éditoriales exactes : le détourage garde les appareils entiers. */
.ml-page :is(.blog-card-img,.blog-featured-img,.blog-post-cover) img[src*="-transparent-"]{object-fit:contain;background:transparent;padding:clamp(12px,2.5vw,28px);box-sizing:border-box}
.ml-page .blog-post-cover img[src*="-transparent-"]{max-height:440px}
.ml-page :is(.blog-card-img,.blog-featured-img,.blog-post-cover):has(img[src*="-transparent-"]){background:transparent}

/* Légendes factuelles et visuels de contenu, sans répétition de la couverture. */
.ml-page .blog-post-cover figcaption{padding:12px 0 4px;font-size:14px;line-height:1.6;color:#626b60}
.ml-page .blog-post-body img.blog-exact-media{display:block;width:auto;max-width:100%;max-height:520px;object-fit:contain;margin:1.25rem auto}
.ml-page .blog-qualification-note{font-size:14px;line-height:1.65;color:#586259;border-left:2px solid #e3c63d;padding:8px 14px;margin:20px 0}

/* Recherche publique : même palette claire, résultats lisibles et clavier natif. */
.ml-search-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:40px;min-height:42px;border:0;border-radius:12px;background:transparent;color:#242824;font:inherit;font-size:14px;cursor:pointer}.ml-search-trigger svg{width:20px;height:20px;flex:none}.ml-search-trigger:hover{background:#f5f5ef}.ml-site-search{width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:30px;border:1px solid #e7e9e2;border-radius:24px;background:#fff;color:#252923;box-shadow:0 30px 100px #15261828;overflow:auto}.ml-site-search::backdrop{background:#17211b66;backdrop-filter:blur(5px)}.ml-search-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ml-search-eyebrow{font-size:11px;letter-spacing:.14em;color:#67705f;font-weight:700}.ml-site-search h2{font-size:clamp(24px,4vw,34px);letter-spacing:-.04em;line-height:1.15;margin:10px 0 24px}.ml-search-close{border:1px solid #e8e9e2;border-radius:50%;background:#fff;font:28px/1 sans-serif;flex:0 0 40px;height:40px;cursor:pointer}.ml-search-label{display:block;font-size:14px;color:#525b4b;margin-bottom:9px}.ml-search-field{display:flex;gap:8px;padding:6px;border:1px solid #ccd2c5;border-radius:14px;background:#fafbf7}.ml-search-field input{flex:1;min-width:0;width:0;border:0;outline:0;background:transparent;padding:12px;font-family:inherit;font-size:16px;line-height:1.4;color:inherit}.ml-search-field:focus-within{outline:2px solid #c6d76d;outline-offset:2px}.ml-search-field button{background:#edf89c;border:0;border-radius:10px;padding:10px 14px;color:#25351e;font:inherit;font-weight:650;cursor:pointer}.ml-search-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.ml-search-suggestions button{border:1px solid #e6e8de;border-radius:30px;background:#fff;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.ml-search-status,.ml-search-foot{font-size:13px;color:#646c5e;line-height:1.5}.ml-search-results{display:grid;gap:8px}.ml-search-result{display:block;padding:18px;border:1px solid #e7eadf;border-radius:14px;text-decoration:none;color:inherit;transition:background .15s,border-color .15s}.ml-search-result:hover,.ml-search-result:focus-visible{background:#f8fbe9;border-color:#a9bc67}.ml-search-kind{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#657347}.ml-search-result h3{font-size:18px;line-height:1.35;margin:6px 0;color:#252923}.ml-search-result p{font-size:14px;line-height:1.5;margin:0;color:#646c5e}.ml-search-foot{border-top:1px solid #e9ecdf;padding-top:16px;margin-top:20px}@media(max-width:1190px){.ml-search-trigger span{display:none}}@media(max-width:480px){.ml-site-search{padding:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.ml-search-field{flex-wrap:wrap}.ml-search-field input{flex-basis:100%;width:100%;padding:10px}.ml-search-field button{width:100%}.ml-search-result{padding:14px}}@media(prefers-reduced-motion:reduce){.ml-search-result{transition:none}}
.blog-editorial-date{font-size:13px;color:#68715f;margin:8px 0 20px}
.blog-post .blog-back{display:inline-block;margin-right:16px}
@media(max-width:400px){.ml-header-inner{padding-inline:14px;gap:10px}.ml-brand,.ml-brand img{width:90px}.ml-header-actions{gap:8px}}
