{"id":1911,"date":"2026-10-02T02:16:05","date_gmt":"2026-10-02T00:16:05","guid":{"rendered":"https:\/\/www.oomade.com\/?page_id=1911"},"modified":"2026-10-02T14:12:15","modified_gmt":"2026-10-02T12:12:15","slug":"nos-lunettes","status":"publish","type":"page","link":"https:\/\/www.oomade.com\/uk\/nos-lunettes\/","title":{"rendered":"OOframe"},"content":{"rendered":"\n<script>document.documentElement.className+=\" oomfx\";<\/script><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Open+Sans:wght@400;600;700;800&#038;display=swap\">\n<style>\n\n.oom{--bg:#F6FAFA;--srf:#FFFFFF;--mint:#EAF6F7;--mintd:#D4EBEC;--sand:#F7EEE2;--sandd:#F2E2CC;\n--sky:#EDF3F8;--line:#E2E5E8;--line2:#C3CAD2;--ink:#27475B;--ink2:#69727F;--ink3:#666F7A;\n--acc:#009997;--accb:#008280;--accd:#007370;--accs:#6EC3C1;\n--amb:#9A6B10;--ambbg:#FCF4E4;--ambln:#EAD6AE;\n--f:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;\ncolor-scheme:light;font-family:var(--f);color:var(--ink);background:var(--bg);\nfont-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}\n.oom *,.oom *::before,.oom *::after{box-sizing:border-box}\n.oom img{max-width:100%;height:auto;display:block}\n.oom p{margin:0}\n\n\/* --- blindage th\u00e8me : un th\u00e8me WordPress cible h1..h6, a, ul, table... en direct,\n   et une r\u00e8gle directe bat toujours l'h\u00e9ritage depuis .oom. On neutralise. --- *\/\n.oom h1,.oom h2,.oom h3,.oom h4,.oom h5,.oom h6,\n.oom p,.oom li,.oom dt,.oom dd,.oom td,.oom th,.oom caption,\n.oom a,.oom button,.oom input,.oom select,.oom textarea,\n.oom blockquote,.oom figure,.oom figcaption,.oom label,.oom small,\n.oom strong,.oom b,.oom em,.oom i,.oom span,.oom div{font-family:inherit}\n.oom i,.oom em,.oom cite,.oom q,.oom dfn,.oom address,\n.oom figcaption,.oom blockquote,.oom var{font-style:normal}\n.oom ul,.oom ol{margin:0;padding:0;list-style:none}\n\n\/* --- focus clavier : un theme WordPress supprime souvent l'anneau par defaut,\n   et de toute facon il est illisible sur nos fonds teintes. On en pose un a\n   nous, visible au clavier seulement (:focus-visible), jamais a la souris. --- *\/\n.oom a:focus-visible,.oom button:focus-visible,.oom summary:focus-visible,\n.oom [tabindex]:focus-visible,.oom input:focus-visible,\n.oom select:focus-visible,.oom textarea:focus-visible{\noutline:3px solid var(--accd);outline-offset:3px;border-radius:6px}\n.oom .band a:focus-visible,.oom .band-t a:focus-visible,\n.oom .band button:focus-visible,.oom .band-t button:focus-visible{\noutline-color:#fff}\n.oom figure,.oom blockquote,.oom dl,.oom dd,.oom h5,.oom h6,.oom pre{margin:0}\n.oom table{border-collapse:collapse;width:100%}\n.oom th,.oom td{text-align:left;font-weight:inherit}\n.oom button{background:none;border:0;padding:0;color:inherit;font-size:inherit;line-height:inherit}\n.oom a{text-decoration:none;box-shadow:none}\n.oom h5,.oom h6{font-weight:700;letter-spacing:-.01em;line-height:1.12;color:var(--ink)}\n.oom h1,.oom h2,.oom h3,.oom h4{margin:0;letter-spacing:-.03em;line-height:1.12;text-wrap:balance;color:var(--ink)}\n.oom h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800}\n.oom h2{font-size:clamp(1.6rem,3.3vw,2.5rem);font-weight:800}\n.oom h3{font-size:clamp(1.05rem,1.6vw,1.28rem);font-weight:700;letter-spacing:-.02em}\n.oom h4{font-size:1rem;font-weight:700;letter-spacing:-.01em}\n.oom h3.t4{font-size:1rem;font-weight:700;letter-spacing:-.01em}\n.oom a{color:inherit}\n.oom .w{width:min(1140px,100% - 40px);margin-inline:auto}\n.oom .wn{width:min(880px,100% - 40px);margin-inline:auto}\n.oom .st{display:flex;flex-direction:column}\n.oom .g10{gap:10px}.oom .g14{gap:14px}.oom .g20{gap:20px}\n.oom .g28{gap:28px}.oom .g40{gap:40px}\n.oom section{padding-block:clamp(56px,8vw,104px)}\n.oom .sec-w{background:var(--srf)}\n.oom .sec-m{background:var(--mint)}\n.oom .sec-s{background:var(--sand)}\n.oom .sec-k{background:var(--sky)}\n.oom .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.7rem;font-weight:800;\nletter-spacing:.17em;text-transform:uppercase;color:var(--accd)}\n.oom .eyebrow s{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;\nmin-width:22px;height:22px;border-radius:7px;background:var(--acc);color:#fff;font-size:.68rem;letter-spacing:0}\n.oom .lede{font-size:clamp(1.03rem,1.45vw,1.18rem);color:var(--ink2);max-width:64ch}\n.oom .small{font-size:.9rem;color:var(--ink2)}\n.oom .tiny{font-size:.78rem;color:var(--ink3)}\n\n\/* nav *\/\n.oom .nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);\nbackdrop-filter:blur(14px);border-bottom:1px solid var(--line)}\n.oom .nav .in{display:flex;align-items:center;gap:22px;height:70px}\n.oom .nav img{height:30px;width:150px;object-fit:contain;object-position:left center}\n.oom .nav .links{display:flex;gap:4px;margin-left:auto;align-items:center}\n.oom .nav .links a{padding:8px 13px;border-radius:9px;font-size:.9rem;font-weight:600;\ntext-decoration:none;color:var(--ink2);white-space:nowrap}\n.oom .nav .links a:hover{background:var(--mint);color:var(--accd)}\n\/* entr\u00e9e de la page courante : soulignement permanent, couleur d'accent *\/\n.oom .nav .links a.ici{color:var(--accd)}\n.oom .nav .links a.ici:not(.btn)::before{transform:scaleX(1)}\n.oom .nav .links a.btn-p,.oom .nav .links a.btn-p:hover{color:#fff;background:var(--accb)}\n.oom .nav .links a.btn-p:hover{background:var(--accd)}\n.oom .nav .burger{display:none;margin-left:auto;width:42px;height:42px;border-radius:11px;\nalign-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;\nbackground:var(--mint);border:1px solid var(--line)}\n.oom .nav .burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);\ntransition:transform .3s,opacity .2s}\n.oom .nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}\n.oom .nav.open .burger span:nth-child(2){opacity:0}\n.oom .nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}\n.oom .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;\npadding:13px 24px;border-radius:11px;font-size:.94rem;font-weight:700;text-decoration:none;\nborder:1.5px solid transparent;white-space:nowrap;transition:.18s}\n.oom .btn-p{background:var(--accb);color:#fff;box-shadow:0 1px 2px rgba(0,152,150,.25)}\n.oom .btn-p:hover{background:var(--accd)}\n.oom .btn-g{background:var(--srf);color:var(--ink);border-color:var(--line2)}\n.oom .btn-g:hover{border-color:var(--accs);color:var(--accd)}\n.oom .btn-s{padding:9px 17px;font-size:.87rem;border-radius:9px}\n.oom .btn-row{display:flex;flex-wrap:wrap;gap:12px}\n\n\/* le formulaire Contact Form 7, habille a la charte. On ne touche pas au\n   formulaire lui-meme (identifiant 724) : on ne fait que l'habiller, pour que\n   le meme formulaire serve ici et sur l'ancien site. *\/\n.oom .oo-form{background:var(--srf);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,2.4vw,26px)}\n.oom .oo-form p{margin:0 0 14px}\n.oom .oo-form label{display:block;font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:6px}\n.oom .oo-form input[type=text],.oom .oo-form input[type=email],.oom .oo-form input[type=tel],\n.oom .oo-form select,.oom .oo-form textarea{\nwidth:100%;box-sizing:border-box;font:inherit;font-size:.95rem;color:var(--ink);\nbackground:var(--bg);border:1.5px solid var(--line2);border-radius:11px;padding:12px 14px;\ntransition:border-color .18s,box-shadow .18s}\n.oom .oo-form textarea{min-height:120px;resize:vertical}\n.oom .oo-form input:focus,.oom .oo-form select:focus,.oom .oo-form textarea:focus{\noutline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(0,153,151,.14)}\n.oom .oo-form input[type=submit]{display:inline-flex;align-items:center;justify-content:center;\npadding:13px 26px;border:0;border-radius:11px;background:var(--accd);color:#fff;\nfont:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:.18s}\n.oom .oo-form input[type=submit]:hover{background:var(--acc)}\n.oom .oo-form .wpcf7-not-valid-tip{color:#B4443A;font-size:.82rem;margin-top:5px}\n.oom .oo-form .wpcf7-response-output{margin:14px 0 0;padding:12px 14px;border-radius:11px;\nborder:1.5px solid var(--line2);font-size:.9rem}\n.oom .oo-form .wpcf7-spinner{margin-left:10px}\n\n@media (max-width:400px){.oom .btn{white-space:normal;max-width:100%;text-align:center}}\n\n\/* hero *\/\n.oom .hero{background:linear-gradient(175deg,var(--mint) 0%,var(--bg) 58%);padding-block:clamp(46px,7vw,86px) clamp(50px,7vw,90px)}\n.oom .hero .grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,60px);align-items:center}\n.oom .hero h1 span{color:var(--accd);display:inline-block}\n.oom .micro{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.85rem;color:var(--ink2);font-weight:600}\n.oom .micro i{font-style:normal;color:var(--acc);margin-right:6px;font-weight:800}\n\n\/* les distinctions, en haut de l accueil *\/\n\/* la mini-section des distinctions, apres la galaxie *\/\n.oom .dist-sec{padding-block:clamp(30px,4vw,46px)}\n.oom .distinc{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,40px);\nflex-wrap:wrap;background:var(--srf);border:1.5px solid var(--accs);border-radius:22px;\npadding:clamp(16px,2vw,22px) clamp(20px,3vw,34px);max-width:820px;margin-inline:auto;\nbox-shadow:0 16px 40px -28px rgba(31,58,75,.6)}\n.oom .distinc img{width:clamp(150px,20vw,210px);height:auto;border-radius:14px;flex:none}\n.oom .dist-t{display:flex;flex-direction:column;gap:14px}\n.oom .dist-l{display:flex;flex-wrap:wrap;gap:16px 30px}\n.oom .dist-l span{display:flex;flex-direction:column;gap:3px;line-height:1.2}\n.oom .dist-l span + span{border-left:1px solid var(--line);padding-left:30px}\n.oom .dist-l b{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}\n.oom .dist-l i{font-style:normal;font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}\n@media (max-width:560px){\n .oom .distinc{flex-direction:column;text-align:center}\n .oom .dist-t{align-items:center}\n .oom .dist-l span + span{border-left:0;padding-left:0}\n}\n.oom .shot{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line2);\nbackground:var(--srf);box-shadow:0 18px 44px -26px rgba(31,58,75,.4)}\n.oom .shot img{width:100%;height:100%;object-fit:cover}\n\n\/* proof strip *\/\n.oom .strip{background:var(--srf);border-block:1px solid var(--line);padding-block:26px}\n.oom .strip .in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 34px}\n\n\/* eco *\/\n.oom .step .stepimg{margin:0 0 12px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--sky)}\n.oom .step .stepimg img{width:100%;aspect-ratio:16\/11;object-fit:cover;display:block}\n\n\/* les plans du g\u00e9n\u00e9rateur 3D *\/\n.oom .plans-wrap{background:var(--sky);border:1px solid var(--line);border-radius:16px;\npadding:18px;overflow-x:auto}\n.oom .plans{display:block;width:100%;min-width:760px;height:auto}\n\n\/* les trois captures anim\u00e9es du g\u00e9n\u00e9rateur *\/\n.oom .demos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\n.oom .demos figure{margin:0;display:flex;flex-direction:column;gap:8px}\n.oom .demos video{width:100%;display:block;aspect-ratio:794\/514;object-fit:contain;\nbackground:var(--srf);border:1px solid var(--line);border-radius:12px}\n.oom .demos figcaption{font-size:.8rem;color:var(--ink2);line-height:1.4}\n@media (max-width:900px){.oom .demos{grid-template-columns:1fr}}\n\n\/* l affiche de campagne, portrait *\/\n.oom .affiche img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--line)}\n\n\/* vid\u00e9o int\u00e9gr\u00e9e, ratio conserv\u00e9 *\/\n.oom .vid{position:relative;width:100%;aspect-ratio:16\/9;border-radius:14px;overflow:hidden;\nborder:1px solid var(--line);background:var(--sky)}\n.oom .vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}\n\/* si une extension enveloppe l'iframe, l'enveloppe doit remplir le cadre *\/\n.oom .vid>*{position:absolute;inset:0;width:100%;height:100%}\n\n\/* signature Vision Minute *\/\n.oom .vmlock{display:flex;align-items:center;gap:16px;flex-wrap:wrap}\n.oom .vmlock img{width:86px;height:auto;flex:none}\n@media(max-width:560px){ .oom .vmlock img{width:68px} }\n\n\/* galaxie de services : OOmade au centre, les services en orbite *\/\n.oom .gal{position:relative;width:100%;max-width:1040px;margin-inline:auto;aspect-ratio:1160\/640}\n.oom .gal-o{position:absolute;inset:0;width:100%;height:100%;overflow:visible}\n.oom .gal-o ellipse{fill:none;stroke:var(--line2);stroke-width:1.5;stroke-dasharray:3 8}\n.oom .gal-o line{stroke:var(--line2);stroke-width:1.5;stroke-dasharray:2 6}\n.oom .gal-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:268px;\ntext-align:center;background:var(--srf);border:1.5px solid var(--acc);border-radius:22px;\npadding:24px 20px 18px;box-shadow:0 22px 50px -22px rgba(39,71,91,.34);z-index:2}\n.oom .gal-c b{display:block;font-size:1.5rem;font-weight:800;letter-spacing:-.035em;color:var(--accd)}\n.oom .gal-c span{display:block;font-size:.82rem;color:var(--ink2);line-height:1.45;margin-top:5px}\n.oom .gal-c i{display:inline-block;margin-top:12px;font-size:.6rem;letter-spacing:.16em;\ntext-transform:uppercase;font-weight:800;font-style:normal;color:var(--accd);\nbackground:var(--mint);border-radius:999px;padding:5px 11px}\n.oom .gal-n{position:absolute;transform:translate(-50%,-50%);width:200px;text-align:center;\nbackground:var(--srf);border:1px solid var(--line);border-radius:16px;padding:15px 13px;\ntext-decoration:none;z-index:2;transition:transform .5s var(--easeo),box-shadow .45s,border-color .35s}\n.oom .gal-n:hover{transform:translate(-50%,-50%) translateY(-5px);border-color:var(--accs);\nbox-shadow:0 18px 38px -20px rgba(39,71,91,.4)}\n.oom .gal-n b{display:block;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}\n.oom .gal-n p{font-size:.79rem;color:var(--ink2);line-height:1.45;margin-top:5px}\n.oom .gal-n em{display:block;margin-top:9px;font-size:.59rem;letter-spacing:.15em;\ntext-transform:uppercase;font-weight:800;font-style:normal;color:var(--ink3)}\n.oom .gal-n.eng{border-style:dashed;border-color:var(--accs);background:var(--mint)}\n.oom .gal-n.eng em{color:var(--accd)}\n.oom .n1{left:50%;top:10.9%}\n.oom .n2{left:84.0%;top:30.5%}\n.oom .n3{left:84.0%;top:69.5%}\n.oom .n4{left:50%;top:89.1%}\n.oom .n5{left:16.0%;top:69.5%}\n.oom .n6{left:16.0%;top:30.5%}\n@media(max-width:980px){\n .oom .gal{aspect-ratio:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}\n .oom .gal-o{display:none}\n .oom .gal-c,.oom .gal-n{position:static;transform:none;width:auto}\n .oom .gal-n:hover{transform:translateY(-4px)}\n .oom .gal-c{grid-column:1\/-1;max-width:340px;margin-inline:auto}\n}\n@media(max-width:560px){ .oom .gal{grid-template-columns:1fr} }\n\n\/* generic grids *\/\n.oom .cols2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,56px);align-items:center}\n.oom .cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}\n.oom .auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(238px,100%),1fr));gap:16px}\n.oom .auto3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}\n.oom .card{background:var(--srf);border:1px solid var(--line);border-radius:16px;padding:24px;\ndisplay:flex;flex-direction:column;gap:9px}\n\/* pictogramme de carte : un carre arrondi teinte, l icone au trait dedans.\n   Pose avant l'intitule, il donne un point d'entree visuel a une carte qui\n   n a que du texte. *\/\n.oom .card .picto{display:flex;align-items:center;justify-content:center;width:44px;height:44px;\nborder-radius:13px;background:var(--mint);color:var(--accd);flex:none;margin-bottom:4px;\nborder:1px solid var(--line2)}\n.oom .card .picto svg{width:23px;height:23px;display:block}\n.oom .card .num{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}\n.oom .card p{font-size:.92rem;color:var(--ink2)}\n\n\/* steps *\/\n.oom .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}\n\n\n.oom .step{background:var(--srf);border:1px solid var(--line);border-radius:16px;padding:24px;\ndisplay:flex;flex-direction:column;gap:8px;position:relative}\n.oom .step::before{counter-increment:s;content:counter(s);width:30px;height:30px;border-radius:10px;\nbackground:var(--mint);color:var(--accd);font-weight:800;font-size:.9rem;display:flex;\nalign-items:center;justify-content:center;margin-bottom:4px}\n.oom .sec-m .step,.oom .sec-s .step{background:var(--srf)}\n.oom .step p{font-size:.91rem;color:var(--ink2)}\n\n\/* stat *\/\n.oom .stat{background:var(--srf);border:1px solid var(--line2);border-radius:18px;\npadding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:10px}\n.oom .stat b{font-size:clamp(2.2rem,5vw,3.3rem);font-weight:800;letter-spacing:-.04em;\ncolor:var(--accd);line-height:1}\n.oom .stat .src{font-size:.79rem;color:var(--ink3)}\n.oom .counter{font-variant-numeric:tabular-nums}\n\n\/* quotes *\/\n.oom .q{background:var(--srf);border:1px solid var(--line);border-radius:16px;padding:24px;\ndisplay:flex;flex-direction:column;gap:14px}\n.oom .q blockquote{margin:0;font-size:1rem;line-height:1.55;color:var(--ink);font-weight:500}\n.oom .q .who{display:flex;flex-direction:column;gap:1px;margin-top:auto}\n.oom .q .who b{font-size:.86rem;font-weight:700}\n.oom .q .who span{font-size:.78rem;color:var(--ink3)}\n.oom .q .mk{width:26px;height:3px;border-radius:2px;background:var(--accs)}\n\n\/* frames gallery *\/\n\/* ATTENTION : la galaxie de l'accueil s'appelle deja .gal (voir plus haut).\n   Cette bande de photos porte donc .galp. Ne jamais reutiliser .gal ici : la\n   regle ecraserait l'aspect-ratio de la galaxie et ferait s'effondrer les six\n   noeuds les uns sur les autres. *\/\n.oom .galp{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}\n.oom .galp figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--srf)}\n.oom .galp img{width:100%;aspect-ratio:3\/2;object-fit:cover}\n\n\/* trio d objets, photographies *\/\n.oom .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}\n.oom .trio figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--srf)}\n.oom .trio img{width:100%;aspect-ratio:4\/3;object-fit:cover;display:block}\n\/* duo d objets, plein cadre *\/\n.oom .duo{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}\n.oom .duo figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--srf)}\n.oom .duo img{width:100%;aspect-ratio:4\/3;object-fit:cover;display:block}\n@media (max-width:640px){.oom .duo{grid-template-columns:1fr}}\n\n\n\/* placeholder slots *\/\n\n\/* cta band *\/\n.oom .band{background:linear-gradient(160deg,#1F3A4B,#123240);border-radius:24px;\npadding:clamp(32px,5vw,58px);color:#fff;display:flex;flex-direction:column;gap:18px;align-items:flex-start}\n.oom .band h2{color:#fff}\n.oom .band p{color:#BFD5DE;max-width:56ch}\n.oom .band .btn-p{background:#fff;color:#0E2C3A}\n.oom .band .btn-p:hover{background:var(--mint)}\n.oom .band .btn-g{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}\n.oom .band .btn-g:hover{border-color:#fff;color:#fff}\n.oom .band-t{background:linear-gradient(150deg,#007E7C 0%,#005D5B 100%)}\n.oom .band-t p{color:#fff}\n.oom .band-t .eyebrow{color:#fff !important}\n.oom .band-t .trio div{border-top-color:rgba(255,255,255,.55)}\n.oom .band-t .trio p{color:#fff}\n.oom .band .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:6px;width:100%}\n.oom .band .trio div{display:flex;flex-direction:column;gap:7px;padding-top:16px;border-top:2px solid var(--accs)}\n.oom .band .trio b{font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:#fff}\n.oom .band .trio p{color:#BFD5DE;font-size:.93rem;line-height:1.55;max-width:none}\n@media (max-width:820px){.oom .band .trio{grid-template-columns:1fr;gap:18px}}\n\n\/* footer *\/\n.oom footer{background:var(--srf);border-top:1px solid var(--line);padding-block:44px}\n.oom footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}\n.oom footer a{display:block;font-size:.88rem;color:var(--ink2);text-decoration:none;padding:3px 0}\n.oom footer a:hover{color:var(--accd)}\n.oom footer h4,.oom footer h3.t4{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}\n.oom footer img{height:30px!important;width:150px!important;align-self:flex-start;object-fit:contain;object-position:left center}\n\n\/* reveal *\/\n.oomfx .oom .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}\n.oom .rv.on{opacity:1;transform:none}\n@media (prefers-reduced-motion:reduce){.oom .rv{opacity:1;transform:none;transition:none}}\n\n@media (max-width:980px){\n \n \n .oom .nav .burger{display:flex}\n .oom .nav .in{flex-wrap:wrap;height:auto;min-height:70px}\n .oom .nav .links{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;\n gap:2px;margin:0 0 14px;padding-top:10px;border-top:1px solid var(--line)}\n .oom .nav.open .links{display:flex}\n .oom .nav.open{background:var(--srf);box-shadow:0 18px 40px -24px rgba(39,71,91,.45)}\n .oom .nav .links a{padding:13px 12px;font-size:1rem}\n .oom .nav .links a.btn-p{text-align:center;margin-top:8px}\n .oom .hero .grid{grid-template-columns:1fr}\n .oom .cols2{grid-template-columns:1fr}\n .oom .cols3,.oom .steps{grid-template-columns:1fr}\n .oom .galp{grid-template-columns:repeat(2,1fr)}\n .oom footer .cols{grid-template-columns:1fr 1fr}\n}\n@media (max-width:560px){\n \n .oom footer .cols{grid-template-columns:1fr}\n}\n\n\/* review panel (hors page) *\/\n\n\/* ---- FAQ ---- *\/\n.oom .faq{display:flex;flex-direction:column;gap:10px}\n\/* ---- pages d'information (politique de confidentialit\u00e9) ---- *\/\n.oom .legal p{max-width:72ch;color:var(--ink2)}\n.oom .legal p b{color:var(--ink)}\n.oom .legal a:not(.btn){color:var(--accd);text-decoration:underline;text-underline-offset:2px}\n.oom .legal .puces{display:flex;flex-direction:column;gap:6px;max-width:72ch;color:var(--ink2)}\n.oom .legal .puces li{position:relative;padding-left:18px}\n.oom .legal .puces li::before{content:\"\";position:absolute;left:2px;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--acc)}\n.oom .legal .card h3{font-size:1rem;font-weight:700;letter-spacing:-.01em}\n.oom .legal .mat dd{font-weight:400;font-size:.92rem;letter-spacing:0;color:var(--ink2);line-height:1.5}\n.oom .legal .mat div{grid-template-columns:1fr;gap:3px}\n.oom .legal .auto3{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}\n.oom details{background:var(--srf);border:1px solid var(--line);border-radius:14px;padding:0 22px}\n.oom details[open]{border-color:var(--line2)}\n.oom summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:1rem;\ncolor:var(--ink);display:flex;align-items:flex-start;gap:14px;letter-spacing:-.01em}\n.oom summary::-webkit-details-marker{display:none}\n.oom summary::after{content:\"+\";margin-left:auto;color:var(--acc);font-weight:800;font-size:1.25rem;line-height:1}\n.oom details[open] summary::after{content:\"\u2013\"}\n.oom details .a{padding:0 0 20px;font-size:.94rem;color:var(--ink2);max-width:72ch}\n.oom details .a p+p{margin-top:9px}\n\n\/* ---- specs ---- *\/\n.oom .kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(212px,100%),1fr));gap:1px;\nbackground:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}\n.oom .kv div{background:var(--srf);padding:20px 22px;display:flex;flex-direction:column;gap:3px}\n.oom .kv dt{font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}\n.oom .kv dd{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}\n.oom .kv dd.note{font-size:.84rem;color:var(--ink2);font-weight:400;letter-spacing:0}\n\n\/* ---- eco strip (densit\u00e9 3) ---- *\/\n.oom .ecos{background:var(--srf);border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,32px);\ndisplay:flex;flex-direction:column;gap:18px}\n.oom .ecos .hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}\n.oom .ecos .hd b{font-size:1.08rem;font-weight:800;letter-spacing:-.02em}\n.oom .ecos .hd span{font-size:.9rem;color:var(--ink2)}\n.oom .ecos .row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}\n.oom .ecos .row.six{grid-template-columns:repeat(3,1fr)}\n.oom .ecos a{display:flex;flex-direction:column;gap:4px;padding:16px 17px;border-radius:13px;\nbackground:var(--bg);border:1px solid var(--line);text-decoration:none;transition:.18s}\n.oom .ecos a:hover{border-color:var(--accs);background:var(--mint)}\n.oom .ecos a b{font-size:.94rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}\n.oom .ecos a span{font-size:.82rem;color:var(--ink2);line-height:1.4}\n@media (max-width:980px){.oom .ecos .row,.oom .ecos .row.six{grid-template-columns:repeat(2,1fr)}}\n@media (max-width:520px){.oom .ecos .row,.oom .ecos .row.six{grid-template-columns:1fr}}\n\n\/* ---- enseignes ---- *\/\n.oom .ens{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}\n.oom .ens img{flex:0 1 calc(25% - 11px);min-width:150px;height:74px;object-fit:contain;\nbackground:var(--srf);border:1px solid var(--line);border-radius:14px;padding:16px 20px}\n@media (max-width:820px){.oom .ens img{flex-basis:calc(50% - 7px);height:62px;padding:12px 16px}}\n\n\/* ---- gallery 5 ---- *\/\n.oom .gal5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}\n.oom .gal5 figure{margin:0;display:flex;flex-direction:column;gap:8px}\n.oom .gal5 img{width:100%;aspect-ratio:1\/1;object-fit:cover;background:#fff;\nborder-radius:14px;border:1px solid var(--line)}\n.oom .gal5 figcaption{font-size:.78rem;color:var(--ink2);line-height:1.35}\n.oom .gal5 figcaption b{display:block;color:var(--ink);font-size:.84rem;font-weight:700}\n@media (max-width:980px){.oom .gal5{grid-template-columns:repeat(3,1fr)}}\n@media (max-width:560px){.oom .gal5{grid-template-columns:repeat(2,1fr)}}\n\n\/* ---- mat\u00e9riaux ---- *\/\n.oom .mat{margin:4px 0 0;display:flex;flex-direction:column;gap:12px}\n.oom .mat div{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:baseline;\npadding-left:13px;border-left:3px solid var(--accs)}\n.oom .mat dt{font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}\n.oom .mat dd{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}\n.oom .mat dd.note{grid-column:1\/-1;font-size:.86rem;color:var(--ink2);line-height:1.45;font-weight:400;letter-spacing:0}\n\n\/* ---- figure caption ---- *\/\n.oom .fig{margin:0;display:flex;flex-direction:column;gap:7px}\n.oom .fig img{width:100%;aspect-ratio:16\/10;object-fit:cover;border-radius:12px;border:1px solid var(--line)}\n\/* une capture d'\u00e9cran ne se recadre pas : elle garde ses proportions *\/\n.oom .fig.raw img{aspect-ratio:auto;height:auto;object-fit:contain;background:var(--srf)}\n.oom .fig figcaption{font-size:.8rem;color:var(--ink2);line-height:1.4}\n\n\/* ---- gallery 3 ---- *\/\n.oom .gal3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}\n.oom .gal3 figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--srf)}\n.oom .gal3 img{width:100%;aspect-ratio:4\/3;object-fit:cover}\n\/* Une l\u00e9gende pos\u00e9e DANS la carte a besoin de sa marge : la carte est arrondie\n   a 18px et masque ce qui deborde, donc un texte colle au bord perd ses\n   premieres et dernieres lettres dans l arrondi. Les legendes de .fig, .gal5 et\n   .demos sont hors carte et ne sont pas concernees. *\/\n.oom .gal3 figcaption,.oom .gal2 figcaption,.oom .galp figcaption,\n.oom .trio figcaption,.oom .duo figcaption{\ndisplay:block;padding:12px 16px 14px;font-size:.82rem;color:var(--ink2);line-height:1.45}\n.oom .gal3 figcaption b,.oom .gal2 figcaption b,.oom .galp figcaption b,\n.oom .trio figcaption b,.oom .duo figcaption b{color:var(--ink);font-weight:700}\n@media (max-width:900px){.oom .gal3{grid-template-columns:repeat(2,1fr)}}\n@media (max-width:540px){.oom .gal3{grid-template-columns:1fr}}\n\n\/* ---- gallery large ---- *\/\n.oom .gal2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}\n.oom .gal2 figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--srf)}\n.oom .gal2 img{width:100%;aspect-ratio:3\/2;object-fit:cover}\n@media (max-width:640px){.oom .gal2{grid-template-columns:1fr}}\n\n.oom ul.pl2{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}\n.oom ul.pl2 li{display:flex;gap:10px;font-size:.93rem;color:var(--ink2);line-height:1.5}\n.oom ul.pl2 li::before{content:\"\";flex:none;width:6px;height:6px;border-radius:999px;background:var(--acc);margin-top:9px}\n\n\/* ---- breadcrumb ---- *\/\n.oom .bc{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;color:var(--ink3)}\n.oom .bc a{text-decoration:none;color:var(--ink3);display:inline-block;padding-block:4px}\n.oom .bc a:hover{color:var(--accd)}\n.oom .bc i{font-style:normal;opacity:.55}\n\n\/* ============ COUCHE ESTH\u00c9TIQUE ============ *\/\n.oom{--display:'Open Sans',-apple-system,'Segoe UI',Arial,sans-serif;\n--sh1:0 1px 2px rgba(20,45,58,.04),0 4px 10px -4px rgba(20,45,58,.08);\n--sh2:0 2px 4px rgba(20,45,58,.04),0 12px 28px -12px rgba(20,45,58,.16);\n--sh3:0 4px 8px rgba(20,45,58,.05),0 30px 60px -24px rgba(20,45,58,.28);\n--ease:cubic-bezier(.22,.61,.36,1);--easeo:cubic-bezier(.16,1,.3,1)}\n\n\/* accent serif dans les titres *\/\n.oom h1 em,.oom h2 em,.oom h3 em{font-family:var(--display);font-style:normal;font-weight:400;\ncolor:var(--accd);letter-spacing:-.015em}\n.oom .band h2 em{color:#8FE9E6}\n.oom .band-t h2 em{color:#EAFFFE}\n\n\/* h\u00e9ros secondaires : m\u00eame famille visuelle *\/\n.oom .hero{position:relative;overflow:hidden;isolation:isolate}\n.oom .hero::before{content:\"\";position:absolute;inset:-30% -12% auto -12%;height:180%;z-index:0;\npointer-events:none;filter:blur(84px);opacity:.5;\nbackground:radial-gradient(36vw 36vw at 6% 4%,#8FE6E3,transparent 66%),\nradial-gradient(30vw 30vw at 90% 16%,#C7E9F6,transparent 66%)}\n.oom .hero>.w{position:relative;z-index:2}\n.oom .hero .shot{box-shadow:var(--sh3)}\n\n\/* cartes : relief au survol *\/\n.oom .card{transition:transform .45s var(--easeo),box-shadow .45s var(--easeo),border-color .3s}\n.oom .auto>.card:hover,.oom .auto3>.card:hover,.oom .cols3>.card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}\n.oom .ecos a{transition:transform .4s var(--easeo),background .3s,border-color .3s}\n.oom .ecos a:hover{transform:translateY(-3px)}\n\n\/* FAQ plus soign\u00e9e *\/\n.oom details{transition:box-shadow .35s var(--easeo),border-color .3s}\n.oom details:hover{box-shadow:var(--sh1)}\n.oom details[open]{box-shadow:var(--sh2)}\n.oom summary::after{transition:transform .3s var(--easeo)}\n.oom details[open] summary::after{transform:rotate(180deg)}\n\n\/* grain *\/\n.oom .grain::after{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.42;\nbackground-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'\/%3E%3CfeColorMatrix type='saturate' values='0'\/%3E%3C\/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'\/%3E%3C\/svg%3E\");\nmix-blend-mode:multiply}\n\n\/* aurora *\/\n.oom .aurora{position:absolute;inset:-20% -10% auto -10%;height:150%;pointer-events:none;z-index:0;filter:blur(70px);opacity:.55}\n.oom .aurora span{position:absolute;border-radius:50%;display:block}\n.oom .aurora span:nth-child(1){width:46vw;height:46vw;left:-6%;top:-8%;background:radial-gradient(circle,#7FE3E0,transparent 68%);animation:drift1 22s var(--ease) infinite alternate}\n.oom .aurora span:nth-child(2){width:38vw;height:38vw;right:2%;top:6%;background:radial-gradient(circle,#BFE9F5,transparent 68%);animation:drift2 27s var(--ease) infinite alternate}\n.oom .aurora span:nth-child(3){width:32vw;height:32vw;left:34%;top:42%;background:radial-gradient(circle,#D7F0EC,transparent 70%);animation:drift3 31s var(--ease) infinite alternate}\n@keyframes drift1{to{transform:translate3d(9vw,7vh,0) scale(1.14)}}\n@keyframes drift2{to{transform:translate3d(-8vw,10vh,0) scale(1.1)}}\n@keyframes drift3{to{transform:translate3d(6vw,-9vh,0) scale(1.18)}}\n\n\/* hero *\/\n.oom .hero-xl{position:relative;overflow:hidden;background:var(--bg);\npadding-block:clamp(56px,9vw,116px) clamp(56px,8vw,104px);isolation:isolate}\n.oom .hero-xl>.w{position:relative;z-index:3}\n.oom .hero-xl .grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(30px,4.5vw,64px);align-items:center}\n.oom h1.xl{font-size:clamp(2.5rem,6.4vw,5.1rem);font-weight:800;letter-spacing:-.045em;line-height:1.02}\n.oom h1.xl .ser{font-family:var(--display);font-weight:400;font-style:normal;letter-spacing:-.02em;\ncolor:var(--accd);display:inline-block}\n.oom .lede-xl{font-size:clamp(1.06rem,1.6vw,1.3rem);line-height:1.6;color:var(--ink2);max-width:52ch}\n\n\/* r\u00e9serve de ligne + reveal en masque, actifs seulement si le JS tourne *\/\n.oom .ln{display:block;padding-bottom:.08em}\n.oomfx .oom .ln{overflow:hidden}\n.oomfx .oom .ln>span{display:block;transform:translateY(105%);transition:transform 1.05s var(--easeo)}\n.oomfx .oom .on .ln>span,.oomfx .oom .ln.on>span{transform:none}\n.oomfx .oom .rv2{opacity:0;transform:translateY(26px);transition:opacity .9s var(--easeo),transform .9s var(--easeo)}\n.oomfx .oom .rv2.on{opacity:1;transform:none}\n.oomfx .oom .rvs{opacity:0;transform:scale(.965);transition:opacity 1s var(--easeo),transform 1.2s var(--easeo)}\n.oomfx .oom .rvs.on{opacity:1;transform:none}\n.oomfx .oom .chip-f{opacity:0;transform:translateY(12px) scale(.96)}\n.oomfx .oom .on .chip-f{opacity:1;transform:none}\n.oomfx .oom .float img{transform:scale(1.06)}\n.oomfx .oom .float.on img{transform:none}\n\n\/* visuel h\u00e9ros flottant *\/\n.oom .float{position:relative;border-radius:26px;background:var(--srf);will-change:transform}\n.oom .float-in{position:relative;border-radius:26px;overflow:hidden;height:100%;\nborder:1px solid rgba(255,255,255,.7);box-shadow:var(--sh3)}\n.oom .float img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--easeo)}\n.oom .chip-f{position:absolute;z-index:4;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);\nborder:1px solid var(--line);border-radius:15px;padding:13px 17px;box-shadow:var(--sh2);\ndisplay:flex;flex-direction:column;gap:1px;\ntransition:opacity .8s var(--easeo) .5s,transform .8s var(--easeo) .5s}\n.oom .chip-f b{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--accd);line-height:1}\n.oom .chip-f b.mots{font-size:1rem;letter-spacing:-.01em;line-height:1.2}\n\/* les pastilles debordent du visuel de 26 px. Sous 1200 px de large, la gouttiere\n   de la page ne fait plus que 20 px et le heros (overflow:hidden) les coupait :\n   on les rentre alors dans le visuel. *\/\n.oom .chip-f.g{left:-26px}\n.oom .chip-f.d{right:-26px}\n@media (max-width:1199px){.oom .chip-f.g{left:12px}.oom .chip-f.d{right:12px}}\n.oom .chip-f>span{font-size:.72rem;color:var(--ink2);font-weight:600}\n.oom .chip-f b span{font-size:inherit;color:inherit;font-weight:inherit}\n\n\n\/* barre de progression *\/\n.oom .prog{position:fixed;top:0;left:0;height:2px;width:0;z-index:99;\nbackground:linear-gradient(90deg,var(--acc),#5FD3D1);transition:width .1s linear}\n\n\/* nav condens\u00e9e *\/\n.oom .nav{transition:height .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}\n.oom .nav .in{transition:height .35s var(--ease)}\n.oom .nav.mini .in{height:56px}\n.oom .nav.mini{box-shadow:0 1px 0 var(--line),0 8px 24px -18px rgba(20,45,58,.5)}\n.oom .nav img{transition:height .35s var(--ease)}\n.oom .nav.mini img{height:25px}\n\n\/* liens soulign\u00e9s *\/\n.oom .nav .links a:not(.btn){position:relative;background:none!important}\n.oom .nav .links a:not(.btn)::before{content:\"\";position:absolute;left:13px;right:13px;bottom:4px;height:1.5px;\nbackground:var(--acc);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--easeo)}\n.oom .nav .links a:not(.btn):hover::before{transform:scaleX(1);transform-origin:left}\n\n\/* boutons *\/\n.oom .btn{position:relative;overflow:hidden;isolation:isolate;\ntransition:transform .35s var(--easeo),box-shadow .35s var(--easeo),background .25s,border-color .25s}\n.oom .btn-p{box-shadow:0 2px 6px -2px rgba(0,152,150,.5),0 10px 24px -12px rgba(0,152,150,.55)}\n.oom .btn-p:hover{transform:translateY(-2px);box-shadow:0 4px 10px -2px rgba(0,152,150,.45),0 18px 34px -14px rgba(0,152,150,.6)}\n.oom .btn-g:hover{transform:translateY(-2px);box-shadow:var(--sh2)}\n.oom .btn::after{content:\"\";position:absolute;inset:0;z-index:-1;opacity:0;\nbackground:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.34),transparent 70%);\ntransform:translateX(-100%);transition:opacity .2s}\n.oom .btn:hover::after{opacity:1;animation:sheen .9s var(--easeo)}\n@keyframes sheen{to{transform:translateX(100%)}}\n\n\/* bandeau logos d\u00e9filant *\/\n.oom .mq{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);\n-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}\n.oom .mq-t{display:flex;width:max-content;animation:mqs 46s linear infinite}\n.oom .mq:hover .mq-t{animation-play-state:paused}\n.oom .mq-g{display:flex;align-items:center;gap:56px;padding-right:56px}\n.oom .mq img{height:26px;width:auto;filter:grayscale(1);opacity:.44;transition:filter .4s,opacity .4s;flex:none}\n.oom .mq img:hover{filter:none;opacity:1}\n.oom .mq img.l-cdl{height:42px}.oom .mq img.l-affl{height:15px}.oom .mq img.l-oc{height:36px}\n.oom .mq img.l-atol{height:27px}.oom .mq img.l-ev{height:21px}.oom .mq img.l-lissac{height:20px}\n@keyframes mqs{to{transform:translateX(-50%)}}\n\n\/* cartes services : hover marqu\u00e9 *\/\n@keyframes oom-orbite{to{stroke-dashoffset:-220}}\n.oomfx .oom .gal-o ellipse{animation:oom-orbite 26s linear infinite}\n.oomfx .oom .gal-n{opacity:0;transform:translate(-50%,-50%) scale(.94);\ntransition:opacity .8s var(--easeo),transform .8s var(--easeo),box-shadow .45s,border-color .35s}\n.oomfx .oom .gal-n.on{opacity:1;transform:translate(-50%,-50%)}\n@media(max-width:980px){\n .oomfx .oom .gal-n{transform:scale(.96)}\n .oomfx .oom .gal-n.on{transform:none}\n}\n\n\/* chiffres anim\u00e9s *\/\n\n\/* images qui se d\u00e9voilent *\/\n.oom .shot img,.oom .gal3 img,.oom .gal5 img,.oom .gal2 img{transition:transform 1.3s var(--easeo)}\n.oom .shot,.oom .gal3 figure,.oom .gal2 figure{overflow:hidden}\n.oom .shot:hover img,.oom .gal3 figure:hover img{transform:scale(1.035)}\n\n\/* bandeaux sombres : profondeur *\/\n.oom .band{position:relative;overflow:hidden;isolation:isolate;box-shadow:var(--sh3)}\n.oom .band::before{content:\"\";position:absolute;inset:0;z-index:-1;opacity:.5;\nbackground:radial-gradient(680px circle at 12% 0%,rgba(0,168,165,.42),transparent 62%),\nradial-gradient(520px circle at 92% 100%,rgba(80,180,220,.3),transparent 60%)}\n\n\/* s\u00e9parateurs de section *\/\n.oom section{position:relative}\n.oom .sec-w+.sec-w{border-top:1px solid var(--line)}\n\n@media (max-width:980px){\n .oom .hero-xl .grid{grid-template-columns:1fr}\n .oom .aurora{filter:blur(52px);opacity:.5}\n}\n@media (prefers-reduced-motion:reduce){\n .oomfx .oom .gal-o ellipse{animation:none}\n .oomfx .oom .gal-n{opacity:1;transform:translate(-50%,-50%);transition:none}\n\n .oom .aurora span{animation:none}\n .oom .mq-t{animation:none}\n .oomfx .oom .ln>span,.oomfx .oom .rv2,.oomfx .oom .rvs,.oomfx .oom .chip-f,.oomfx .oom .float img{transition:none;transform:none;opacity:1}\n .oom .btn:hover{transform:none}\n .oom .btn:hover::after{animation:none;opacity:0}\n}\n\n\/* Pastille \u00ab Bient\u00f4t disponible \u00bb : photos du scan de visage *\/\n.oom .soon-wrap{position:relative}\n.oom .soon{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;color:#845B0B;background:var(--ambbg);border:1px solid #E6C88E;padding:5px 11px;border-radius:999px;box-shadow:0 2px 10px rgba(20,40,52,.18);pointer-events:none}\n.oom .soon::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--amb);flex:none}\n\n\/* Menu mobile : une fois ouvert, il garde sa hauteur et un fond opaque, y compris apr\u00e8s d\u00e9filement (barre r\u00e9duite) *\/\n@media (max-width:980px){\n.oom .nav.open .in,.oom .nav.mini.open .in{height:auto;min-height:56px}\n.oom .nav.open{background:#fff;box-shadow:0 18px 40px -18px rgba(20,40,52,.35)}\n.oom .nav.open .links{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}\n}\n\n\/* S\u00e9lecteur de langue par r\u00e9gions du monde (m\u00eame logique que visionminute.com) *\/\n.oom .ols{position:relative;margin-left:6px;flex:none}\n.oom .ols__btn{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink2);font-family:inherit;font-size:.86rem;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap}\n.oom .ols__btn:hover,.oom .ols.open .ols__btn{border-color:var(--acc);color:var(--accd);background:var(--mint)}\n.oom .ols__btn svg{width:16px;height:16px;flex:none}\n.oom .ols__btn .ols__chev{width:10px;height:10px;transition:transform .2s}\n.oom .ols.open .ols__chev{transform:rotate(180deg)}\n.oom .ols__code{display:none}\n.oom .ols__panel{position:absolute;right:0;top:calc(100% + 10px);width:700px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px -16px rgba(20,40,52,.32);padding:14px;z-index:60;text-align:left}\n.oom .ols__panel[hidden]{display:none}\n.oom .ols__tabs{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--line)}\n.oom .ols__tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-family:inherit;font-size:.8rem;font-weight:600;color:var(--ink2);cursor:pointer;white-space:nowrap}\n.oom .ols__tab:hover{border-color:var(--acc);color:var(--accd)}\n.oom .ols__tab[aria-selected=\"true\"]{background:var(--accd);border-color:var(--accd);color:#fff}\n.oom .ols__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px}\n.oom .ols__list[hidden]{display:none}\n.oom .ols__list li{margin:0;padding:0}\n.oom .ols__list li::before{content:none}\n.oom .ols__list a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:.88rem;line-height:1.25}\n.oom .ols__list a:hover,.oom .ols__list a:focus-visible{background:var(--mint);color:var(--accd)}\n.oom .ols__list a[aria-current=\"true\"]{background:var(--mint);color:var(--accd);font-weight:700}\n.oom .ols__list img{width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none}\n#trp-floater-ls{display:none!important}\n@media (max-width:980px){\n.oom .ols{order:1;margin-left:auto}\n.oom .nav .burger{order:2;margin-left:8px}\n.oom .ols__name{display:none}\n.oom .ols__code{display:inline}\n.oom .ols__btn{height:42px;padding:0 10px}\n.oom .ols__panel{position:fixed;left:12px;right:12px;width:auto;max-width:none;top:76px;max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}\n.oom .ols__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}\n.oom .ols__list{grid-template-columns:repeat(2,minmax(0,1fr))}\n}\n\n\/* S\u00e9lecteur de langue : bouton pilule avec drapeau, comme visionminute.com *\/\n.oom .ols__btn{height:auto;min-height:40px;padding:6px 12px;gap:6px;border-radius:999px;border:1px solid rgba(0,0,0,.15);background:#fff;color:var(--ink);font-size:.94rem;font-weight:700}\n.oom .ols__btn:hover,.oom .ols.open .ols__btn{border-color:var(--acc);background:#fff;color:var(--ink)}\n.oom .ols__btn svg{width:18px;height:18px}\n.oom .nav .ols__list img{width:20px;height:14px}\n.oom .nav .ols__flag{width:22px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none}\n.oom .ols__btn .ols__chev{width:10px;height:10px;color:#777}\n.trp-floating-switcher{display:none!important}\n@media (max-width:980px){\n.oom .ols__btn{min-height:42px;padding:6px 10px}\n.oom .ols__btn>svg:first-child{display:none}\n}\n\n\/* OOframe \u00ab La monture part du visage \u00bb : photo \u00e0 droite du titre *\/\n.oom .trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}\n.oom .trio .shot{aspect-ratio:4\/5}\n@media (max-width:640px){.oom .trio{gap:8px}}\n.oom .calc-photo{aspect-ratio:3\/2;width:100%;margin:4px 0 2px}\n.oom .sm-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:center}\n.oom .sm-photo{aspect-ratio:4\/5;width:100%;max-width:400px;justify-self:end}\n.oom .sm-photo img{object-position:50% 40%}\n@media (max-width:980px){\n.oom .sm-head{grid-template-columns:1fr;gap:28px}\n.oom .sm-photo{justify-self:start;max-width:360px}\n}\n<\/style>\n<div class=\"oom\"><div class=\"nav\"><div class=\"w in\">\n  <a href=\"\/\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/07\/Logo-OOMADE-Final.png\" alt=\"OOmade\" class=\"skip-lazy no-lazyload\" loading=\"eager\"><\/a>\n  <button class=\"burger\" type=\"button\" aria-expanded=\"false\" aria-controls=\"oomenu\" aria-label=\"Ouvrir le menu\"><span><\/span><span><\/span><span><\/span><\/button>\n  <nav class=\"links\" id=\"oomenu\">\n    <a class=\"ici\" aria-current=\"true\" href=\"\/#ecosysteme\">L&rsquo;\u00e9cosyst\u00e8me<\/a>\n    <a href=\"\/espace-opticiens\/\">Espace opticiens<\/a>\n    <a href=\"\/qui-sommes-nous\/\">Qui sommes-nous<\/a>\n    <a href=\"\/contactez-nous\/\" class=\"btn btn-p btn-s\">Demander une d\u00e9monstration<\/a>\n  <\/nav>\n  <div class=\"ols\"><button class=\"ols__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"ols-panel\" aria-label=\"Choisir la langue\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M3 12h18M12 3c2.6 2.6 4 5.6 4 9s-1.4 6.4-4 9c-2.6-2.6-4-5.6-4-9s1.4-6.4 4-9z\"\/><\/svg><img decoding=\"async\" class=\"ols__flag skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fr_FR.png\" alt=\"\" width=\"22\" height=\"15\"><span class=\"ols__name\" data-no-translation>Fran\u00e7ais<\/span><span class=\"ols__code\" data-no-translation>FR<\/span><svg class=\"ols__chev\" viewBox=\"0 0 12 12\" aria-hidden=\"true\"><path d=\"M2 4h8L6 9z\" fill=\"currentColor\"\/><\/svg><\/button><div class=\"ols__panel\" id=\"ols-panel\" hidden><div class=\"ols__tabs\" role=\"tablist\" aria-label=\"R\u00e9gions du monde\"><button class=\"ols__tab\" type=\"button\" role=\"tab\" id=\"ols-tab-0\" aria-controls=\"ols-list-0\" aria-selected=\"true\">Europe de l\u2019Ouest &amp; du Nord<\/button><button class=\"ols__tab\" type=\"button\" role=\"tab\" id=\"ols-tab-1\" aria-controls=\"ols-list-1\" aria-selected=\"false\">Europe de l\u2019Est &amp; Balkans<\/button><button class=\"ols__tab\" type=\"button\" role=\"tab\" id=\"ols-tab-2\" aria-controls=\"ols-list-2\" aria-selected=\"false\">Am\u00e9riques<\/button><button class=\"ols__tab\" type=\"button\" role=\"tab\" id=\"ols-tab-3\" aria-controls=\"ols-list-3\" aria-selected=\"false\">Afrique &amp; Moyen-Orient<\/button><\/div><ul class=\"ols__list\" id=\"ols-list-0\" role=\"tabpanel\" aria-labelledby=\"ols-tab-0\" data-no-translation><li><a href=\"\/\" data-l=\"\" lang=\"fr\" hreflang=\"fr\"><img decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fr_FR.png\" alt=\"\" width=\"20\" height=\"14\"><span>Fran\u00e7ais<\/span><\/a><\/li><li><a href=\"\/en\/\" data-l=\"en\" lang=\"en\" hreflang=\"en\"><img decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/en_GB.png\" alt=\"\" width=\"20\" height=\"14\"><span>English<\/span><\/a><\/li><li><a href=\"\/de\/\" data-l=\"de\" lang=\"de\" hreflang=\"de\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/de_DE.png\" alt=\"\" width=\"20\" height=\"14\"><span>Deutsch<\/span><\/a><\/li><li><a href=\"\/es\/\" data-l=\"es\" lang=\"es\" hreflang=\"es\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/es_ES.png\" alt=\"\" width=\"20\" height=\"14\"><span>Espa\u00f1ol<\/span><\/a><\/li><li><a href=\"\/it\/\" data-l=\"it\" lang=\"it\" hreflang=\"it\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/it_IT.png\" alt=\"\" width=\"20\" height=\"14\"><span>Italiano<\/span><\/a><\/li><li><a href=\"\/pt\/\" data-l=\"pt\" lang=\"pt\" hreflang=\"pt\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/pt_PT.png\" alt=\"\" width=\"20\" height=\"14\"><span>Portugu\u00eas<\/span><\/a><\/li><li><a href=\"\/nl\/\" data-l=\"nl\" lang=\"nl\" hreflang=\"nl\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/nl_NL.png\" alt=\"\" width=\"20\" height=\"14\"><span>Nederlands<\/span><\/a><\/li><li><a href=\"\/sv\/\" data-l=\"sv\" lang=\"sv\" hreflang=\"sv\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/sv_SE.png\" alt=\"\" width=\"20\" height=\"14\"><span>Svenska<\/span><\/a><\/li><li><a href=\"\/da\/\" data-l=\"da\" lang=\"da\" hreflang=\"da\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/da_DK.png\" alt=\"\" width=\"20\" height=\"14\"><span>Dansk<\/span><\/a><\/li><li><a href=\"\/nb\/\" data-l=\"nb\" lang=\"nb\" hreflang=\"nb\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/nb_NO.png\" alt=\"\" width=\"20\" height=\"14\"><span>Norsk<\/span><\/a><\/li><li><a href=\"\/fi\/\" data-l=\"fi\" lang=\"fi\" hreflang=\"fi\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fi.png\" alt=\"\" width=\"20\" height=\"14\"><span>Suomi<\/span><\/a><\/li><\/ul><ul class=\"ols__list\" id=\"ols-list-1\" role=\"tabpanel\" aria-labelledby=\"ols-tab-1\" data-no-translation hidden><li><a href=\"\/pl\/\" data-l=\"pl\" lang=\"pl\" hreflang=\"pl\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/pl_PL.png\" alt=\"\" width=\"20\" height=\"14\"><span>Polski<\/span><\/a><\/li><li><a href=\"\/cs\/\" data-l=\"cs\" lang=\"cs\" hreflang=\"cs\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/cs_CZ.png\" alt=\"\" width=\"20\" height=\"14\"><span>\u010ce\u0161tina<\/span><\/a><\/li><li><a href=\"\/sk\/\" data-l=\"sk\" lang=\"sk\" hreflang=\"sk\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/sk_SK.png\" alt=\"\" width=\"20\" height=\"14\"><span>Sloven\u010dina<\/span><\/a><\/li><li><a href=\"\/hu\/\" data-l=\"hu\" lang=\"hu\" hreflang=\"hu\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/hu_HU.png\" alt=\"\" width=\"20\" height=\"14\"><span>Magyar<\/span><\/a><\/li><li><a href=\"\/ro\/\" data-l=\"ro\" lang=\"ro\" hreflang=\"ro\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/ro_RO.png\" alt=\"\" width=\"20\" height=\"14\"><span>Rom\u00e2n\u0103<\/span><\/a><\/li><li><a href=\"\/bg\/\" data-l=\"bg\" lang=\"bg\" hreflang=\"bg\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/bg_BG.png\" alt=\"\" width=\"20\" height=\"14\"><span>\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438<\/span><\/a><\/li><li><a href=\"\/hr\/\" data-l=\"hr\" lang=\"hr\" hreflang=\"hr\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/hr.png\" alt=\"\" width=\"20\" height=\"14\"><span>Hrvatski<\/span><\/a><\/li><li><a href=\"\/sr\/\" data-l=\"sr\" lang=\"sr\" hreflang=\"sr\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/sr_RS.png\" alt=\"\" width=\"20\" height=\"14\"><span>\u0421\u0440\u043f\u0441\u043a\u0438<\/span><\/a><\/li><li><a href=\"\/sl\/\" data-l=\"sl\" lang=\"sl\" hreflang=\"sl\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/sl_SI.png\" alt=\"\" width=\"20\" height=\"14\"><span>Sloven\u0161\u010dina<\/span><\/a><\/li><li><a href=\"\/el\/\" data-l=\"el\" lang=\"el\" hreflang=\"el\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/el.png\" alt=\"\" width=\"20\" height=\"14\"><span>\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac<\/span><\/a><\/li><li><a href=\"\/lt\/\" data-l=\"lt\" lang=\"lt\" hreflang=\"lt\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/lt_LT.png\" alt=\"\" width=\"20\" height=\"14\"><span>Lietuvi\u0173<\/span><\/a><\/li><li><a href=\"\/lv\/\" data-l=\"lv\" lang=\"lv\" hreflang=\"lv\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/lv.png\" alt=\"\" width=\"20\" height=\"14\"><span>Latvie\u0161u<\/span><\/a><\/li><li><a href=\"\/et\/\" data-l=\"et\" lang=\"et\" hreflang=\"et\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/et.png\" alt=\"\" width=\"20\" height=\"14\"><span>Eesti<\/span><\/a><\/li><li><a href=\"\/ru\/\" data-l=\"ru\" lang=\"ru\" hreflang=\"ru\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/ru_RU.png\" alt=\"\" width=\"20\" height=\"14\"><span>\u0420\u0443\u0441\u0441\u043a\u0438\u0439<\/span><\/a><\/li><li><a href=\"\/uk\/\" data-l=\"uk\" lang=\"uk\" hreflang=\"uk\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/uk.png\" alt=\"\" width=\"20\" height=\"14\"><span>\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430<\/span><\/a><\/li><li><a href=\"\/tr\/\" data-l=\"tr\" lang=\"tr\" hreflang=\"tr\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/tr_TR.png\" alt=\"\" width=\"20\" height=\"14\"><span>T\u00fcrk\u00e7e<\/span><\/a><\/li><\/ul><ul class=\"ols__list\" id=\"ols-list-2\" role=\"tabpanel\" aria-labelledby=\"ols-tab-2\" data-no-translation hidden><li><a href=\"\/en\/\" data-l=\"en\" lang=\"en\" hreflang=\"en\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/en_US.png\" alt=\"\" width=\"20\" height=\"14\"><span>English<\/span><\/a><\/li><li><a href=\"\/es\/\" data-l=\"es\" lang=\"es\" hreflang=\"es\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/es_MX.png\" alt=\"\" width=\"20\" height=\"14\"><span>Espa\u00f1ol<\/span><\/a><\/li><li><a href=\"\/pt-br\/\" data-l=\"pt-br\" lang=\"pt-BR\" hreflang=\"pt-BR\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/pt_BR.png\" alt=\"\" width=\"20\" height=\"14\"><span>Portugu\u00eas (Brasil)<\/span><\/a><\/li><li><a href=\"\/\" data-l=\"\" lang=\"fr\" hreflang=\"fr\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fr_CA.png\" alt=\"\" width=\"20\" height=\"14\"><span>Fran\u00e7ais (Canada)<\/span><\/a><\/li><\/ul><ul class=\"ols__list\" id=\"ols-list-3\" role=\"tabpanel\" aria-labelledby=\"ols-tab-3\" data-no-translation hidden><li><a href=\"\/\" data-l=\"\" lang=\"fr\" hreflang=\"fr\"><img decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fr_FR.png\" alt=\"\" width=\"20\" height=\"14\"><span>Fran\u00e7ais<\/span><\/a><\/li><li><a href=\"\/en\/\" data-l=\"en\" lang=\"en\" hreflang=\"en\"><img decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/en_GB.png\" alt=\"\" width=\"20\" height=\"14\"><span>English<\/span><\/a><\/li><li><a href=\"\/ar\/\" data-l=\"ar\" lang=\"ar\" hreflang=\"ar\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/ar.png\" alt=\"\" width=\"20\" height=\"14\"><span>\u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/span><\/a><\/li><li><a href=\"\/pt\/\" data-l=\"pt\" lang=\"pt\" hreflang=\"pt\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-skip-lazy=\"1\" src=\"\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/pt_PT.png\" alt=\"\" width=\"20\" height=\"14\"><span>Portugu\u00eas<\/span><\/a><\/li><\/ul><\/div><\/div><script>\n(function(){\nvar root=document.querySelector('.oom .ols'); if(!root){return;}\nvar btn=root.querySelector('.ols__btn'), panel=root.querySelector('.ols__panel');\nvar tabs=[].slice.call(root.querySelectorAll('.ols__tab')), lists=[].slice.call(root.querySelectorAll('.ols__list'));\nvar links=[].slice.call(root.querySelectorAll('.ols__list a'));\nvar known=['en','de','es','it','pt','pt-br','nl','sv','da','nb','fi','pl','cs','sk','hu','ro','bg','hr','sr','sl','el','lt','lv','et','ru','uk','tr','ar'];\nvar seg=location.pathname.split('\/'), cur='', rest=location.pathname;\nif(known.indexOf(seg[1])>-1){cur=seg[1]; rest='\/'+seg.slice(2).join('\/');}\nvar first=-1, alt={};\n[].slice.call(document.querySelectorAll('link[rel=\"alternate\"][hreflang]')).forEach(function(k){var h=k.getAttribute('hreflang'); if(!alt[h]){alt[h]=k.getAttribute('href');}});\nlinks.forEach(function(a){\n  var l=a.getAttribute('data-l'), u=alt[a.getAttribute('hreflang')];\n  if(u){try{var x=new URL(u,location.href); u=x.pathname+x.search;}catch(err){u='';}}\n  if(!u){u=(l?'\/'+l:'')+rest;}\n  a.setAttribute('href',u+location.hash);\n  if(l===cur){\n    a.setAttribute('aria-current','true');\n    if(first<0){\n      first=lists.indexOf(a.closest('.ols__list'));\n      root.querySelector('.ols__name').textContent=a.textContent;\n      var fi=a.querySelector('img'), fl=root.querySelector('.ols__flag'); if(fi){if(fl){fl.setAttribute('src',fi.getAttribute('data-src')||fi.getAttribute('src')); fl.setAttribute('data-src',fl.getAttribute('src'));}}\n      root.querySelector('.ols__code').textContent=(cur||'fr').toUpperCase();\n    }\n  }\n});\nfunction sel(i){\n  tabs.forEach(function(t,j){t.setAttribute('aria-selected',j===i?'true':'false'); t.tabIndex=j===i?0:-1;});\n  lists.forEach(function(u,j){u.hidden=j!==i;});\n}\nsel(first<0?0:first);\nfunction place(){\n  if(window.matchMedia('(max-width:980px)').matches){\n    var nav=root.closest('.nav'); panel.style.top=(nav?Math.round(nav.getBoundingClientRect().bottom)+8:76)+'px';\n  } else {panel.style.top='';}\n}\nfunction close(){root.classList.remove('open'); btn.setAttribute('aria-expanded','false'); panel.hidden=true;}\nfunction open(){\n  var nav=root.closest('.nav'); if(nav){if(nav.classList.contains('open')){var b=nav.querySelector('.burger'); if(b){b.click();}}}\n  root.classList.add('open'); btn.setAttribute('aria-expanded','true'); panel.hidden=false; place();\n  var c=root.querySelector('.ols__list:not([hidden]) a[aria-current]'); if(c){c.focus({preventScroll:true});}\n}\nbtn.addEventListener('click',function(e){e.stopPropagation(); if(panel.hidden){open();}else{close();}});\ntabs.forEach(function(t,i){\n  t.addEventListener('click',function(e){e.stopPropagation(); sel(i);});\n  t.addEventListener('keydown',function(e){\n    var k=e.key, n=null;\n    if(k==='ArrowRight'){n=(i+1)%tabs.length;} if(k==='ArrowLeft'){n=(i-1+tabs.length)%tabs.length;}\n    if(n!==null){e.preventDefault(); sel(n); tabs[n].focus();}\n  });\n});\npanel.addEventListener('click',function(e){e.stopPropagation();});\ndocument.addEventListener('click',function(){if(!panel.hidden){close();}});\ndocument.addEventListener('keydown',function(e){if(e.key==='Escape'){if(!panel.hidden){close(); btn.focus();}}});\nwindow.addEventListener('resize',function(){if(!panel.hidden){place();}});\n})();\n<\/script>\n<\/div><\/div>\n<div class=\"hero\" style=\"background:linear-gradient(172deg,var(--mint) 0%,var(--bg) 62%)\"><div class=\"w st g28\">\n  <nav class=\"bc rv\" aria-label=\"Fil d'Ariane\"><a href=\"\/\">Accueil<\/a><i aria-hidden=\"true\">\u203a<\/i><a href=\"\/#ecosysteme\">L'\u00e9cosyst\u00e8me<\/a><i aria-hidden=\"true\">\u203a<\/i><span aria-current=\"page\">OOframe<\/span><\/nav>\n  <div class=\"grid\">\n    <div class=\"st g28 rv2\">\n      <span class=\"eyebrow\">OOframe, le service qui cr\u00e9e votre propre marque en magasin<\/span>\n      <h1>\u00c0 quoi ressemble <em>une monture imprim\u00e9e en 3D<\/em>&nbsp;?<\/h1>\n      <p class=\"lede\">\u00c0 ce que vous d\u00e9cidez. C'est tout l'int\u00e9r\u00eat&nbsp;: il n'y a pas de catalogue, pas de moule, pas de collection \u00e0 \u00e9couler. La forme na\u00eet du visage du porteur et sort de la machine devant lui, en magasin.<\/p>\n      <div class=\"btn-row\">\n        <a href=\"\/contactez-nous\/\" class=\"btn btn-p\">Demander une d\u00e9monstration<\/a>\n        <a href=\"#matiere\" class=\"btn btn-g\">Mati\u00e8re, solidit\u00e9, norme<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"float rvs\" style=\"aspect-ratio:4\/5;max-height:520px\">\n      <div class=\"float-in\"><img fetchpriority=\"high\" decoding=\"async\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-ooframe-duo-montures.jpg\" alt=\"Deux montures OOframe imprim\u00e9es en 3D : face bordeaux et branches bleu ardoise, face violette et branches bleu roi\" loading=\"eager\" fetchpriority=\"high\" width=\"1200\" height=\"1246\"><\/div>\n      <span class=\"chip-f g\" style=\"bottom:52px\">\n        <b class=\"mots\">Quelques dizaines<br>de minutes<\/b><span>de la mesure au montage<\/span><\/span>\n    <\/div>\n  <\/div>\n<\/div><\/div>\n<section class=\"sec-w\"><div class=\"w st g28\">\n  <div class=\"st g14 rv\"><h2>Des montures imprim\u00e9es en 3D, port\u00e9es<\/h2>\n    <p class=\"lede\">Rondes, carr\u00e9es, fines, \u00e9paisses&nbsp;; color\u00e9es, sobres, bicolores, etc. Toutes fabriqu\u00e9es en magasin, \u00e0 l'unit\u00e9, pour le visage qui les porte.<\/p><\/div>\n  <div class=\"gal3 rv\">\n    <figure><img loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 38%\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-porte-orange.jpg\" alt=\"Monture ronde orange imprim\u00e9e en 3D, port\u00e9e en magasin\" loading=\"lazy\" width=\"1000\" height=\"1333\"><\/figure>\n    <figure><img loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 45%\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-porte-bordeaux.jpg\" alt=\"Monture papillon bordeaux imprim\u00e9e en 3D, essay\u00e9e devant le miroir\" loading=\"lazy\" width=\"1000\" height=\"1011\"><\/figure>\n    <figure><img loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 35%\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-porte-lilas.jpg\" alt=\"Monture ronde lilas \u00e0 branches bleues imprim\u00e9e en 3D, port\u00e9e\" loading=\"lazy\" width=\"1000\" height=\"1292\"><\/figure>\n    <figure><img loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 46%\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-porte-noire-ronde.jpg\" alt=\"Monture ronde noire imprim\u00e9e en 3D, port\u00e9e par une adolescente\" loading=\"lazy\" width=\"1000\" height=\"1228\"><\/figure>\n    <figure><img loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 42%\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-porte-brune.jpg\" alt=\"Monture ronde brun textur\u00e9 imprim\u00e9e en 3D, port\u00e9e\" loading=\"lazy\" width=\"1000\" height=\"1140\"><\/figure>\n    <figure><img loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 32%\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-porte-carbone.jpg\" alt=\"Monture carr\u00e9e noire effet carbone imprim\u00e9e en 3D, port\u00e9e\" loading=\"lazy\" width=\"1000\" height=\"1333\"><\/figure>\n  <\/div>\n\n  <div class=\"st g10 rv\" style=\"margin-top:6px\">\n    <div class=\"trio\">\n      <div class=\"shot\"><img loading=\"lazy\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-detail-carbone-homme.jpg\" alt=\"Monture effet carbone imprim\u00e9e en 3D \u00e0 double pont, charni\u00e8re m\u00e9tal, port\u00e9e par un homme\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1333\" style=\"object-position:50% 38%\"><\/div>\n      <div class=\"shot\"><img loading=\"lazy\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-detail-noire-rouge.jpg\" alt=\"Monture ronde noire \u00e0 branches rouges imprim\u00e9e en 3D, charni\u00e8re m\u00e9tal, port\u00e9e par une adolescente\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1361\" style=\"object-position:50% 45%\"><\/div>\n      <div class=\"shot\"><img loading=\"lazy\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-detail-ronde-cognac.jpg\" alt=\"Monture ronde cognac imprim\u00e9e en 3D, port\u00e9e en magasin par une cliente souriante\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1179\" style=\"object-position:50% 40%\"><\/div>\n    <\/div>\n    <p class=\"small\">Le d\u00e9tail qui rassure un opticien&nbsp;: charni\u00e8res m\u00e9tal, branches \u00e0 motif imprim\u00e9, verres mont\u00e9s, \u00e9paisseur ma\u00eetris\u00e9e. Ce sont des montures d'atelier, port\u00e9es au quotidien, pas des pi\u00e8ces de d\u00e9monstration.<\/p>\n  <\/div>\n\n<\/div><\/section>\n<section class=\"sec-m\"><div class=\"w st g40\">\n  <div class=\"cols2\">\n    <div class=\"st g20 rv\">\n      <span class=\"eyebrow\">Marque blanche<\/span>\n      <h2>Ces montures n'ont pas de marque.<br><em>C'est vous qui la donnez.<\/em><\/h2>\n      <p class=\"lede\">OOframe n'est pas une collection que vous revendez. C'est un service de fabrication&nbsp;: la monture qui sort de votre machine porte le nom de votre magasin, imprim\u00e9 en relief \u00e0 l'int\u00e9rieur de la branche, et rien d'autre.<\/p>\n      <p class=\"small\">Vous ne distribuez plus la marque d'un fournisseur avec la marge qu'il vous laisse. Vous fabriquez votre propre produit, dans votre propre magasin, sous votre propre nom. Pour un ind\u00e9pendant, c'est la premi\u00e8re fois qu'il est possible d'avoir une marque sans usine. Pour une enseigne, c'est une collection exclusive sans minimum de commande.<\/p>\n      <ul class=\"pl2\">\n        <li>Nom du magasin ou de l'enseigne, imprim\u00e9 dans chaque monture<\/li>\n        <li>Aucune mention OOmade sur la monture<\/li>\n        <li>Pas de stock, pas de minimum, pas d'invendu<\/li>\n        <li>Une forme peut \u00eatre rejou\u00e9e \u00e0 l'identique, ou modifi\u00e9e pour le porteur suivant<\/li>\n      <\/ul>\n    <\/div>\n    <div class=\"st g14 rv\">\n      <figure class=\"fig raw\">\n        <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom9-monture-rose-profil.jpg\" alt=\"Branche d'une monture OOframe, portant une inscription sur toute sa longueur\" loading=\"lazy\" width=\"1300\" height=\"975\">\n        <figcaption>L'inscription court sur la branche&nbsp;: elle est imprim\u00e9e dans la mati\u00e8re, pas grav\u00e9e ni ajout\u00e9e apr\u00e8s coup. Sur cette monture de d\u00e9monstration elle porte notre nom&nbsp;; en production, c'est le nom du magasin qui prend cette place.<\/figcaption>\n      <\/figure>\n      <div class=\"card\" style=\"background:var(--srf)\">\n        <h3 class=\"t4\">Pourquoi cette page ne dit jamais \u00ab&nbsp;la marque OOframe&nbsp;\u00bb<\/h3>\n        <p>OOframe est le nom d'un service, pas d'une marque de lunettes. La distinction n'est pas cosm\u00e9tique&nbsp;: elle d\u00e9crit exactement ce que vous vendez, une capacit\u00e9 de fabrication, et elle vous \u00e9vite de revendiquer un territoire de marque sur un march\u00e9 o\u00f9 il est d\u00e9j\u00e0 tr\u00e8s occup\u00e9.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div><\/section>\n<section class=\"sec-w\"><div class=\"w st g40\">\n  <div class=\"sm-head\"><div class=\"st g14 rv\">\n    <span class=\"eyebrow\">Le sur-mesure, concr\u00e8tement<\/span>\n    <h2>La monture part du visage, pas d'une taille<\/h2>\n    <p class=\"lede\">Une monture de catalogue existe en deux ou trois tailles, dessin\u00e9es pour une morphologie moyenne. Une monture OOframe n'existe qu'une fois, pour une seule personne.<\/p>\n  <\/div><div class=\"shot rv sm-photo\"><img loading=\"lazy\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-sur-mesure-violette.jpg\" alt=\"Monture carr\u00e9e violette imprim\u00e9e en 3D, ajust\u00e9e au visage, port\u00e9e en magasin\" width=\"1000\" height=\"1232\" loading=\"lazy\" decoding=\"async\"><\/div><\/div>\n  <div class=\"steps rv\">\n    <div class=\"step\"><figure class=\"stepimg soon-wrap\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom12-mesh-visage.jpg\" alt=\"Relev\u00e9 de morphologie : le maillage de mesure pos\u00e9 sur le visage du porteur\" loading=\"lazy\" width=\"1100\" height=\"756\"><span class=\"soon\">Bient\u00f4t disponible<\/span><\/figure><h3 class=\"t4\">Mesurer<\/h3><p>\u00c9cart pupillaire, largeur et hauteur de nez, distance aux tempes, longueur de branches. Les mesures que vous prenez d\u00e9j\u00e0, r\u00e9utilis\u00e9es pour dessiner la monture au lieu d'en choisir une.<\/p><\/div>\n    <div class=\"step\"><figure class=\"stepimg\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom9-generateur-ecran.jpg\" alt=\"\u00c9cran du g\u00e9n\u00e9rateur OOmade : la monture en cours de r\u00e9glage, cot\u00e9e, avec ses curseurs de param\u00e8tres\" loading=\"lazy\" width=\"1400\" height=\"1050\"><\/figure><h3 class=\"t4\">Dessiner<\/h3><p>Forme, \u00e9paisseur, couleur, finition. Le client voit son mod\u00e8le \u00e9voluer \u00e0 l'\u00e9cran, avec vous, et arbitre lui-m\u00eame. Le conseil redevient un acte de cr\u00e9ation, pas une s\u00e9lection dans un pr\u00e9sentoir.<\/p><\/div>\n    <div class=\"step\"><figure class=\"stepimg\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom12-imprimante.jpg\" alt=\"La monture en cours d'impression sur le plateau de l'imprimante OOmade, pos\u00e9e dans le magasin\" loading=\"lazy\" width=\"1100\" height=\"756\"><\/figure><h3 class=\"t4\">Fabriquer<\/h3><p>L'impression d\u00e9marre en magasin. Le porteur assiste \u00e0 la fabrication de ses lunettes&nbsp;: c'est le moment dont il parlera, et celui que personne d'autre dans sa ville ne peut lui offrir.<\/p><\/div>\n  <\/div>\n  <div class=\"card rv\" style=\"background:var(--mint);border-color:var(--line2);max-width:760px\">\n    <h3 class=\"t4\">Les morphologies que le catalogue ne couvre pas<\/h3>\n    <p>Un visage tr\u00e8s \u00e9troit ou tr\u00e8s large, un nez plat, un enfant entre deux tailles, une forte correction qui exige un petit calibre et un centrage pr\u00e9cis : ce sont les clients que vous perdez aujourd'hui faute de mod\u00e8le adapt\u00e9, ou que vous \u00e9quipez par compromis.<\/p>\n    <p style=\"color:var(--ink)\">\u00ab&nbsp;Super outil pour des clients qui ont une forte correction et qui ne peuvent pas se passer de lunettes&nbsp;!&nbsp;\u00bb<\/p>\n    <p class=\"tiny\">Visiopolis, Villeneuve-l\u00e8s-Maguelone<\/p>\n  <\/div>\n<\/div><\/section>\n<section id=\"matiere\" class=\"sec-s\"><div class=\"w st g28\">\n  <div class=\"sm-head\"><div class=\"st g14 rv\">\n    <span class=\"eyebrow\">L'objection mati\u00e8re<\/span>\n    <h2>Une monture d\u00e9finitive compl\u00e8te, <em>norm\u00e9e<\/em><\/h2>\n    <p class=\"lede\">C'est la premi\u00e8re objection, et elle est l\u00e9gitime. Voici les r\u00e9ponses, sans enrobage.<\/p>\n  <\/div><div class=\"shot rv sm-photo\"><img loading=\"lazy\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-normee-prune.jpg\" alt=\"Monture carr\u00e9e prune imprim\u00e9e en 3D, port\u00e9e par une cliente\" width=\"1000\" height=\"1223\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 40%\"><\/div><\/div>\n  <dl class=\"kv rv\">\n    <div><dt>Mat\u00e9riau<\/dt><dd>PETG<\/dd><dd class=\"note\">Polyester technique, r\u00e9sistant aux chocs et \u00e0 la d\u00e9formation. Recyclable.<\/dd><\/div>\n    <div><dt>Norme<\/dt><dd>ISO 12870<\/dd><dd class=\"note\">La norme applicable aux montures de lunettes : essais m\u00e9caniques, r\u00e9sistance, aptitude au port.<\/dd><\/div>\n    <div><dt>Lieu de fabrication<\/dt><dd>Votre magasin<\/dd><dd class=\"note\">Pas de transport, pas de stock dormant, pas de commande minimum.<\/dd><\/div>\n    <div><dt>D\u00e9lai de fabrication<\/dt><dd>Quelques dizaines de minutes<\/dd><dd class=\"note\">Pour une monture d\u00e9finitive compl\u00e8te. Le d\u00e9pannage OOtrace, lui, tient en une dizaine de minutes.<\/dd><\/div>\n    <div><dt>R\u00e9parabilit\u00e9<\/dt><dd>R\u00e9impression<\/dd><dd class=\"note\">Une branche cass\u00e9e se r\u00e9imprime \u00e0 l'identique : le num\u00e9ro de s\u00e9rie renvoie au fichier d'origine.<\/dd><\/div>\n  <\/dl>\n  <div>\n    <div class=\"card rv\" style=\"background:var(--srf);border-color:var(--line2);max-width:780px\">\n      <h3 class=\"t4\">Une monture d\u00e9finitive n'est pas un d\u00e9pannage<\/h3>\n      <p>La dizaine de minutes que vous voyez ailleurs sur ce site concerne OOtrace, le d\u00e9pannage&nbsp;: une face refabriqu\u00e9e \u00e0 partir du verre existant, pour repartir \u00e9quip\u00e9 le jour m\u00eame.<\/p>\n      <p>Une monture d\u00e9finitive compl\u00e8te, dessin\u00e9e sur mesure et imprim\u00e9e branches comprises, demande plus de temps&nbsp;: quelques dizaines de minutes. C'est-\u00e0-dire le temps d'un examen de vue, ou d'un caf\u00e9 en centre-ville. Le porteur peut assister \u00e0 la fabrication du d\u00e9but \u00e0 la fin.<\/p>\n    <\/div>\n  <\/div>\n<\/div><\/section>\n<section class=\"sec-w\"><div class=\"w st g40\">\n  <div class=\"cols2\">\n    <div class=\"st g20 rv\">\n      <span class=\"eyebrow\">Tra\u00e7abilit\u00e9<\/span>\n      <h2>Un num\u00e9ro de s\u00e9rie \u00e0 l'int\u00e9rieur de la branche, et vous assurez le SAV de votre propre marque.<\/h2>\n      <p class=\"lede\">Chaque monture fabriqu\u00e9e porte son propre num\u00e9ro, imprim\u00e9 \u00e0 l'int\u00e9rieur de la branche. Ce num\u00e9ro renvoie au fichier de conception&nbsp;: la forme exacte, les mesures exactes, la couleur exacte.<\/p>\n      <p class=\"small\">Quatre ans plus tard, votre client revient avec une branche cass\u00e9e. Vous lisez le num\u00e9ro, vous relancez l'impression de la pi\u00e8ce, et il repart avec sa monture. Pas de r\u00e9f\u00e9rence fournisseur \u00e0 retrouver, pas de mod\u00e8le discontinu\u00e9, pas de d\u00e9lai de r\u00e9assort, et pas de stock de pi\u00e8ces d\u00e9tach\u00e9es \u00e0 financer pour une collection qui est la v\u00f4tre.<\/p>\n      <p style=\"font-size:1.12rem;font-weight:700;color:var(--accd);line-height:1.45\">Quand vous vendez votre propre marque,<br>c'est vous qui en assurez le service apr\u00e8s-vente.<\/p>\n      <p class=\"small\">C'est la contrepartie de la marque blanche, et c'est ce qui la rend tenable&nbsp;: un opticien ne peut pas lancer sa propre collection s'il n'a pas les moyens de la r\u00e9parer. Le num\u00e9ro de s\u00e9rie les lui donne.<\/p>\n    <\/div>\n    <div class=\"st g14 rv\">\n      <div class=\"card\" style=\"background:var(--mint);border-color:var(--line2)\">\n        <h3 class=\"t4\">\u00c0 ne pas confondre avec le d\u00e9pannage<\/h3>\n        <p><b>OOframe fabrique des \u00e9quipements neufs<\/b>, pas des r\u00e9parations. Une monture d\u00e9finitive se vend comme un \u00e9quipement&nbsp;: elle est dessin\u00e9e, choisie, factur\u00e9e et port\u00e9e tous les jours.<\/p>\n        <p>Le d\u00e9pannage d'urgence, lui, c'est OOtrace, un service distinct, avec un autre mat\u00e9riau et un autre r\u00f4le. Un porteur d\u00e9pann\u00e9 en une dizaine de minutes est un porteur qui reviendra acheter un \u00e9quipement complet&nbsp;; il n'a pas achet\u00e9 un \u00e9quipement en se faisant d\u00e9panner.<\/p>\n        <p><a href=\"\/ootrace\/\" style=\"color:var(--accd);font-weight:700;text-decoration:none\">Voir OOtrace \u2192<\/a><\/p>\n      <\/div>\n      <div class=\"st g10\">\n        <div class=\"duo\">\n          <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom9-numero-de-serie.jpg\" alt=\"Num\u00e9ro de s\u00e9rie imprim\u00e9 dans la branche d'une monture OOmade\" loading=\"lazy\" width=\"1300\" height=\"975\"><\/figure>\n          <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom9-marquage-taille.jpg\" alt=\"Marquage normalis\u00e9 imprim\u00e9 dans la branche : CE, calibre, pont et longueur de branche\" loading=\"lazy\" width=\"1300\" height=\"975\"><\/figure>\n        <\/div>\n        <p class=\"tiny\">\u00c0 gauche, le num\u00e9ro de s\u00e9rie&nbsp;: il suffit \u00e0 rappeler la g\u00e9om\u00e9trie exacte de la monture, des ann\u00e9es plus tard. \u00c0 droite, le marquage normalis\u00e9, calibre, pont et longueur de branche, imprim\u00e9 dans la mati\u00e8re au moment de la fabrication comme sur n'importe quelle monture du march\u00e9.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div><\/section>\n<section class=\"sec-m\"><div class=\"w st g28\">\n  <div class=\"sm-head\"><div class=\"st g14 rv\">\n    <span class=\"eyebrow\">Responsabilit\u00e9<\/span>\n    <h2>Une monture utile, locale, r\u00e9parable<\/h2>\n    <p class=\"lede\">Ce n'est pas un suppl\u00e9ment d'\u00e2me ajout\u00e9 apr\u00e8s coup. C'est la cons\u00e9quence m\u00e9canique de fabriquer l\u00e0 o\u00f9 on vend.<\/p>\n  <\/div><div class=\"shot rv sm-photo\"><img loading=\"lazy\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-utile-homme.jpg\" alt=\"Monture rectangulaire bleu marine \u00e0 branches bois imprim\u00e9e en 3D, port\u00e9e en ext\u00e9rieur\" width=\"1000\" height=\"1284\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 35%\"><\/div><\/div>\n  <div class=\"auto rv\">\n    <div class=\"card\"><span class=\"picto\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16l-1.4-4.2A1 1 0 0 0 17.65 4H6.35a1 1 0 0 0-.95.8L4 9Z\"\/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9\"\/><path d=\"M10 20v-5h4v5\"\/><\/svg><\/span><span class=\"num\">Local<\/span><h3 class=\"t4\">Fabriqu\u00e9 dans le magasin<\/h3>\n      <p>Pas de fabrication \u00e0 l'autre bout du monde, pas de fret, pas de r\u00e9assort. La monture parcourt trois m\u00e8tres entre la machine et le comptoir.<\/p><\/div>\n    <div class=\"card\"><span class=\"picto\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 4v16M19 4v16\"\/><path d=\"M5 7.5h14M5 16.5h14\"\/><circle cx=\"12\" cy=\"12\" r=\"2.6\"\/><\/svg><\/span><span class=\"num\">Mati\u00e8re<\/span><h3 class=\"t4\">PETG, recyclable<\/h3>\n      <p>Un polyester technique recyclable, certifi\u00e9 ISO 12870 pour le port quotidien. Pas d'ac\u00e9tate \u00e0 d\u00e9couper, pas de chutes de plaque&nbsp;: on imprime la mati\u00e8re qu'on utilise, et rien de plus. Le PLA, lui, est r\u00e9serv\u00e9 aux montures de d\u00e9pannage OOtrace, o\u00f9 l'\u00e9ph\u00e9m\u00e8re est voulu.<\/p><\/div>\n    <div class=\"card\"><span class=\"picto\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M3.5 7.8 12 3.2l8.5 4.6v8.4L12 20.8l-8.5-4.6V7.8Z\"\/><path d=\"M3.5 7.8 12 12.4l8.5-4.6M12 12.4v8.4\"\/><path d=\"M4 20.5 20 3.8\"\/><\/svg><\/span><span class=\"num\">Z\u00e9ro stock<\/span><h3 class=\"t4\">Aucun invendu<\/h3>\n      <p>Une monture n'est fabriqu\u00e9e que lorsqu'elle est vendue. Pas de collection \u00e0 \u00e9couler, pas de d\u00e9marque, pas de fin de s\u00e9rie partant \u00e0 la benne.<\/p><\/div>\n    <div class=\"card\"><span class=\"picto\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20.2 12a8.2 8.2 0 1 1-2.7-6.1\"\/><path d=\"M20.4 4.2v4.3h-4.3\"\/><\/svg><\/span><span class=\"num\">Dur\u00e9e<\/span><h3 class=\"t4\">R\u00e9parable, pas rempla\u00e7able<\/h3>\n      <p>Gr\u00e2ce au num\u00e9ro de s\u00e9rie, une pi\u00e8ce cass\u00e9e se r\u00e9imprime au lieu d'obliger \u00e0 racheter l'ensemble. La r\u00e9parabilit\u00e9 n'est pas une option&nbsp;: elle est dans le proc\u00e9d\u00e9.<\/p><\/div>\n  <\/div>\n  <div class=\"card rv\" style=\"background:var(--srf);border-color:var(--line2)\">\n    <h3 class=\"t4\">Et c'est un argument commercial, pas seulement une valeur<\/h3>\n    <p>Les enseignes et les compl\u00e9mentaires sant\u00e9 avec qui nous travaillons ont des engagements de responsabilit\u00e9 \u00e0 documenter. \u00ab&nbsp;Monture fabriqu\u00e9e sur place, sans transport, en mat\u00e9riau recyclable, r\u00e9parable \u00e0 l'identique pendant toute sa vie&nbsp;\u00bb est une phrase qu'une direction achats peut verser \u00e0 son propre dossier. Vos clients, eux, la comprennent sans qu'on la leur explique.<\/p>\n    <p><a href=\"\/oocare\/\" style=\"color:var(--accd);font-weight:700;text-decoration:none\">Voir notre d\u00e9marche compl\u00e8te et le programme OOcare \u2192<\/a><\/p>\n  <\/div>\n<\/div><\/section>\n<section class=\"sec-w\"><div class=\"w st g40\">\n  <div class=\"cols2\">\n    <div class=\"st g20 rv\">\n      <span class=\"eyebrow\">Le calcul<\/span>\n      <h2>Vous ne revendez plus une marge. Vous fabriquez un produit.<\/h2>\n      <p class=\"lede\">C'est ici que se joue le retour sur investissement de la machine, et nulle part ailleurs. Le d\u00e9pannage fid\u00e9lise&nbsp;; la monture d\u00e9finitive rapporte.<\/p>\n      <p class=\"small\">Une monture achet\u00e9e en gros se revend avec la marge que le fournisseur vous laisse, sur un mod\u00e8le que le magasin d'en face peut aussi commander. Une monture que vous fabriquez n'a ni co\u00fbt d'achat, ni stock immobilis\u00e9, ni concurrent qui la propose. Et elle porte votre nom.<\/p>\n      <figure class=\"shot calc-photo\"><img loading=\"lazy\" class=\"skip-lazy no-lazyload\" src=\"\/wp-content\/uploads\/2026\/10\/oom16-calcul-imprimante.jpg\" alt=\"Image d'illustration : imprimante OOmade remplie de billets sur le comptoir d'un magasin d'optique\" width=\"1200\" height=\"800\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 55%\"><\/figure>\n      <div class=\"stat\" style=\"border-color:var(--line2)\">\n        <b>30 \u00e0 40 %<\/b>\n        <p class=\"small\">des porteurs d\u00e9pann\u00e9s en une dizaine de minutes reviennent commander une monture d\u00e9finitive. Le SAV n'est pas le produit&nbsp;: c'est le canal d'acquisition du produit.<\/p>\n        <p class=\"src\">Krys Strasbourg-Bourgeois<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"st g14 rv\">\n      <div class=\"q\" style=\"border-color:var(--line2)\">\n        <span class=\"mk\"><\/span>\n        <blockquote>\u00ab&nbsp;Moi \u00e7a m'amuse plus de faire une monture 3D que de fouiller dans un grand carton plein de branches, c'est aussi plus valorisant.&nbsp;\u00bb<\/blockquote>\n        <span class=\"who\"><b>Krys<\/b><span>Strasbourg \u00b7 Bourgeois<\/span><\/span>\n      <\/div>\n      <div class=\"q\" style=\"border-color:var(--line2)\">\n        <span class=\"mk\"><\/span>\n        <blockquote>\u00ab&nbsp;C'est une offre qui nous diff\u00e9rencie de la concurrence. Le fait que l'imprimante soit en vitrine et affiche une nouveaut\u00e9 technologique, \u00e7a fait poser des questions.&nbsp;\u00bb<\/blockquote>\n        <span class=\"who\"><b>Krys<\/b><span>Rodez \u00b7 Gambetta<\/span><\/span>\n      <\/div>\n      <div class=\"card\" style=\"background:var(--mint);border-color:var(--line2)\">\n        <h3 class=\"t4\">Le SAV devient un rendez-vous<\/h3>\n        <p>Une monture r\u00e9imprimable \u00e0 l'identique ne vous co\u00fbte pas une garantie : elle ram\u00e8ne le porteur en magasin, avec son num\u00e9ro de s\u00e9rie, \u00e0 chaque incident. C'est une occasion de le revoir, pas un litige \u00e0 g\u00e9rer.<\/p>\n        <p class=\"small\">Et c'est un argument de vente au comptoir : vous \u00eates le seul, dans votre ville, \u00e0 pouvoir promettre qu'une monture ne dispara\u00eetra jamais de votre catalogue.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div><\/section>\n<section class=\"sec-w\"><div class=\"wn st g28\">\n  <div class=\"st g14 rv\"><span class=\"eyebrow\">Questions fr\u00e9quentes<\/span><h2>Ce qu'on nous demande le plus souvent<\/h2><\/div>\n  <div class=\"faq rv\"><details><summary>Une monture imprim\u00e9e en 3D, c'est solide&nbsp;?<\/summary><div class=\"a\"><p>Elle est fabriqu\u00e9e en PETG, un polyester technique utilis\u00e9 pour sa r\u00e9sistance aux chocs et \u00e0 la d\u00e9formation, et elle r\u00e9pond \u00e0 la norme ISO 12870, la norme applicable aux montures de lunettes. Ce n'est pas le m\u00eame mat\u00e9riau qu'une pi\u00e8ce d\u00e9corative sortie d'une imprimante de bureau.<\/p><p>Et en cas de casse, la monture se r\u00e9imprime \u00e0 l'identique&nbsp;: le fichier du porteur est conserv\u00e9.<\/p><\/div><\/details><details><summary>Est-ce que \u00e7a ressemble vraiment \u00e0 des lunettes&nbsp;?<\/summary><div class=\"a\"><p>Regardez les photos plus haut et jugez par vous-m\u00eame. La forme, l'\u00e9paisseur et la finition sont choisies au moment de la conception&nbsp;: une monture OOframe peut \u00eatre fine et discr\u00e8te comme \u00e9paisse et affirm\u00e9e. Ce qui la distingue, ce n'est pas son allure, c'est qu'elle a \u00e9t\u00e9 dessin\u00e9e pour un seul visage.<\/p><\/div><\/details><details><summary>Mes verres habituels peuvent-ils \u00eatre mont\u00e9s dessus&nbsp;?<\/summary><div class=\"a\"><p>Oui. La monture est con\u00e7ue autour du calibre et du centrage du porteur, donc autour des verres, et non l'inverse. C'est m\u00eame l'un des int\u00e9r\u00eats du proc\u00e9d\u00e9 pour les fortes corrections, o\u00f9 le choix de monture est habituellement contraint.<\/p><\/div><\/details><details><summary>Combien de temps faut-il pour en fabriquer une&nbsp;?<\/summary><div class=\"a\"><p><b>Quelques dizaines de minutes<\/b> pour une monture d\u00e9finitive compl\u00e8te, branches comprises. La dizaine de minutes annonc\u00e9e ailleurs sur ce site concerne OOtrace, le d\u00e9pannage \u00e0 partir d'un verre existant. Ce n'est pas le m\u00eame service.<\/p><p>Concr\u00e8tement, le porteur peut assister \u00e0 toute la fabrication, ou revenir apr\u00e8s son examen de vue.<\/p><\/div><\/details><details><summary>Si je casse ma monture dans deux ans, que se passe-t-il&nbsp;?<\/summary><div class=\"a\"><p>Chaque monture porte un num\u00e9ro de s\u00e9rie imprim\u00e9 \u00e0 l'int\u00e9rieur de la branche. Ce num\u00e9ro renvoie au fichier de conception : votre opticien la r\u00e9imprime \u00e0 l'identique, avec les m\u00eames mesures et la m\u00eame couleur.<\/p><p>C'est aussi la garantie que vos verres, la partie ch\u00e8re et prescrite de l'\u00e9quipement, restent utilisables quoi qu'il arrive \u00e0 la monture.<\/p><\/div><\/details><details><summary>Quel est le prix d'une monture OOframe&nbsp;?<\/summary><div class=\"a\"><p>Le tarif d\u00e9pend de votre volume et de votre configuration. Il est pr\u00e9sent\u00e9 en d\u00e9monstration, avec le calcul de retour sur investissement adapt\u00e9 \u00e0 votre magasin.<\/p><\/div><\/details><details><summary>OOframe sert-il aussi au d\u00e9pannage&nbsp;?<\/summary><div class=\"a\"><p>Non, et la distinction est importante. OOframe fabrique des \u00e9quipements neufs : une monture d\u00e9finitive, dessin\u00e9e sur mesure, vendue et port\u00e9e tous les jours.<\/p><p>Le d\u00e9pannage d'urgence est un service \u00e0 part, OOtrace, avec un autre mat\u00e9riau et une autre finalit\u00e9 : permettre au porteur de voir aujourd'hui, le temps de refaire une paire. Les deux se compl\u00e8tent, mais ils ne se remplacent pas.<\/p><\/div><\/details><details><summary>Est-ce que la monture porte le nom OOmade&nbsp;?<\/summary><div class=\"a\"><p>Non. Elle porte le v\u00f4tre. OOframe est un service de fabrication en marque blanche&nbsp;: l'inscription int\u00e9rieure indique le nom de votre magasin ou de votre enseigne, et aucune mention OOmade n'appara\u00eet sur le produit fini.<\/p><\/div><\/details><details><summary>Faut-il \u00eatre form\u00e9 pour l'utiliser&nbsp;?<\/summary><div class=\"a\"><p>La prise en main est accompagn\u00e9e et comprise dans l'offre. Elle porte sur l'application et sur le montage&nbsp;: il n'y a pas de formation technique \u00e0 l'impression 3D \u00e0 suivre, parce qu'il n'y en a pas besoin. La machine et le g\u00e9n\u00e9rateur font la partie technique&nbsp;; le reste est votre m\u00e9tier.<\/p><\/div><\/details><\/div>\n<\/div><\/section>\n<section id=\"demo\" class=\"sec-w\" style=\"padding-top:0\"><div class=\"w\">\n  <div class=\"band rv\">\n    <span class=\"eyebrow\" style=\"color:var(--accs)\">OOframe<\/span>\n    <h2>Venez voir une monture se dessiner, puis sortir de la machine.<\/h2>\n    <p>C'est la seule d\u00e9monstration qui compte. Dans votre magasin, ou sur un salon o\u00f9 nous exposons.<\/p>\n    <div class=\"btn-row\">\n      <a href=\"\/contactez-nous\/\" class=\"btn btn-p\">Demander une d\u00e9monstration<\/a>\n      <a href=\"\/espace-opticiens\/\" class=\"btn btn-g\">Voir le dossier complet<\/a>\n    <\/div>\n  <\/div>\n<\/div><\/section>\n<section class=\"sec-w\" style=\"padding-block:0 clamp(56px,8vw,104px)\"><div class=\"w\">\n  <div class=\"ecos rv\">\n    <div class=\"hd\"><b>OOframe fait partie de l'\u00e9cosyst\u00e8me OOmade.<\/b>\n      <span>Une plateforme de services pour l'optique responsable&nbsp;: six services, une seule machine.<\/span><\/div>\n    <div class=\"row\"><a href=\"\/ootrace\/\"><b>OOtrace<\/b><span>Le service qui d\u00e9panne votre client en une dizaine de minutes.<\/span><\/a><a href=\"\/ooproto\/\"><b>OOproto<\/b><span>Faites essayer une monture qui n'existe pas encore.<\/span><\/a><a href=\"\/accessoires\/\"><b>OOlib<\/b><span>Le service qui fait tourner votre machine tous les jours.<\/span><\/a><a href=\"\/oocare\/\"><b>OOcare<\/b><span>L'engagement qui donne une seconde vie aux verres.<\/span><\/a><a href=\"\/vision-minute\/\"><b>Vision Minute<\/b><span>Le r\u00e9seau qui am\u00e8ne les porteurs jusqu'\u00e0 vous.<\/span><\/a><\/div>\n  <\/div>\n<\/div><\/section>\n<footer><div class=\"w st g28\">\n  <div class=\"cols\">\n    <div class=\"st g10\">\n      <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/07\/Logo-OOMADE-Final.png\" alt=\"OOmade\" class=\"skip-lazy no-lazyload\" loading=\"lazy\">\n      <p class=\"small\" style=\"max-width:30ch\">Une plateforme de services pour l'optique responsable. Montures fabriqu\u00e9es en magasin.<\/p>\n    <\/div>\n    <div><h3 class=\"t4\">L'\u00e9cosyst\u00e8me<\/h3>\n      <a href=\"\/nos-lunettes\/\">OOframe<\/a><a href=\"\/ootrace\/\">OOtrace<\/a><a href=\"\/ooproto\/\">OOproto<\/a><a href=\"\/accessoires\/\">OOlib<\/a><a href=\"\/oocare\/\">OOcare<\/a><a href=\"\/vision-minute\/\">Vision Minute<\/a><\/div>\n    <div><h3 class=\"t4\">OOmade<\/h3>\n      <a href=\"\/espace-opticiens\/\">Espace opticiens<\/a><a href=\"\/qui-sommes-nous\/\">Qui sommes-nous<\/a><a href=\"\/oocare\/\">Notre engagement (OOcare)<\/a><a href=\"\/contactez-nous\/\">Contact<\/a><\/div>\n    <div><h3 class=\"t4\">Informations<\/h3>\n      <a href=\"\/mentions-legales\/\">Mentions l\u00e9gales<\/a><a href=\"\/conditions-generales\/\">CGV<\/a><a href=\"\/politique-de-confidentialite\/\">Politique de confidentialit\u00e9<\/a><a href=\"\/politique-de-cookies-ue\/\">Politique de cookies<\/a><a href=\"\/politique-de-cookies-ue\/\" class=\"cmplz-manage-consent\">Gestion des cookies<\/a><\/div>\n  <\/div>\n  <p class=\"tiny\">\u00a9 <span class=\"annee\">2026<\/span> OOmade \u00b7 Silmo d'Or 2024 \u00b7 Montures d\u00e9finitives OOframe conformes \u00e0 la norme ISO 12870.<\/p>\n<\/div><\/footer>\n<\/div><script>\n(function(){\n  var root=document.querySelector('.oom'); if(!root)return;\n  var mq=function(q){ if(!window.matchMedia){return false;} return window.matchMedia(q).matches; };\n  var reduce=mq('(prefers-reduced-motion: reduce)');\n\n  \/* --- ann\u00e9e du pied de page : 2026 reste \u00e9crit dans le HTML (repli sans script),\n     le script la tient \u00e0 jour ensuite. --- *\/\n  var an=root.querySelector('footer .annee');\n  if(an){ var y=new Date().getFullYear(); if(y>2026){ an.textContent='2026-'+y; } }\n\n  \/* --- barre de progression --- *\/\n  var bar=document.createElement('div'); bar.className='prog'; root.appendChild(bar);\n  var nav=root.querySelector('.nav');\n  function onScroll(){\n    var h=document.documentElement.scrollHeight-window.innerHeight;\n    bar.style.width=(h>0?(window.scrollY\/h)*100:0)+'%';\n    if(nav){ nav.classList.toggle('mini', window.scrollY>90); }\n  }\n  window.addEventListener('scroll',onScroll,{passive:true}); onScroll();\n\n  \/* --- compteur de casses --- *\/\n  var el=document.getElementById('oomCounter');\n  if(el){var fmt=function(n){return String(n).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,' ');};\n   var now=new Date(),start=new Date(now.getFullYear(),0,1);\n   var base=Math.floor((now-start)\/19000); el.textContent=fmt(base);\n   setInterval(function(){base++;el.textContent=fmt(base);},19000);}\n\n  \/* --- menu mobile --- *\/\n  var nav=root.querySelector('.nav');\n  var burger=nav ? nav.querySelector('.burger') : null;\n  if(burger){\n    var basculer=function(ouvrir){\n      if(ouvrir){ nav.classList.add('open'); } else { nav.classList.remove('open'); }\n      burger.setAttribute('aria-expanded', ouvrir ? 'true' : 'false');\n      burger.setAttribute('aria-label', ouvrir ? 'Fermer le menu' : 'Ouvrir le menu');\n    };\n    burger.addEventListener('click',function(){ basculer(!nav.classList.contains('open')); });\n    \/* refermer apr\u00e8s un clic sur un lien, et \u00e0 la touche Echap *\/\n    var ls=nav.querySelectorAll('.links a');\n    for(var li=0; li<ls.length; li++){ ls[li].addEventListener('click',function(){ basculer(false); }); }\n    document.addEventListener('keydown',function(e){ if(e.key==='Escape'){ basculer(false); } });\n    \/* en repassant sur grand \u00e9cran, on repart d'un \u00e9tat propre *\/\n    window.addEventListener('resize',function(){ if(mq('(min-width:981px)')){ basculer(false); } });\n  }\n\n  \/* --- reveals --- *\/\n  var sel='.rv,.rv2,.rvs,.ln,.float,.gal-n';\n  var items=root.querySelectorAll(sel);\n  function showAll(){for(var i=0;i<items.length;i++){items[i].classList.add('on');\n    var p=items[i].querySelectorAll('.ln,.chip-f'); for(var j=0;j<p.length;j++)p[j].classList.add('on');}}\n  if(reduce||!('IntersectionObserver' in window)){showAll();}\n  else{\n    setTimeout(function(){\n      if(root.querySelectorAll('.on').length<2){ showAll(); }\n    },3000);\n    var io=new IntersectionObserver(function(es){\n      es.forEach(function(e){\n        if(!e.isIntersecting)return;\n        var t=e.target;\n        var sibs=Array.prototype.slice.call(t.parentNode.children)\n          .filter(function(n){return n.matches ? n.matches(sel) : false;});\n        var idx=sibs.indexOf(t); if(idx<0)idx=0;\n        t.style.transitionDelay=(Math.min(idx,6)*0.085)+'s';\n        t.classList.add('on');\n        var lines=t.querySelectorAll('.ln');\n        for(var k=0;k<lines.length;k++){(function(n,d){setTimeout(function(){n.classList.add('on');},d);})(lines[k],90*k);}\n        io.unobserve(t);\n      });\n    },{rootMargin:'0px 0px -7% 0px',threshold:0.06});\n    for(var i=0;i<items.length;i++)io.observe(items[i]);\n  }\n\n  \/* --- chiffres qui montent --- *\/\n  var nums=root.querySelectorAll('[data-count]');\n  if(nums.length){\n    var fmtn=function(n){return String(n).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,'\u202f');};\n    var run=function(n){\n      var to=parseFloat(n.getAttribute('data-count')), pre=n.getAttribute('data-pre')||'', suf=n.getAttribute('data-suf')||'';\n      if(reduce){n.textContent=pre+fmtn(to)+suf;return;}\n      var t0=null, dur=1500;\n      function step(ts){ if(!t0)t0=ts; var p=Math.min((ts-t0)\/dur,1);\n        var e=1-Math.pow(1-p,3);\n        n.textContent=pre+fmtn(Math.round(to*e))+suf;\n        if(p<1)requestAnimationFrame(step); }\n      requestAnimationFrame(step);\n    };\n    if(!('IntersectionObserver' in window)){for(var q=0;q<nums.length;q++)run(nums[q]);}\n    else{var io2=new IntersectionObserver(function(es){es.forEach(function(e){\n      if(e.isIntersecting){run(e.target);io2.unobserve(e.target);}});},{threshold:.4});\n     for(var q=0;q<nums.length;q++)io2.observe(nums[q]);}\n  }\n\n  if(reduce)return;\n\n  \/* --- parallaxe douce du visuel h\u00e9ros --- *\/\n  var fl=root.querySelector('.hero-xl .float');\n  if(fl ? mq('(min-width:981px)') : false){\n    var tx=0,ty=0,cx=0,cy=0,raf=null;\n    root.addEventListener('mousemove',function(e){\n      var r=fl.getBoundingClientRect();\n      tx=((e.clientX-(r.left+r.width\/2))\/window.innerWidth)*14;\n      ty=((e.clientY-(r.top+r.height\/2))\/window.innerHeight)*10;\n      if(!raf)raf=requestAnimationFrame(loop);\n    });\n    function loop(){ cx+=(tx-cx)*.07; cy+=(ty-cy)*.07;\n      fl.style.transform='translate3d('+cx.toFixed(2)+'px,'+cy.toFixed(2)+'px,0)';\n      if(Math.abs(tx-cx)>.05||Math.abs(ty-cy)>.05){raf=requestAnimationFrame(loop);}else{raf=null;} }\n  }\n\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>\u0406\u043d\u0434\u0438\u0432\u0456\u0434\u0443\u0430\u043b\u044c\u043d\u0456 \u043e\u043f\u0440\u0430\u0432\u0438 \u0437 PETG, \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043a\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u0437\u0430 ISO 12870, \u043d\u0430\u0434\u0440\u0443\u043a\u043e\u0432\u0430\u043d\u0456 \u0443 \u0432\u0430\u0448\u043e\u043c\u0443 \u0441\u0430\u043b\u043e\u043d\u0456 \u043f\u0456\u0434 \u0432\u0430\u0448\u0438\u043c \u0456\u043c\u0435\u043d\u0435\u043c. \u0411\u0435\u0437 \u0437\u0430\u043f\u0430\u0441\u0456\u0432, \u0431\u0435\u0437 \u043c\u0456\u043d\u0456\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u043d\u044f, \u0431\u0435\u0437 \u043d\u0435\u043f\u0440\u043e\u0434\u0430\u043d\u0438\u0445 \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"advanced_seo_description":"Des montures sur mesure en PETG certifi\u00e9 ISO 12870, imprim\u00e9es dans votre magasin et \u00e0 votre nom. Ni stock, ni minimum de commande, ni invendu.","jetpack_seo_html_title":"OOframe \u00b7 votre marque de montures, fabriqu\u00e9e en magasin","jetpack_seo_noindex":false,"footnotes":""},"class_list":["post-1911","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/pages\/1911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/comments?post=1911"}],"version-history":[{"count":6,"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/pages\/1911\/revisions"}],"predecessor-version":[{"id":2060,"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/pages\/1911\/revisions\/2060"}],"wp:attachment":[{"href":"https:\/\/www.oomade.com\/uk\/wp-json\/wp\/v2\/media?parent=1911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}