{"id":14870,"date":"2026-05-08T15:34:00","date_gmt":"2026-05-08T13:34:00","guid":{"rendered":"https:\/\/www.ok3d.fr\/?page_id=14870"},"modified":"2026-09-15T00:30:27","modified_gmt":"2026-09-14T22:30:27","slug":"3d-animation","status":"publish","type":"page","link":"https:\/\/www.ok3d.fr\/en\/3d-animation\/","title":{"rendered":"3d-animation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14870\" class=\"elementor elementor-14870\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2de3d58 e-con-full e-flex e-con e-parent\" data-id=\"2de3d58\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8fc4079 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"8fc4079\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- OK3D \u00b7 3D & animation \u00b7 Elementor HTML \u00b7 SANS HEADER NI FOOTER \u00b7 HALO PREMIUM LENT -->\n<div id=\"ok3d-3d\" data-kind=\"service\"><span id=\"ok3d-3d-top\"><\/span><a class=\"skip\" href=\"#ok3d-3d-main\">Aller au contenu<\/a><main id=\"ok3d-3d-main\"><section class=\"expert-hero\"><div class=\"wrap\"><div class=\"expert-hero-inner\"><div><p class=\"kicker\">Expertise \/ 3D &amp; animation<\/p><h1 class=\"expert-title\">Du volume.<br>Du mouvement.<br><span class=\"accent-line\">De l\u2019impact.<\/span><\/h1><p class=\"subtext\">Un produit \u00e0 r\u00e9v\u00e9ler, un univers \u00e0 construire, une id\u00e9e \u00e0 mettre en mouvement. Je cr\u00e9e des images et des animations 3D qui rendent votre vision tangible.<\/p><div class=\"expert-actions\"><a class=\"btn btn-primary\" href=\"#ok3d-3d-contact\">Parlons de votre projet <span class=\"arrow\" aria-hidden=\"true\">\u2197<\/span><\/a><a class=\"text-link\" href=\"#ok3d-3d-selection\">Voir les r\u00e9alisations \u2193<\/a><\/div><\/div><div class=\"expert-visual\"><div class=\"visual-header\"><span>EXPLORER LES R\u00c9ALISATIONS<\/span><span>01 \u2014 03<\/span><\/div><div class=\"expert-picture\"><img decoding=\"async\" data-hero-image class=\"\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2023\/11\/turn_arround_alpine_a110_sastruga_00000.webp\" alt=\"Alpine \u00d7 Obvious \u2014 NFT &amp; Motion\" fetchpriority=\"high\"><\/div><div class=\"visual-tabs\" role=\"group\" aria-label=\"Exemples de r\u00e9alisations\"><button data-visual=\"alpine\" aria-pressed=\"true\" type=\"button\">Automobile<\/button><button data-visual=\"rives\" aria-pressed=\"false\" type=\"button\">Produit<\/button><button data-visual=\"kiprun\" aria-pressed=\"false\" type=\"button\">Textile<\/button><\/div><div class=\"visual-caption\"><span data-caption>Alpine \u00d7 Obvious \u2014 NFT &amp; Motion<\/span><button data-hero-film data-open=\"alpine\"  type=\"button\">Voir le film \u2197<\/button><\/div><\/div><\/div><div class=\"expert-strip\"><span>MOD\u00c9LISATION<\/span><span>RENDU & MATI\u00c8RES<\/span><span>ANIMATION<\/span><\/div><\/div><\/section><section class=\"section wrap\"><div class=\"section-head reveal\"><div><p class=\"kicker\">01 \/ Ce que je cr\u00e9e<\/p><h2>Une vision claire.<br><span>Des formes multiples.<\/span><\/h2><\/div><p>Du premier \u00e9change aux derniers d\u00e9tails, chaque cr\u00e9ation r\u00e9pond \u00e0 votre projet et \u00e0 ses usages.<\/p><\/div><div class=\"offer-grid\"><article class=\"offer reveal\"><span class=\"offer-number\">01 \/<\/span><h3>Mod\u00e9lisation &amp; visualisation<\/h3><p>Donner forme \u00e0 ce qui existe d\u00e9j\u00e0, ou \u00e0 ce qui reste \u00e0 inventer. Du mod\u00e8le pr\u00e9cis \u00e0 sa mise en sc\u00e8ne.<\/p><ul><li>Produits &amp; packaging<\/li><li>Objets &amp; environnements<\/li><li>Textures &amp; \u00e9clairages<\/li><\/ul><\/article><article class=\"offer reveal\"><span class=\"offer-number\">02 \/<\/span><h3>Animation &amp; motion<\/h3><p>Faire comprendre, ressentir et retenir. Le mouvement raconte votre produit autant qu\u2019il le met en valeur.<\/p><ul><li>Films de pr\u00e9sentation<\/li><li>Animation de produits<\/li><li>Habillage \u00e9v\u00e9nementiel<\/li><\/ul><\/article><article class=\"offer reveal\"><span class=\"offer-number\">03 \/<\/span><h3>Images de marque<\/h3><p>Cr\u00e9er des visuels qui prolongent votre univers et s\u2019adaptent \u00e0 vos supports de communication.<\/p><ul><li>Rendus photor\u00e9alistes<\/li><li>Visuels de campagne<\/li><li>D\u00e9clinaisons &amp; formats<\/li><\/ul><\/article><\/div><\/section><section class=\"section selected-section\" id=\"ok3d-3d-selection\"><div class=\"wrap\"><div class=\"section-head reveal\"><div><p class=\"kicker\">02 \/ En pratique<\/p><h2>Des id\u00e9es devenues<br><span>r\u00e9alit\u00e9.<\/span><\/h2><\/div><a class=\"text-link\" href=\"\/projets\/\">Tous les projets \u2197<\/a><\/div><div class=\"selected-grid\"><article class=\"selected-card reveal\"><a href=\"\/projets\/#alpine\"><div class=\"selected-media\"><img src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2023\/11\/turn_arround_alpine_a110_sastruga_00000.webp\" alt=\"Alpine \u00d7 Obvious \u2014 NFT &amp; Motion\" loading=\"lazy\" decoding=\"async\"><span aria-hidden=\"true\">\u2197<\/span><\/div><div class=\"selected-copy\"><small>Rendu 3D \u00b7 Motion \u00b7 Automobile<\/small><h3>Alpine \u00d7 Obvious<\/h3><p>Animation 3D et rendus photor\u00e9alistes de l&#x27;Alpine A110 pour la collection NFT Obvious \u00d7 Alpine.<\/p><\/div><\/a><\/article><article class=\"selected-card reveal\"><a href=\"\/projets\/#rives\"><div class=\"selected-media\"><img src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/plage_1_visu_test1-scaled.png\" alt=\"RIVES \u2014 Station paddle autonome\" loading=\"lazy\" decoding=\"async\"><span aria-hidden=\"true\">\u2197<\/span><\/div><div class=\"selected-copy\"><small>Animation 3D \u00b7 Mod\u00e9lisation<\/small><h3>RIVES<\/h3><p>Animation 3D promotionnelle et mod\u00e9lisation sur mesure des \u00e9quipements de station paddle.<\/p><\/div><\/a><\/article><article class=\"selected-card reveal\"><a href=\"\/projets\/#kiprun\"><div class=\"selected-media\"><img src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/t-shirt_site_5-scaled-1.webp\" alt=\"Kiprun \u2014 Animation 3D &amp; Branding\" loading=\"lazy\" decoding=\"async\"><span aria-hidden=\"true\">\u2197<\/span><\/div><div class=\"selected-copy\"><small>Motion \u00b7 Identit\u00e9 \u00b7 Decathlon<\/small><h3>Kiprun<\/h3><p>Animation 3D r\u00e9alis\u00e9e pour promouvoir la collaboration entre Obvious et Kiprun autour d&#x27;un t-shirt exclusif.<\/p><\/div><\/a><\/article><\/div><\/div><\/section><section class=\"section wrap\"><div class=\"approach-grid\"><div class=\"approach-heading reveal\"><p class=\"kicker\">03 \/ La m\u00e9thode<\/p><h2>Une collaboration.<br><span class=\"accent-line\">Un cap commun.<\/span><\/h2><p class=\"subtext\">Un interlocuteur direct, des \u00e9tapes claires et des \u00e9changes r\u00e9guliers pour faire avancer votre projet.<\/p><\/div><div><article class=\"approach-step reveal\"><span>01<\/span><div><h3>Cadrer l\u2019intention.<\/h3><p>\u00c0 qui s\u2019adresse le film ou le visuel ? Pour quel usage ? Nous d\u00e9finissons les objectifs, les r\u00e9f\u00e9rences et les \u00e9l\u00e9ments disponibles.<\/p><\/div><\/article><article class=\"approach-step reveal\"><span>02<\/span><div><h3>Construire l\u2019univers.<\/h3><p>Direction artistique, cadrages et premi\u00e8res recherches de formes : nous validons le langage visuel avant les rendus finaux.<\/p><\/div><\/article><article class=\"approach-step reveal\"><span>03<\/span><div><h3>Donner vie aux d\u00e9tails.<\/h3><p>Mod\u00e9lisation, mati\u00e8res, lumi\u00e8re et animation prennent forme, avec des points de validation \u00e0 chaque \u00e9tape cl\u00e9.<\/p><\/div><\/article><article class=\"approach-step reveal\"><span>04<\/span><div><h3>Livrer les bons formats.<\/h3><p>Les images et s\u00e9quences valid\u00e9es sont pr\u00e9par\u00e9es pour les supports convenus : site, r\u00e9seaux, pr\u00e9sentation ou \u00e9v\u00e9nement.<\/p><\/div><\/article><\/div><\/div><\/section><section class=\"section contact\" id=\"ok3d-3d-contact\"><div class=\"wrap contact-grid\"><div class=\"contact-intro\"><p class=\"kicker\">04 \/ Votre prochain projet<\/p><h2>Et si on cr\u00e9ait<br\/><span class=\"blue\">la suite ?<\/span><\/h2><p>Un produit \u00e0 r\u00e9v\u00e9ler, une marque \u00e0 lancer, un site \u00e0 repenser ? Parlez-moi de votre id\u00e9e.<\/p><a class=\"email-link\" href=\"mailto:contact@ok3d.fr\">contact@ok3d.fr <span aria-hidden=\"true\" class=\"arrow\">\u2197<\/span><\/a><span class=\"contact-note\">Un \u00e9change direct. Une proposition sur mesure.<\/span><\/div><form data-brief id=\"ok3d-3d-brief-form\"><div class=\"form-grid\"><div class=\"field\"><label for=\"ok3d-3d-nom\">Votre nom *<\/label><input autocomplete=\"name\" id=\"ok3d-3d-nom\" maxlength=\"120\" name=\"nom\" placeholder=\"Pr\u00e9nom et nom\" required=\"\"\/><\/div><div class=\"field\"><label for=\"ok3d-3d-email\">Votre email *<\/label><input autocomplete=\"email\" id=\"ok3d-3d-email\" maxlength=\"180\" name=\"email\" placeholder=\"vous@entreprise.fr\" required=\"\" type=\"email\"\/><\/div><div class=\"field\"><label for=\"ok3d-3d-type_projet\">Votre besoin<\/label><select id=\"ok3d-3d-type_projet\" name=\"type_projet\"><option selected value=\"3D \/ Animation\">3D \/ Animation<\/option><option>Site web<\/option><option>Identit\u00e9 visuelle<\/option><option>Visuels marketing<\/option><option>Autre<\/option><\/select><\/div><div class=\"field\"><label for=\"ok3d-3d-budget\">Budget indicatif<\/label><select id=\"ok3d-3d-budget\" name=\"budget\"><option>\u00c0 d\u00e9finir<\/option><option>Moins de 1 000 \u20ac<\/option><option>1 000 \u2014 3 000 \u20ac<\/option><option>3 000 \u2014 7 000 \u20ac<\/option><option>7 000 \u20ac+<\/option><\/select><\/div><div class=\"field full\"><label for=\"ok3d-3d-message\">Votre projet en quelques mots *<\/label><textarea id=\"ok3d-3d-message\" maxlength=\"10000\" minlength=\"10\" name=\"message\" placeholder=\"L\u2019id\u00e9e, les objectifs, le calendrier\u2026\" required=\"\"><\/textarea><\/div><\/div><div aria-hidden=\"true\" class=\"honeypot\"><label for=\"ok3d-3d-website\">Ne pas remplir ce champ<\/label><input autocomplete=\"off\" id=\"ok3d-3d-website\" name=\"website\" tabindex=\"-1\"\/><\/div><div class=\"form-submit\"><button class=\"btn btn-primary\" id=\"ok3d-3d-submit-brief\" type=\"submit\">Envoyer mon brief <span aria-hidden=\"true\" class=\"arrow\">\u2197<\/span><\/button><small>* Champs obligatoires<\/small><\/div><p aria-live=\"polite\" class=\"form-status\" id=\"ok3d-3d-form-status\" role=\"status\"><\/p><p class=\"form-privacy\">Les informations transmises servent uniquement \u00e0 r\u00e9pondre \u00e0 votre demande.<\/p><\/form><\/div><\/section><div class=\"other-expertises\"><div class=\"wrap\"><span>Explorer les autres expertises<\/span><a href=\"\/services\/identite-visuelle\/\">Design graphique \u2197<\/a><a href=\"\/services\/creation-web\/\">Webdesign \u2197<\/a><\/div><\/div><\/main><dialog class=\"page-dialog\" aria-labelledby=\"ok3d-3d-modal-title\"><div class=\"dialog-top\"><span>OK3D \/ PROJET<\/span><button class=\"close-dialog\" aria-label=\"Fermer la fiche projet\" type=\"button\">\u00d7<\/button><\/div><div class=\"modal-media\"><\/div><div class=\"modal-copy\"><p class=\"modal-tag\"><\/p><h2 class=\"modal-title\" id=\"ok3d-3d-modal-title\"><\/h2><p class=\"modal-desc\"><\/p><div class=\"modal-actions\"><a class=\"btn btn-primary\" data-film hidden href=\"#\">Voir le film <span aria-hidden=\"true\">\u25b6<\/span><\/a><a class=\"btn\" data-detail hidden href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\">Page d\u00e9taill\u00e9e \u2197<\/a><a class=\"btn\" href=\"mailto:contact@ok3d.fr\">Parlons d\u2019un projet similaire \u2197<\/a><\/div><\/div><div class=\"modal-nav\"><button data-prev type=\"button\">\u2190 Pr\u00e9c\u00e9dent<\/button><span data-position><\/span><button data-next type=\"button\">Suivant \u2192<\/button><\/div><\/dialog><script type=\"application\/json\" data-projects>[{\"slug\": \"alpine\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/alpine\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"Alpine \u00d7 Obvious \u2014 NFT & Motion\", \"desc\": \"Animation 3D et rendus photor\u00e9alistes de l'Alpine A110 pour la collection NFT Obvious \u00d7 Alpine.\", \"tag\": \"Rendu 3D \u00b7 Motion \u00b7 Automobile\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2023\/11\/turn_arround_alpine_a110_sastruga_00000.webp\", \"video\": \"1058636442\", \"external\": null}, {\"slug\": \"kiprun\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/kiprun\/\", \"cat\": [\"3d\", \"motion\", \"branding\"], \"title\": \"Kiprun \u2014 Animation 3D & Branding\", \"desc\": \"Animation 3D r\u00e9alis\u00e9e pour promouvoir la collaboration entre Obvious et Kiprun autour d'un t-shirt exclusif.\", \"tag\": \"Motion \u00b7 Identit\u00e9 \u00b7 Decathlon\", \"badge\": \"Motion + Identit\u00e9\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/t-shirt_site_5-scaled-1.webp\", \"video\": \"1099762526\", \"external\": \"https:\/\/www.ok3d.fr\/projets\/kiprun\/\"}, {\"slug\": \"amcor\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/amcor\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"Amcor \u2014 Bouteille de champagne 3D\", \"desc\": \"Mod\u00e9lisation et animation 3D d'une bouteille de champagne premium pour Amcor.\", \"tag\": \"Animation 3D \u00b7 Packaging\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/05\/entier-2.webp\", \"video\": null, \"external\": null}, {\"slug\": \"rives\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/rives\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"RIVES \u2014 Station paddle autonome\", \"desc\": \"Animation 3D promotionnelle et mod\u00e9lisation sur mesure des \u00e9quipements de station paddle.\", \"tag\": \"Animation 3D \u00b7 Mod\u00e9lisation\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/plage_1_visu_test1-scaled.png\", \"video\": \"1189210763\", \"external\": null}, {\"slug\": \"la-poste\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/la-poste\/\", \"cat\": [\"3d\"], \"title\": \"La Poste \u2014 Mod\u00e9lisation 3D\", \"desc\": \"Mod\u00e9lisation 3D sur mesure, texturing et rigging d'un miroir magique interactif pour une exposition sign\u00e9e La Poste.\", \"tag\": \"Mod\u00e9lisation 3D \u00b7 Blender\", \"badge\": \"Mod\u00e9lisation 3D\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/visualisation_vetement_1.png\", \"video\": null, \"external\": null}, {\"slug\": \"sbe-motion\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/sbe-motion\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"SBE \u2014 Animations 3D \u00e9v\u00e9nementielles\", \"desc\": \"Habillage \u00e9v\u00e9nementiel anim\u00e9 et motion design 3D pour S\u00e9minaire Business Event.\", \"tag\": \"Animation 3D \u00b7 \u00c9v\u00e9nementiel\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/SBE_Personnage.png\", \"video\": null, \"external\": null}, {\"slug\": \"soterics\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/soterics\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"Soterics & Orora \u2014 Logos fluides m\u00e9talliques\", \"desc\": \"3 animations 3D de logos avec fluides m\u00e9talliques pour grand \u00e9cran salon, en partenariat avec Soterics et Orora.\", \"tag\": \"Animation 3D \u00b7 Logo \u00b7 Grand \u00c9cran\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/soterix_wallix0.png\", \"video\": null, \"external\": null}, {\"slug\": \"capture\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/capture\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"Capture d'\u00e9cran \u2014 Habillage YouTube\", \"desc\": \"Animation 3D intro, bumper et habillage complet de cha\u00eene YouTube.\", \"tag\": \"Animation 3D \u00b7 YouTube\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/10\/scene_final_site.jpg\", \"video\": null, \"external\": null}, {\"slug\": \"pigeon\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/pigeon\/\", \"cat\": [\"3d\"], \"title\": \"Pigeon 10 m \u2014 Texturing haute d\u00e9finition\", \"desc\": \"Reprise des UV, texturing complet et pr\u00e9paration de textures haute d\u00e9finition pour une sculpture monumentale de 10 m\u00e8tres.\", \"tag\": \"Texturing 3D \u00b7 Sculpture monumentale\", \"badge\": \"Texturing 3D\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/test_visu_pigeon_quai_9.png\", \"video\": null, \"external\": null}, {\"slug\": \"ks-groupe\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/ks-groupe\/\", \"cat\": [\"3d\", \"branding\"], \"title\": \"KS Groupe \u2014 Ville fictive & march\u00e9s\", \"desc\": \"Conception d'un univers urbain complet r\u00e9unissant plusieurs march\u00e9s dans une m\u00eame composition architecturale.\", \"tag\": \"Direction visuelle \u00b7 Ville 3D\", \"badge\": \"3D + Identit\u00e9\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/Ksgroup_visuel_test_5.png\", \"video\": null, \"external\": null}, {\"slug\": \"abu-dhabi\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/abu-dhabi\/\", \"cat\": [\"3d\"], \"title\": \"Abu Dhabi \u2014 Modules de jeu sculpturaux\", \"desc\": \"Mod\u00e9lisation de modules de jeu pour enfants, dont un toboggan serpent en pierre, avec pr\u00e9paration des fichiers 3D.\", \"tag\": \"Mod\u00e9lisation 3D \u00b7 Design produit\", \"badge\": \"Mod\u00e9lisation 3D\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/snake_3.2.png\", \"video\": null, \"external\": null}, {\"slug\": \"rives-acte-2\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/rives-acte-2\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"RIVES \u2014 Station paddle autonome \u00b7 Acte II\", \"desc\": \"Nouvelle mise en sc\u00e8ne 3D de la station : showroom, vues \u00e9clat\u00e9es, d\u00e9tails techniques et animation produit.\", \"tag\": \"Animation 3D \u00b7 Produit \u00b7 Showroom\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/rives_showroom.webp\", \"video\": null, \"external\": null}, {\"slug\": \"politext\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/politext\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"Politext \u2014 Configurateur textile en 3D\", \"desc\": \"Cr\u00e9ation d'une animation 3D promotionnelle mettant en sc\u00e8ne un configurateur de maillot running personnalisable, avec d\u00e9clinaisons adapt\u00e9es aux formats r\u00e9seaux sociaux.\", \"tag\": \"Animation 3D \u00b7 Textile \u00b7 R\u00e9seaux sociaux\", \"badge\": \"3D + Motion\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/politext_t-shirts_3d.webp\", \"video\": null, \"external\": null}, {\"slug\": \"obvious-trophee\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/obvious-trophee\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"Obvious \u2014 Troph\u00e9e anim\u00e9 en 3D\", \"desc\": \"Mod\u00e9lisation et animation 3D d'un troph\u00e9e pour Obvious, avec travail des mat\u00e9riaux et de l'\u00e9clairage pour une mise en valeur premium.\", \"tag\": \"Animation 3D \u00b7 Objet \u00b7 Obvious\", \"badge\": \"Animation 3D\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/12\/animation-3d-trophee_obvious-x-o.jpg\", \"video\": null, \"external\": null}, {\"slug\": \"obvious-badges\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/obvious-badges\/\", \"cat\": [\"3d\"], \"title\": \"Obvious \u2014 Badges 3D\", \"desc\": \"Mod\u00e9lisation 3D d'une s\u00e9rie de badges pour Obvious : volumes, reliefs et mati\u00e8res travaill\u00e9s pour un rendu fid\u00e8le \u00e0 l'objet final.\", \"tag\": \"Mod\u00e9lisation 3D \u00b7 Objet \u00b7 Obvious\", \"badge\": \"Mod\u00e9lisation 3D\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/10\/badge2_gold4.jpg\", \"video\": null, \"external\": null}, {\"slug\": \"sivan\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/sivan\/\", \"cat\": [\"3d\"], \"title\": \"Sivan \u2014 S\u00e9rie de visuels 3D\", \"desc\": \"Production d'une s\u00e9rie de visuels 3D destin\u00e9s au site internet de la marque : mise en sc\u00e8ne, \u00e9clairage et d\u00e9clinaisons coh\u00e9rentes sur l'ensemble de la gamme.\", \"tag\": \"Rendu 3D \u00b7 Visuels produit \u00b7 E-commerce\", \"badge\": \"Visuels 3D\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/visuel_sivan_site_ok3d.jpg\", \"video\": null, \"external\": null}, {\"slug\": \"obvious-sculpture\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/obvious-sculpture\/\", \"cat\": [\"3d\"], \"title\": \"Obvious \u2014 Sculpture 3D g\u00e9n\u00e9r\u00e9e par IA\", \"desc\": \"Transposition d'une forme issue d'une g\u00e9n\u00e9ration par IA en sculpture 3D exploitable : reconstruction du volume, nettoyage de la topologie et pr\u00e9paration du mod\u00e8le pour la production.\", \"tag\": \"Sculpture 3D \u00b7 IA g\u00e9n\u00e9rative \u00b7 Obvious\", \"badge\": \"Mod\u00e9lisation 3D\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/sculpture_ortho_2.jpg\", \"video\": null, \"external\": null}, {\"slug\": \"debelmont\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/debelmont\/\", \"cat\": [\"3d\", \"motion\", \"web\"], \"title\": \"Debelmont \u2014 Site web & animation 3D\", \"desc\": \"Cr\u00e9ation du site vitrine et animation 3D d'une bo\u00eete de luxe pour automobile : mise en sc\u00e8ne du produit, mat\u00e9riaux et d\u00e9tails de finition au service d'un positionnement haut de gamme.\", \"tag\": \"Site web \u00b7 Animation 3D \u00b7 Luxe\", \"badge\": \"3D + Web\", \"image\": \"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/11\/Etabli_v1-2.jpg\", \"video\": null, \"external\": null}, {\"slug\": \"sol-led\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/sol-led\/\", \"cat\": [\"3d\", \"motion\"], \"title\": \"Sol LED interactif \u2014 Animation 3D\", \"desc\": \"Conception d'une animation 3D diffus\u00e9e sur un sol LED interactif, pens\u00e9e pour r\u00e9agir au passage des visiteurs et tenir la lecture \u00e0 grande \u00e9chelle.\", \"tag\": \"Animation 3D \u00b7 Interactif \u00b7 \u00c9v\u00e9nementiel\", \"badge\": \"Animation 3D\", \"image\": null, \"video\": null, \"external\": null}, {\"slug\": \"sorbonne\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/sorbonne\/\", \"cat\": [\"3d\"], \"title\": \"Sorbonne Universit\u00e9 \u2014 Sculpture 3D\", \"desc\": \"Cr\u00e9ation d'une sculpture 3D pour Sorbonne Universit\u00e9, en partenariat avec Obvious : mod\u00e9lisation, travail des volumes et pr\u00e9paration du mod\u00e8le pour la production.\", \"tag\": \"Sculpture 3D \u00b7 Institutionnel \u00b7 Obvious\", \"badge\": \"Sculpture 3D\", \"image\": null, \"video\": null, \"external\": null}, {\"slug\": \"cadre-ia\", \"href\": \"https:\/\/www.ok3d.fr\/projets\/cadre-ia\/\", \"cat\": [\"3d\"], \"title\": \"Cadre de tableau \u2014 Du concept IA au mod\u00e8le 3D\", \"desc\": \"Mod\u00e9lisation 3D d'un cadre de tableau ornement\u00e9 imagin\u00e9 par IA : reconstruction des moulures et reliefs en volume exploitable, fid\u00e8le \u00e0 l'intention du concept.\", \"tag\": \"Mod\u00e9lisation 3D \u00b7 IA g\u00e9n\u00e9rative \u00b7 Ornement\", \"badge\": \"Mod\u00e9lisation 3D\", \"image\": null, \"video\": null, \"external\": null}]<\/script><\/div>\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');\n\n#ok3d-3d{--bg:#080a10;--surface:#0e111a;--text:#f1f3fa;--muted:#a1a8ba;--line:#ffffff20;--blue:#648cff;--font:'Manrope',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif;--gutter:clamp(22px,5vw,88px);position:relative;width:100%;max-width:none!important;margin:0!important;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow:clip}\n#ok3d-3d,#ok3d-3d *{box-sizing:border-box}\n#ok3d-3d img{max-width:none}\n#ok3d-3d button,#ok3d-3d input,#ok3d-3d select,#ok3d-3d textarea{font-family:inherit}\n\/* Force the Elementor HTML widget\/container to span full width when possible. *\/\n.elementor-widget-html:has(#ok3d-3d),.elementor-widget-html:has(#ok3d-3d) .elementor-widget-container{width:100%;max-width:none!important}\n\n\n#ok3d-3d{--bg:#080a10;--surface:#0e111a;--text:#f1f3fa;--muted:#a1a8ba;--line:#ffffff20;--blue:#648cff;--font:\"Manrope\",Arial,sans-serif;--display:\"Space Grotesk\",Arial,sans-serif;--gutter:clamp(22px,5vw,88px)}\n#ok3d-3d *{box-sizing:border-box}#ok3d-3d{scroll-behavior:smooth;scroll-padding-top:100px}#ok3d-3d{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}#ok3d-3d.locked{overflow:hidden}#ok3d-3d button,#ok3d-3d input,#ok3d-3d select,#ok3d-3d textarea{font:inherit}#ok3d-3d button,#ok3d-3d a{-webkit-tap-highlight-color:transparent}#ok3d-3d button{cursor:pointer}#ok3d-3d a{color:inherit;text-decoration:none}#ok3d-3d button{color:inherit}#ok3d-3d img{display:block;width:100%;height:auto}#ok3d-3d ::selection{background:#648cff;color:#080a10}#ok3d-3d :focus-visible{outline:2px solid #90adff;outline-offset:6px}#ok3d-3d h1,#ok3d-3d h2,#ok3d-3d h3,#ok3d-3d p{margin:0}#ok3d-3d h1,#ok3d-3d h2,#ok3d-3d h3{font-family:var(--display);font-weight:500}#ok3d-3d button:disabled{cursor:wait;opacity:.65}#ok3d-3d .wrap{width:min(100%,1600px);margin:auto;padding-inline:var(--gutter)}#ok3d-3d .section{padding-block:112px}#ok3d-3d .kicker{font-size:13px;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:14px;color:var(--muted)}#ok3d-3d .kicker::before{content:\"\";width:22px;height:1px;background:var(--blue)}#ok3d-3d .blue{color:var(--blue)}#ok3d-3d .arrow{font-size:24px;line-height:1;display:inline-block;transition:transform .25s}#ok3d-3d .btn{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:54px;padding:14px 24px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--text);font-size:14px;font-weight:700;transition:background .25s,border-color .25s,transform .25s}#ok3d-3d .btn:hover{border-color:var(--blue);background:#648cff10}#ok3d-3d .btn:hover .arrow{transform:translate(3px,-3px)}#ok3d-3d .btn-primary{background:#537fff;border-color:#537fff;color:#fff}#ok3d-3d .btn-primary:hover{background:#6d92ff;border-color:#6d92ff}#ok3d-3d .text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:8px}#ok3d-3d .text-link:hover{color:var(--blue)}#ok3d-3d .skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--text);color:var(--bg);padding:10px}#ok3d-3d .skip:focus{top:15px}\n#ok3d-3d .header{position:absolute;top:0;left:0;width:100%;z-index:20;border-bottom:1px solid var(--line)}#ok3d-3d .header-inner{display:flex;align-items:center;justify-content:space-between;height:94px;gap:24px}#ok3d-3d .logo{font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:-3px;line-height:1}#ok3d-3d .logo span{color:var(--blue)}#ok3d-3d .logo b{display:inline-block;width:7px;height:7px;background:var(--blue);margin-left:5px}#ok3d-3d .nav{display:flex;gap:34px;align-items:center}#ok3d-3d .nav a{font-size:14px;color:#c4cad8;transition:color .2s}#ok3d-3d .nav a:hover{color:#fff}#ok3d-3d .header-contact{font-size:14px;border:1px solid #ffffff40;padding:10px 18px;border-radius:3px}#ok3d-3d .menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 13px;font-size:14px}\n#ok3d-3d .hero{position:relative;min-height:850px;min-height:min(940px,100svh);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line);background:#0a0d18}#ok3d-3d .hero-media{position:absolute;inset:0;z-index:-3}#ok3d-3d .hero-media video{width:100%;height:100%;object-fit:cover;object-position:center}#ok3d-3d .hero::before{content:\"\";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,8,17,.94),rgba(5,8,17,.76) 40%,rgba(5,8,17,.13) 78%),linear-gradient(0deg,#080a10 0%,transparent 36%,#080a1055)}#ok3d-3d .hero::after{content:\"\";position:absolute;inset:94px 0 0;z-index:-1;background:linear-gradient(90deg,transparent calc(75% - 1px),#ffffff0b 75%,transparent calc(75% + 1px));pointer-events:none}#ok3d-3d .hero-body{padding-top:clamp(165px,19vh,230px);padding-bottom:165px}#ok3d-3d .hero .kicker{color:#c5cfe6;margin-bottom:28px}#ok3d-3d .hero h1{font-size:clamp(60px,7.5vw,116px);letter-spacing:-.065em;line-height:1.02;max-width:1000px}#ok3d-3d .hero h1 em{font-style:normal;color:#92acff}#ok3d-3d .hero-copy{max-width:470px;color:#bdc5d6;margin-top:30px;font-size:17px;line-height:1.8}#ok3d-3d .hero-actions{display:flex;gap:28px;align-items:center;margin-top:34px}#ok3d-3d .reel-trigger{display:inline-flex;gap:13px;align-items:center;background:transparent;border:0;font-size:14px;padding:10px 0}#ok3d-3d .play{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff55;border-radius:50%;font-size:12px;padding-left:2px}#ok3d-3d .reel-trigger:hover .play{background:var(--blue);border-color:var(--blue)}#ok3d-3d .hero-bottom{position:absolute;bottom:0;width:100%;padding-block:24px;display:flex;justify-content:space-between;align-items:end}#ok3d-3d .hero-signature{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b4bed0;display:flex;gap:20px}#ok3d-3d .hero-signature span+span{border-left:1px solid #ffffff40;padding-left:20px}#ok3d-3d .hero-controls{display:flex;align-items:center;gap:22px;font-size:12px;color:#b4bed0}#ok3d-3d .pause{border:1px solid #ffffff35;background:#080a1055;border-radius:50%;height:36px;width:36px;font-size:13px}#ok3d-3d .scroll-link{font-size:13px;display:flex;gap:14px;align-items:center}#ok3d-3d .hero-index{position:absolute;right:var(--gutter);top:47%;writing-mode:vertical-rl;color:#d4ddf0;letter-spacing:.13em;font-size:12px}\n#ok3d-3d .clients{padding-block:34px;border-bottom:1px solid var(--line)}#ok3d-3d .clients-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}#ok3d-3d .clients-label{font-size:12px;color:var(--muted);max-width:115px;line-height:1.7}#ok3d-3d .client-list{display:flex;align-items:center;justify-content:space-between;flex:1;gap:30px}#ok3d-3d .client-list span{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.04em;color:#bec3cf}#ok3d-3d .client-list .kiprun{font-style:italic;letter-spacing:-.08em}#ok3d-3d .client-list .obvious{font-size:19px;letter-spacing:-.04em}#ok3d-3d .client-list .laposte{font-size:20px;font-style:italic}\n#ok3d-3d .section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:46px}#ok3d-3d .section-head h2,#ok3d-3d .about h2,#ok3d-3d .contact h2{font-size:clamp(40px,4.5vw,66px);letter-spacing:-.055em;line-height:1.08;margin-top:20px}#ok3d-3d .section-head h2 span{color:var(--muted)}#ok3d-3d .works{padding-bottom:106px}#ok3d-3d .project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:46px 28px}#ok3d-3d .project:first-child{grid-column:1\/-1}#ok3d-3d .project-media{position:relative;overflow:hidden;aspect-ratio:16\/10;background:var(--surface);border:1px solid var(--line);border-radius:6px;display:block;width:100%;padding:0;text-align:left}#ok3d-3d .project:first-child .project-media{aspect-ratio:2.2}#ok3d-3d .project-media img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.92)}#ok3d-3d .project-media:hover img{transform:scale(1.035);filter:saturate(1.1)}#ok3d-3d .project:first-child .project-media img{object-position:50% 48%}#ok3d-3d .project:nth-child(2) .project-media img{object-position:50% 40%}#ok3d-3d .project-label{position:absolute;left:22px;top:22px;padding:7px 12px;font-size:12px;background:#080a10b8;border:1px solid #ffffff30;border-radius:3px;backdrop-filter:blur(12px)}#ok3d-3d .project-play{position:absolute;right:22px;bottom:22px;width:54px;height:54px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#080a1055;backdrop-filter:blur(10px);font-size:14px;transition:background .2s}#ok3d-3d .project-media:hover .project-play{background:#537fff}#ok3d-3d .project-info{padding-top:18px;display:flex;justify-content:space-between;align-items:start;gap:15px}#ok3d-3d .project-info h3{font-size:25px;letter-spacing:-.045em}#ok3d-3d .project-info p{font-size:14px;color:var(--muted);margin-top:4px}#ok3d-3d .project-number{font-family:var(--display);font-size:13px;color:var(--muted);padding-top:7px}#ok3d-3d .work-footer{display:flex;justify-content:center;margin-top:48px}\n#ok3d-3d .expertise{border-block:1px solid var(--line);background:var(--surface)}#ok3d-3d .expertise .section-head>p{max-width:350px;color:var(--muted)}#ok3d-3d .service{border-top:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 1fr;gap:35px;padding:38px 0;transition:background .25s}#ok3d-3d .service:last-child{border-bottom:1px solid var(--line)}#ok3d-3d .service-num{color:var(--blue);font-family:var(--display);font-size:14px;padding-top:6px}#ok3d-3d .service h3{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.045em}#ok3d-3d .service p{color:var(--muted);max-width:480px;font-size:16px}#ok3d-3d .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}#ok3d-3d .tags span{border:1px solid var(--line);padding:4px 10px;border-radius:3px;font-size:12px;color:#c0c7d7}#ok3d-3d .service-title small{display:block;margin-top:12px;color:#8292ba;font-size:13px;font-weight:400}\n#ok3d-3d .about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start}#ok3d-3d .about h2{margin-bottom:28px}#ok3d-3d .about-copy>p{color:#b6bed0;font-size:18px;line-height:1.9;max-width:640px}#ok3d-3d .about-copy>p+p{margin-top:18px;font-size:16px;color:var(--muted)}#ok3d-3d .signature{display:flex;align-items:center;gap:17px;margin-top:30px}#ok3d-3d .initials{width:51px;height:51px;display:grid;place-items:center;background:#152244;border:1px solid #648cff55;border-radius:50%;font-family:var(--display);color:#b2c6ff}#ok3d-3d .signature strong{display:block;font-size:16px;font-weight:600}#ok3d-3d .signature small{font-size:13px;color:var(--muted)}#ok3d-3d .stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px;border-block:1px solid var(--line);padding-block:28px}#ok3d-3d .stat{padding-inline:30px;border-right:1px solid var(--line)}#ok3d-3d .stat:first-child{padding-left:0}#ok3d-3d .stat:last-child{border:0}#ok3d-3d .stat strong{font-family:var(--display);font-weight:500;font-size:48px;letter-spacing:-.06em;display:block;line-height:1.2}#ok3d-3d .stat strong span{color:var(--blue)}#ok3d-3d .stat p{font-size:13px;color:var(--muted);margin-top:8px}#ok3d-3d .tool-list{display:flex;gap:12px 25px;flex-wrap:wrap;align-items:center;margin-top:30px;font-size:13px;color:#c0c7d7}#ok3d-3d .tool-list>span:first-child{color:var(--muted);margin-right:auto}\n#ok3d-3d .method{padding-top:0}#ok3d-3d .method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}#ok3d-3d .step{border-top:1px solid var(--line);padding-top:22px}#ok3d-3d .step>span{font-family:var(--display);color:var(--blue);font-size:13px}#ok3d-3d .step h3{font-size:23px;letter-spacing:-.03em;margin-top:22px}#ok3d-3d .step p{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.8}\n#ok3d-3d .contact{border-top:1px solid #ffffff25;background:radial-gradient(ellipse at 0% 100%,#14234d 0,transparent 65%),#0e131f}#ok3d-3d .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}#ok3d-3d .contact h2{font-size:clamp(44px,5vw,76px);margin-bottom:28px}#ok3d-3d .contact-intro>p{color:var(--muted);max-width:400px}#ok3d-3d .email-link{display:inline-flex;align-items:center;gap:24px;margin-top:34px;font-family:var(--display);font-size:clamp(21px,2.2vw,30px);border-bottom:1px solid #648cff70;padding-bottom:8px}#ok3d-3d .contact-note{display:block;margin-top:35px;font-size:13px;color:#aeb9d0}#ok3d-3d .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}#ok3d-3d .field{display:flex;flex-direction:column;gap:8px}#ok3d-3d .field.full{grid-column:1\/-1}#ok3d-3d .field label{font-size:13px;color:#c7cfdf}#ok3d-3d .field input,#ok3d-3d .field select,#ok3d-3d .field textarea{width:100%;border:0;border-bottom:1px solid #ffffff35;border-radius:0;background:transparent;color:var(--text);padding:10px 0 14px;outline-offset:5px;min-width:0;font-size:16px}#ok3d-3d .field input::placeholder,#ok3d-3d .field textarea::placeholder{color:#838fa7}#ok3d-3d .field select{color:#c7cfdf}#ok3d-3d .field select option{background:#101622;color:var(--text)}#ok3d-3d .field textarea{resize:vertical;min-height:105px}#ok3d-3d .form-submit{margin-top:28px;display:flex;align-items:center;gap:24px}#ok3d-3d .form-submit small{color:#aeb9d0;font-size:12px}#ok3d-3d .form-status{margin-top:14px;font-size:14px;color:#c0cfff}#ok3d-3d .form-status.error{color:#ffc1bf}#ok3d-3d .honeypot{position:absolute;left:-9999px;opacity:0}#ok3d-3d .form-privacy{font-size:12px;color:#9ba8c1;margin-top:18px}#ok3d-3d .footer{border-top:1px solid var(--line);background:#080a10}#ok3d-3d .footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:36px}#ok3d-3d .footer-tagline{font-size:14px;color:var(--muted);margin-right:auto;margin-left:22px}#ok3d-3d .footer-bottom{border-top:1px solid var(--line);padding-block:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}#ok3d-3d .footer-links{display:flex;gap:25px}#ok3d-3d .footer-links a:hover{color:white}\n#ok3d-3d .video-dialog{background:#080a10;color:var(--text);border:1px solid #ffffff40;width:min(1120px,94vw);max-width:none;padding:0;border-radius:7px;overflow:visible}#ok3d-3d .video-dialog::backdrop{background:#02040bec;backdrop-filter:blur(14px)}#ok3d-3d .dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:20px}#ok3d-3d .dialog-head p{font-size:14px}#ok3d-3d .dialog-close{border:1px solid var(--line);background:transparent;min-width:40px;min-height:40px;font-size:22px}#ok3d-3d .dialog-player{aspect-ratio:16\/9;background:black}#ok3d-3d .dialog-player iframe,#ok3d-3d .dialog-player video{width:100%;height:100%;border:0;display:block}#ok3d-3d .dialog-fallback{font-size:13px;color:var(--muted);padding:13px 20px}#ok3d-3d .dialog-fallback a{text-decoration:underline}#ok3d-3d .reveal{transition:opacity .65s,transform .65s}#ok3d-3d .reveal.pending{opacity:0;transform:translateY(22px)}\n@media(min-width:1700px){#ok3d-3d .hero-bottom{max-width:1600px;left:50%;transform:translateX(-50%)}}\n@media(max-width:1000px){#ok3d-3d .hero h1{font-size:clamp(60px,9vw,100px)}#ok3d-3d .hero{min-height:820px}#ok3d-3d .hero-index{display:none}#ok3d-3d .nav{gap:20px}#ok3d-3d .about-grid,#ok3d-3d .contact-grid{gap:45px}#ok3d-3d .service{grid-template-columns:45px 1fr 1.1fr;gap:20px}#ok3d-3d .client-list{flex-wrap:wrap;justify-content:center;gap:20px 35px}#ok3d-3d .method-grid{grid-template-columns:1fr 1fr}#ok3d-3d .clients-inner{gap:25px}#ok3d-3d .section{padding-block:85px}#ok3d-3d .method{padding-top:0}#ok3d-3d .client-list span{font-size:20px}}\n@media(max-width:700px){#ok3d-3d .header-inner{height:78px}#ok3d-3d .logo{font-size:31px}#ok3d-3d .header-contact{display:none}#ok3d-3d .menu-toggle{display:block}#ok3d-3d .nav{display:none;position:absolute;top:78px;left:0;right:0;background:#0b101ded;border-bottom:1px solid var(--line);padding:25px var(--gutter);backdrop-filter:blur(18px);flex-direction:column;align-items:stretch;gap:0}#ok3d-3d .nav.open{display:flex}#ok3d-3d .nav a{font-size:17px;padding:12px 0}#ok3d-3d .hero{min-height:810px;min-height:max(810px,100svh)}#ok3d-3d .hero-body{padding-top:156px;padding-bottom:180px}#ok3d-3d .hero h1{font-size:clamp(52px,11.4vw,79px);letter-spacing:-.065em}#ok3d-3d .hero-copy{font-size:16px;max-width:350px}#ok3d-3d .hero .kicker{font-size:11px;letter-spacing:.1em}#ok3d-3d .hero-actions{gap:20px;flex-wrap:wrap}#ok3d-3d .hero-actions .btn{gap:20px;padding-inline:19px}#ok3d-3d .hero::before{background:linear-gradient(90deg,#050811d9,#05081170),linear-gradient(0deg,#080a10,transparent 60%)}#ok3d-3d .hero-media video{object-position:60% center;opacity:.75}#ok3d-3d .hero-bottom{align-items:center;padding-block:22px;gap:20px}#ok3d-3d .hero-signature{display:block;font-size:11px;line-height:1.9}#ok3d-3d .hero-signature span{display:block}#ok3d-3d .hero-signature span+span{border:0;padding:0}#ok3d-3d .hero-controls{gap:16px}#ok3d-3d .scroll-link{display:none}#ok3d-3d .clients{padding-block:25px}#ok3d-3d .clients-inner{display:block}#ok3d-3d .clients-label{max-width:none;text-align:center;margin-bottom:20px}#ok3d-3d .client-list{gap:18px 25px}#ok3d-3d .client-list span{font-size:20px}#ok3d-3d .client-list .obvious{font-size:17px}#ok3d-3d .section{padding-block:65px}#ok3d-3d .section-head{display:block;margin-bottom:30px}#ok3d-3d .section-head .text-link{margin-top:25px}#ok3d-3d .section-head h2,#ok3d-3d .about h2{font-size:43px}#ok3d-3d .section-head>p{margin-top:22px}#ok3d-3d .project-grid{grid-template-columns:1fr;gap:30px}#ok3d-3d .project:first-child{grid-column:auto}#ok3d-3d .project:first-child .project-media,#ok3d-3d .project-media{aspect-ratio:4\/3}#ok3d-3d .project:first-child .project-media img{object-position:center}#ok3d-3d .project-info h3{font-size:24px}#ok3d-3d .project-label{left:15px;top:15px;font-size:11px}#ok3d-3d .project-play{right:15px;bottom:15px;width:44px;height:44px}#ok3d-3d .service{grid-template-columns:25px 1fr;gap:14px;padding-block:30px}#ok3d-3d .service-description{grid-column:2}#ok3d-3d .service h3{font-size:31px}#ok3d-3d .service-title small{margin-top:8px}#ok3d-3d .service p{font-size:15px}#ok3d-3d .about-grid,#ok3d-3d .contact-grid{grid-template-columns:1fr;gap:32px}#ok3d-3d .about-copy>p{font-size:17px}#ok3d-3d .stats{margin-top:35px}#ok3d-3d .stat{padding-inline:15px}#ok3d-3d .stat strong{font-size:37px}#ok3d-3d .stat p{font-size:12px}#ok3d-3d .tool-list{gap:12px 20px}#ok3d-3d .tool-list>span:first-child{width:100%}#ok3d-3d .method{padding-top:0}#ok3d-3d .method-grid{gap:28px 22px}#ok3d-3d .step h3{font-size:22px}#ok3d-3d .step p{font-size:14px}#ok3d-3d .contact h2{font-size:53px}#ok3d-3d .contact-note{margin-top:23px}#ok3d-3d .contact-grid{gap:45px}#ok3d-3d .form-grid{gap:24px 18px}#ok3d-3d .form-submit{align-items:start;flex-direction:column;gap:12px}#ok3d-3d .form-submit .btn{width:100%;justify-content:space-between}#ok3d-3d .footer-top{flex-wrap:wrap;padding-block:28px}#ok3d-3d .footer-tagline{width:calc(100% - 120px);font-size:12px;margin:0}#ok3d-3d .footer-top .text-link{font-size:13px}#ok3d-3d .footer-bottom{flex-direction:column;gap:10px}#ok3d-3d .video-dialog{width:96vw}#ok3d-3d .dialog-head{padding:10px 12px}#ok3d-3d .dialog-player{aspect-ratio:4\/3}#ok3d-3d .dialog-fallback{padding:10px 12px}}\n@media(prefers-reduced-motion:reduce){#ok3d-3d{scroll-behavior:auto}#ok3d-3d *,#ok3d-3d *::before,#ok3d-3d *::after{animation:none!important;transition:none!important}#ok3d-3d .reveal.pending{opacity:1;transform:none}}\n\n\/* V2 \u2014 trois exp\u00e9riences, une m\u00eame direction artistique. *\/\n@keyframes gem-levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}\n@keyframes wire-reveal{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}\n#ok3d-3d .gem-stage.in-view .gem-object{animation:gem-levitate 6s ease-in-out infinite}\n#ok3d-3d .gem-stage.draw-in .gem-wire .gw{stroke-dasharray:1;animation:wire-reveal 1.8s ease both}\n\n#ok3d-3d .expertise{background:#0b0e16;position:relative;overflow:hidden}#ok3d-3d .interactive-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#ok3d-3d .experience-card{min-width:0;position:relative;border:1px solid #ffffff20;border-radius:9px;background:linear-gradient(160deg,#141b2b,#0c111d 65%);overflow:hidden;transition:border-color .4s,box-shadow .4s}#ok3d-3d .experience-card:hover,#ok3d-3d .experience-card:focus-within{border-color:#648cff75;box-shadow:0 20px 55px #0004}#ok3d-3d .experience-top{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:.08em;color:#b1bed6}#ok3d-3d .experience-symbol{font-size:24px;color:#8daaff;line-height:1}#ok3d-3d .service-stage{height:315px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#23346755,transparent 70%);border-block:1px solid #ffffff0b}#ok3d-3d .stage-corner{position:absolute;top:14px;left:18px;font-size:10px;letter-spacing:.14em;color:#9caac7;z-index:3}#ok3d-3d .gem-stage{background:linear-gradient(#648cff09 1px,transparent 1px),linear-gradient(90deg,#648cff09 1px,transparent 1px),radial-gradient(ellipse at 50% 60%,#263b7255,transparent 70%);background-size:28px 28px,28px 28px,100% 100%}#ok3d-3d .gem-object{position:absolute;left:calc(50% - 122px);top:35px;width:244px;height:244px;transform:translateY(0)}#ok3d-3d .gem-object svg{display:block;width:244px;height:244px}#ok3d-3d .gem-wire{position:absolute;inset:0}#ok3d-3d .gem-wire .gw{fill:none;stroke:#8eaafa;stroke-width:.55}#ok3d-3d .gem-wire .gv{fill:#b5caff;stroke:#0b101c;stroke-width:.45;r:1.15}#ok3d-3d .gem-wire .gs{display:none}#ok3d-3d .gem-render{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split));filter:drop-shadow(0 8px 16px #4674ff30)}#ok3d-3d .gem-solid .gf-hi{fill:url(#chrome-high)}#ok3d-3d .gem-solid .gf-lo{fill:url(#chrome-low)}#ok3d-3d .gem-solid .gw{fill:none;stroke:#c0d4ff;stroke-width:.35;opacity:.7}#ok3d-3d .gem-solid .gv{display:none}#ok3d-3d .compare-line{position:absolute;top:38px;bottom:36px;left:calc(50% - 122px + 244px * var(--split-number,.52));width:1px;background:linear-gradient(transparent,#d5e2ff 20%,#d5e2ff 80%,transparent);pointer-events:none}#ok3d-3d .compare-line span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:28px;height:28px;display:grid;place-items:center;border:1px solid #d5e2ff;background:#19284b;border-radius:50%;color:#e4eeff;font-size:14px}#ok3d-3d .compare-labels{position:absolute;bottom:15px;left:20px;right:20px;display:flex;justify-content:space-between;color:#8ea1c8;font-size:10px;letter-spacing:.12em}#ok3d-3d .experience-control{padding:13px 22px;min-height:65px;border-bottom:1px solid #ffffff14;display:flex;align-items:center;gap:16px}#ok3d-3d .experience-control label{font-size:12px;color:#adbad3;white-space:nowrap}#ok3d-3d .experience-control input{width:100%;min-width:40px;accent-color:#8aa8ff;cursor:ew-resize;height:24px}#ok3d-3d .segmented{justify-content:center;gap:5px}#ok3d-3d .segmented button{border:1px solid transparent;background:transparent;padding:6px 16px;border-radius:4px;color:#a7b5cf;font-size:13px;min-height:36px;transition:background .25s,color .25s,border-color .25s}#ok3d-3d .segmented button[aria-pressed=\"true\"]{background:#7296ff18;color:#dce7ff;border-color:#89a7ff45}#ok3d-3d .segmented button:hover{color:white;background:#7296ff12}#ok3d-3d .experience-copy{padding:27px 24px 0}#ok3d-3d .experience-copy h3{font-size:clamp(26px,2.55vw,39px);line-height:1.13;letter-spacing:-.055em}#ok3d-3d .experience-copy p{font-size:15px;line-height:1.85;color:#a8b5cd;margin-top:20px;min-height:84px}#ok3d-3d .experience-copy .tags{gap:6px;min-height:62px;margin-top:18px;align-content:start}#ok3d-3d .experience-copy .tags span{font-size:11px;padding:3px 7px;height:max-content}#ok3d-3d .experience-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff1c;padding:20px 0;font-size:14px;margin-top:20px}#ok3d-3d .experience-link span{font-size:22px;color:#8aa8ff;transition:transform .25s}#ok3d-3d .experience-link:hover{color:#9eb8ff}#ok3d-3d .experience-link:hover span{transform:translate(3px,-3px)}\n#ok3d-3d .brand-stage{background:radial-gradient(ellipse at 50% 50%,#3a448333,transparent 65%)}#ok3d-3d .brand-symbol{position:absolute;inset:36px 0 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;transition:opacity .45s,transform .65s}#ok3d-3d .brand-symbol img{width:162px;filter:invert(1) drop-shadow(0 0 28px #739bff40)}#ok3d-3d .brand-symbol>span{font-family:var(--display);font-size:18px;letter-spacing:.27em;color:#a8bbdf}#ok3d-3d .brand-universe{position:absolute;inset:50px 21px 24px;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 38px .7fr;gap:8px;opacity:0;transform:translateY(20px) scale(.94);transition:opacity .45s,transform .6s;pointer-events:none}#ok3d-3d .brand-tile{border-radius:3px;overflow:hidden}#ok3d-3d .brand-primary{grid-row:span 3;background:#6389ff;padding:18px;display:flex;flex-direction:column;justify-content:space-between}#ok3d-3d .brand-primary img{width:70px}#ok3d-3d .brand-primary>span{font-family:var(--display);font-weight:600;font-size:clamp(16px,1.5vw,22px);line-height:1.16;letter-spacing:-.055em;color:#0b1434}#ok3d-3d .brand-type{background:#eef1ff;color:#172444;padding:8px 13px;display:flex;align-items:center;justify-content:space-between;gap:7px}#ok3d-3d .brand-type strong{font-family:var(--display);font-size:51px;font-weight:500;letter-spacing:-.07em}#ok3d-3d .brand-type span{font-size:7px;letter-spacing:.07em;max-width:48px}#ok3d-3d .brand-swatches{display:flex;gap:0}#ok3d-3d .brand-swatches i{flex:1;background:#648cff}#ok3d-3d .brand-swatches i:nth-child(2){background:#b6c8ff}#ok3d-3d .brand-swatches i:nth-child(3){background:#e9efff}#ok3d-3d .brand-swatches i:nth-child(4){background:#273c6c}#ok3d-3d .brand-note{background:#1b2743;padding:11px 14px;font-size:15px;font-family:var(--display);line-height:1.2;letter-spacing:-.025em}#ok3d-3d .brand-note span{display:block;font-family:var(--font);font-size:7px;margin-top:10px;letter-spacing:.07em;color:#9baed5}#ok3d-3d .brand-stage[data-brand=\"universe\"] .brand-symbol{opacity:0;transform:scale(.78) rotate(-8deg);pointer-events:none}#ok3d-3d .brand-stage[data-brand=\"universe\"] .brand-universe{opacity:1;transform:none}#ok3d-3d .brand-stage[data-brand=\"universe\"] .brand-tile{animation:brand-arrive .6s both}#ok3d-3d .brand-stage[data-brand=\"universe\"] .brand-type{animation-delay:.08s}#ok3d-3d .brand-stage[data-brand=\"universe\"] .brand-swatches{animation-delay:.16s}#ok3d-3d .brand-stage[data-brand=\"universe\"] .brand-note{animation-delay:.24s}@keyframes brand-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}\n#ok3d-3d .web-stage{display:flex;justify-content:center;align-items:center;padding:45px 20px 20px;background:radial-gradient(ellipse at 50% 80%,#25305c70,transparent 75%)}#ok3d-3d .demo-browser{width:100%;max-width:355px;border:1px solid #8ca3d655;border-radius:7px;background:#080d17;box-shadow:0 16px 40px #0008;overflow:hidden;transition:width .7s cubic-bezier(.2,.8,.2,1),border-radius .7s}#ok3d-3d .demo-chrome{height:23px;display:flex;justify-content:space-between;align-items:center;padding-inline:10px;background:#1b253b;color:#99a8c7;font-size:8px}#ok3d-3d .demo-chrome>span:first-child{font-size:6px;letter-spacing:1px;color:#758aaf}#ok3d-3d .demo-page{height:202px;overflow:hidden}#ok3d-3d .demo-nav{height:33px;padding:0 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff18}#ok3d-3d .demo-nav>strong{font-family:var(--display);font-size:14px;letter-spacing:-1px}#ok3d-3d .demo-nav>strong span{color:#8aa8ff}#ok3d-3d .demo-nav-links{font-size:7px;color:#aab5ca}#ok3d-3d .demo-hamburger{display:none;font-size:11px}#ok3d-3d .demo-hero{height:143px;position:relative;isolation:isolate;padding:13px 15px}#ok3d-3d .demo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}#ok3d-3d .demo-hero::before{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,#060b16ed,#060b1688);z-index:-1}#ok3d-3d .demo-hero>div{display:flex;flex-direction:column;align-items:start}#ok3d-3d .demo-hero small{font-size:6px;letter-spacing:.12em;color:#b9c9e9;margin-bottom:7px}#ok3d-3d .demo-hero strong{font-family:var(--display);font-size:25px;line-height:.98;letter-spacing:-.07em;font-weight:500}#ok3d-3d .demo-hero em{color:#a0b7ff;font-style:normal}#ok3d-3d .demo-cta{font-size:6px;background:#527df4;color:#fff;padding:4px 7px;margin-top:9px;border-radius:2px}#ok3d-3d .demo-bottom{display:flex;justify-content:space-between;gap:3px;font-size:5px;letter-spacing:.04em;padding:8px 13px;color:#b4c1dc}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-browser{width:142px;border-radius:16px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-chrome{height:21px;font-size:6px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-nav-links{display:none}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-hamburger{display:block}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-page{height:220px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-nav{padding-inline:12px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-hero{height:161px;padding:17px 12px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-hero strong{font-size:26px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-hero small{font-size:5px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-cta{margin-top:13px}#ok3d-3d .web-stage[data-device=\"mobile\"] .demo-bottom{font-size:4px;padding-inline:10px}\n#ok3d-3d .project-preview{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .55s;background:#0c101a}#ok3d-3d .project-preview.visible{opacity:1}#ok3d-3d .project-preview iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}#ok3d-3d .project-play,#ok3d-3d .project-label{z-index:2}#ok3d-3d .project-media .project-label{transition:background .3s}#ok3d-3d .project-media.preview-playing .project-label{background:#172b57dc}#ok3d-3d .project-media.preview-playing .project-play{background:#537fffaa}#ok3d-3d .method-grid{position:relative;--method-progress:0}#ok3d-3d .method-grid::before{content:\"\";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#4264c2,#a6bfff);transform:scaleX(var(--method-progress));transform-origin:left;box-shadow:0 0 12px #729cff77;transition:transform .18s linear}#ok3d-3d .step{position:relative}#ok3d-3d .step::before{content:\"\";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#283858;border:1px solid #8095c150;transition:background .35s,box-shadow .35s}#ok3d-3d .step.current::before,#ok3d-3d .step.passed::before{background:#9dbbff;box-shadow:0 0 14px #739fffaa}#ok3d-3d .step h3{transition:color .35s}#ok3d-3d .step.current h3{color:#9ab6ff}#ok3d-3d .step>span{transition:color .35s}#ok3d-3d .step.current>span{color:#c0d1ff}#ok3d-3d .hero h1{animation:hero-enter 1.1s cubic-bezier(.2,.8,.2,1) both}#ok3d-3d .hero .hero-copy{animation:hero-enter 1.1s .12s both}#ok3d-3d .hero .hero-actions{animation:hero-enter 1.1s .24s both}@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}\n@media(min-width:1100px){#ok3d-3d .experience-card:hover .brand-symbol{transform:translateY(-5px)}#ok3d-3d .experience-card:hover .brand-stage[data-brand=\"universe\"] .brand-symbol{transform:scale(.78) rotate(-8deg)}}\n@media(max-width:1100px) and (min-width:701px){#ok3d-3d .interactive-services{gap:12px}#ok3d-3d .experience-top{padding:17px 15px;font-size:10px;letter-spacing:.035em}#ok3d-3d .experience-copy{padding-inline:17px}#ok3d-3d .service-stage{height:285px}#ok3d-3d .gem-object{top:25px}#ok3d-3d .experience-control{padding-inline:12px;gap:8px;flex-wrap:wrap}#ok3d-3d .experience-control label{font-size:11px}#ok3d-3d .experience-control input{flex:1;min-width:50px}#ok3d-3d .segmented button{font-size:11px;padding-inline:10px}#ok3d-3d .experience-copy p{font-size:14px;min-height:124px}#ok3d-3d .experience-copy .tags{min-height:85px}#ok3d-3d .brand-universe{inset:50px 12px 22px;gap:6px;grid-template-columns:1fr 1fr}#ok3d-3d .brand-primary{padding:12px}#ok3d-3d .brand-primary img{width:50px}#ok3d-3d .brand-primary>span{font-size:16px}#ok3d-3d .brand-type{padding:9px}#ok3d-3d .brand-type strong{font-size:38px}#ok3d-3d .brand-type span{display:none}#ok3d-3d .brand-note{font-size:12px;padding:10px}#ok3d-3d .web-stage{padding-inline:12px}}\n@media(max-width:700px){#ok3d-3d .interactive-services{grid-template-columns:1fr;gap:24px}#ok3d-3d .experience-top{font-size:12px;padding:20px 22px}#ok3d-3d .service-stage{height:300px}#ok3d-3d .gem-object{top:26px}#ok3d-3d .experience-copy{padding:25px 24px 0}#ok3d-3d .experience-copy h3{font-size:36px}#ok3d-3d .experience-copy p{min-height:0;font-size:16px}#ok3d-3d .experience-copy .tags{min-height:0;margin-bottom:24px}#ok3d-3d .experience-link{margin-top:20px}#ok3d-3d .brand-universe{inset:47px 30px 23px}#ok3d-3d .brand-primary>span{font-size:23px}#ok3d-3d .brand-type strong{font-size:60px}#ok3d-3d .brand-note{font-size:17px}#ok3d-3d .web-stage{padding-inline:28px}#ok3d-3d .method-grid::before{display:none}#ok3d-3d .step.current{border-top-color:#88a8ff}#ok3d-3d .experience-control label{font-size:13px}#ok3d-3d .segmented button{font-size:14px;min-height:40px}}\n@media(prefers-reduced-motion:reduce){#ok3d-3d .hero h1,#ok3d-3d .hero .hero-copy,#ok3d-3d .hero .hero-actions{animation:none}#ok3d-3d .experience-card:hover .brand-symbol{transform:none}#ok3d-3d .gem-object{transform:none!important}#ok3d-3d .method-grid::before{transform:scaleX(1)}}\n\n\n\n\n\/* =========================================================\n   ELEMENTOR \/ HELLO HARDENING \u2014 V2\n   Force la typographie, les tailles et les couleurs du design\n   m\u00eame si Elementor ou le th\u00e8me applique ses propres styles.\n   ========================================================= *\/\n#ok3d-3d,\n#ok3d-3d input,\n#ok3d-3d textarea,\n#ok3d-3d select,\n#ok3d-3d button,\n#ok3d-3d a,\n#ok3d-3d p,\n#ok3d-3d span,\n#ok3d-3d small,\n#ok3d-3d label,\n#ok3d-3d strong,\n#ok3d-3d em {\n  font-family: var(--font) !important;\n}\n\n#ok3d-3d h1,\n#ok3d-3d h2,\n#ok3d-3d h3,\n#ok3d-3d .logo,\n#ok3d-3d .client-list span,\n#ok3d-3d .project-number,\n#ok3d-3d .service-num,\n#ok3d-3d .stat strong,\n#ok3d-3d .step > span,\n#ok3d-3d .brand-symbol > span,\n#ok3d-3d .brand-primary > span,\n#ok3d-3d .brand-type strong,\n#ok3d-3d .brand-note,\n#ok3d-3d .demo-nav > strong,\n#ok3d-3d .demo-hero strong {\n  font-family: var(--display) !important;\n}\n\n#ok3d-3d { color: var(--text) !important; font-size:16px !important; line-height:1.65 !important; }\n#ok3d-3d h1,#ok3d-3d h2,#ok3d-3d h3,#ok3d-3d p { margin:0 !important; padding:0; }\n#ok3d-3d h1,#ok3d-3d h2,#ok3d-3d h3 { color:var(--text) !important; font-weight:500 !important; text-transform:none !important; }\n#ok3d-3d p { color:inherit; }\n#ok3d-3d a { color:inherit !important; text-decoration:none !important; }\n#ok3d-3d button { color:inherit !important; }\n\n\/* Header *\/\n#ok3d-3d .logo { font-size:34px !important; line-height:1 !important; font-weight:700 !important; letter-spacing:-3px !important; color:var(--text) !important; }\n#ok3d-3d .logo span { color:var(--blue) !important; }\n#ok3d-3d .nav a { font-size:14px !important; line-height:1.4 !important; color:#c4cad8 !important; font-weight:400 !important; }\n#ok3d-3d .nav a:hover { color:#fff !important; }\n#ok3d-3d .header-contact { font-size:14px !important; color:var(--text) !important; }\n\n\/* Hero *\/\n#ok3d-3d .hero .kicker { font-size:13px !important; line-height:1.4 !important; letter-spacing:.14em !important; color:#c5cfe6 !important; font-weight:400 !important; }\n#ok3d-3d .hero h1 { font-size:clamp(60px,7.5vw,116px) !important; line-height:1.02 !important; letter-spacing:-.065em !important; color:var(--text) !important; font-weight:500 !important; }\n#ok3d-3d .hero h1 em { color:#92acff !important; font-style:normal !important; font-family:var(--display) !important; }\n#ok3d-3d .hero-copy { font-size:17px !important; line-height:1.8 !important; color:#bdc5d6 !important; font-weight:400 !important; }\n#ok3d-3d .btn { font-size:14px !important; line-height:1.4 !important; font-weight:700 !important; color:var(--text) !important; }\n#ok3d-3d .btn-primary { color:#fff !important; }\n#ok3d-3d .reel-trigger { font-size:14px !important; color:var(--text) !important; }\n#ok3d-3d .hero-signature { font-size:12px !important; line-height:1.65 !important; color:#b4bed0 !important; }\n#ok3d-3d .hero-controls,#ok3d-3d .scroll-link,#ok3d-3d .hero-index { color:#b4bed0 !important; }\n#ok3d-3d .hero-index { color:#d4ddf0 !important; font-size:12px !important; }\n\n\/* Clients \/ titres de sections *\/\n#ok3d-3d .clients-label { font-size:12px !important; line-height:1.7 !important; color:var(--muted) !important; }\n#ok3d-3d .client-list span { font-size:23px !important; line-height:1.2 !important; font-weight:600 !important; color:#bec3cf !important; }\n#ok3d-3d .client-list .obvious { font-size:19px !important; }\n#ok3d-3d .client-list .laposte { font-size:20px !important; }\n#ok3d-3d .section-head h2,#ok3d-3d .about h2,#ok3d-3d .contact h2 { font-size:clamp(40px,4.5vw,66px) !important; line-height:1.08 !important; letter-spacing:-.055em !important; color:var(--text) !important; }\n#ok3d-3d .section-head h2 span { color:var(--muted) !important; font-family:var(--display) !important; }\n#ok3d-3d .kicker { font-size:13px !important; color:var(--muted) !important; }\n\n\/* Projets *\/\n#ok3d-3d .project-label { font-size:12px !important; line-height:1.4 !important; color:var(--text) !important; }\n#ok3d-3d .project-info h3 { font-size:25px !important; line-height:1.2 !important; letter-spacing:-.045em !important; color:var(--text) !important; }\n#ok3d-3d .project-info p { font-size:14px !important; line-height:1.65 !important; color:var(--muted) !important; }\n#ok3d-3d .project-number { font-size:13px !important; color:var(--muted) !important; }\n\n\/* Expertises *\/\n#ok3d-3d .experience-top { color:#b1bed6 !important; }\n#ok3d-3d .experience-copy h3 { color:var(--text) !important; font-size:clamp(26px,2.55vw,39px) !important; line-height:1.13 !important; letter-spacing:-.055em !important; }\n#ok3d-3d .experience-copy p { font-size:15px !important; line-height:1.85 !important; color:#a8b5cd !important; }\n#ok3d-3d .tags span { font-size:12px !important; line-height:1.4 !important; color:#c0c7d7 !important; }\n#ok3d-3d .experience-copy .tags span { font-size:11px !important; }\n#ok3d-3d .experience-link { font-size:14px !important; color:var(--text) !important; }\n#ok3d-3d .experience-link:hover { color:#9eb8ff !important; }\n#ok3d-3d .experience-control label { color:#adbad3 !important; }\n#ok3d-3d .segmented button { color:#a7b5cf !important; }\n#ok3d-3d .segmented button[aria-pressed=\"true\"] { color:#dce7ff !important; }\n\n\/* Studio *\/\n#ok3d-3d .about-copy > p { font-size:18px !important; line-height:1.9 !important; color:#b6bed0 !important; }\n#ok3d-3d .about-copy > p + p { font-size:16px !important; color:var(--muted) !important; }\n#ok3d-3d .signature strong { font-size:16px !important; color:var(--text) !important; }\n#ok3d-3d .signature small { font-size:13px !important; color:var(--muted) !important; }\n#ok3d-3d .stat strong { font-size:48px !important; line-height:1.2 !important; font-weight:500 !important; color:var(--text) !important; }\n#ok3d-3d .stat strong span { color:var(--blue) !important; font-family:var(--display) !important; }\n#ok3d-3d .stat p { font-size:13px !important; color:var(--muted) !important; }\n#ok3d-3d .tool-list { font-size:13px !important; color:#c0c7d7 !important; }\n#ok3d-3d .tool-list > span:first-child { color:var(--muted) !important; }\n\n\/* M\u00e9thode *\/\n#ok3d-3d .step > span { font-size:13px !important; color:var(--blue) !important; }\n#ok3d-3d .step h3 { font-size:23px !important; line-height:1.2 !important; color:var(--text) !important; }\n#ok3d-3d .step p { font-size:14px !important; line-height:1.8 !important; color:var(--muted) !important; }\n\n\/* Contact \/ formulaire *\/\n#ok3d-3d .contact h2 { font-size:clamp(44px,5vw,76px) !important; }\n#ok3d-3d .contact-intro > p { color:var(--muted) !important; }\n#ok3d-3d .email-link { font-family:var(--display) !important; font-size:clamp(21px,2.2vw,30px) !important; color:var(--text) !important; }\n#ok3d-3d .contact-note { font-size:13px !important; color:#aeb9d0 !important; }\n#ok3d-3d .field label { font-size:13px !important; color:#c7cfdf !important; }\n#ok3d-3d .field input,#ok3d-3d .field select,#ok3d-3d .field textarea { font-size:16px !important; line-height:1.4 !important; color:var(--text) !important; background:transparent !important; }\n#ok3d-3d .field input::placeholder,#ok3d-3d .field textarea::placeholder { color:#838fa7 !important; opacity:1 !important; }\n#ok3d-3d .form-submit small,#ok3d-3d .form-privacy { color:#aeb9d0 !important; }\n\n\/* Footer *\/\n#ok3d-3d .footer-tagline { font-size:14px !important; color:var(--muted) !important; }\n#ok3d-3d .footer-bottom { font-size:12px !important; color:var(--muted) !important; }\n\n\/* Mobile : r\u00e9applique les valeurs originales avec !important *\/\n@media(max-width:700px){\n  #ok3d-3d .logo{font-size:31px !important}\n  #ok3d-3d .nav a{font-size:17px !important}\n  #ok3d-3d .hero h1{font-size:clamp(52px,11.4vw,79px) !important}\n  #ok3d-3d .hero-copy{font-size:16px !important}\n  #ok3d-3d .hero .kicker{font-size:11px !important}\n  #ok3d-3d .client-list span{font-size:20px !important}\n  #ok3d-3d .client-list .obvious{font-size:17px !important}\n  #ok3d-3d .section-head h2,#ok3d-3d .about h2{font-size:43px !important}\n  #ok3d-3d .project-info h3{font-size:24px !important}\n  #ok3d-3d .project-label{font-size:11px !important}\n  #ok3d-3d .experience-copy h3{font-size:36px !important}\n  #ok3d-3d .experience-copy p{font-size:16px !important}\n  #ok3d-3d .about-copy>p{font-size:17px !important}\n  #ok3d-3d .stat strong{font-size:37px !important}\n  #ok3d-3d .stat p{font-size:12px !important}\n  #ok3d-3d .step h3{font-size:22px !important}\n  #ok3d-3d .contact h2{font-size:53px !important}\n  #ok3d-3d .footer-tagline{font-size:12px !important}\n}\n\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   HEADER + BOUTONS \u2014 finition premium \/ plus vivante\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n#ok3d-3d .header{\n  position:fixed!important;\n  top:0;left:0;width:100%;\n  z-index:80;\n  background:linear-gradient(180deg,rgba(8,10,16,.18),rgba(8,10,16,0));\n  border-bottom:1px solid rgba(255,255,255,.12);\n  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;\n}\n#ok3d-3d .header.is-scrolled{\n  background:rgba(8,10,16,.72);\n  -webkit-backdrop-filter:blur(18px) saturate(145%);\n  backdrop-filter:blur(18px) saturate(145%);\n  border-bottom-color:rgba(100,140,255,.22);\n  box-shadow:0 10px 34px rgba(0,0,0,.18),0 1px 0 rgba(100,140,255,.06) inset;\n}\n#ok3d-3d .header-inner{transition:height .3s ease}\n#ok3d-3d .header.is-scrolled .header-inner{height:82px}\n\n\/* vrai logo : m\u00eame pr\u00e9sence que l'ancien mot-symbole *\/\n#ok3d-3d .logo{display:flex;align-items:center;flex-shrink:0;line-height:1}\n#ok3d-3d .logo img{display:block;width:auto;height:34px;max-width:none;object-fit:contain;transition:transform .3s ease,filter .3s ease}\n#ok3d-3d .logo:hover img{transform:translateY(-1px);filter:drop-shadow(0 0 12px rgba(100,140,255,.16))}\n\n\/* navigation : soulignement bleu anim\u00e9, tr\u00e8s discret *\/\n#ok3d-3d .nav a{position:relative;padding:10px 0;transition:color .25s ease}\n#ok3d-3d .nav a::after{\n  content:\"\";position:absolute;left:0;right:0;bottom:3px;height:1px;\n  background:linear-gradient(90deg,transparent,var(--blue),transparent);\n  transform:scaleX(0);transform-origin:center;opacity:.85;\n  transition:transform .28s cubic-bezier(.2,.8,.2,1);\n}\n#ok3d-3d .nav a:hover::after,#ok3d-3d .nav a:focus-visible::after{transform:scaleX(1)}\n\n\/* CTA du header : plus premium sans devenir flashy *\/\n#ok3d-3d .header-contact{\n  position:relative;overflow:hidden;\n  border-color:rgba(130,164,255,.38);\n  background:linear-gradient(135deg,rgba(100,140,255,.10),rgba(100,140,255,.025));\n  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);\n  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;\n}\n#ok3d-3d .header-contact::before{\n  content:\"\";position:absolute;inset:-60% auto -60% -35%;width:28%;\n  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);\n  transform:skewX(-18deg) translateX(-220%);transition:transform .65s ease;pointer-events:none;\n}\n#ok3d-3d .header-contact:hover{\n  transform:translateY(-1px);\n  border-color:rgba(132,166,255,.72);\n  background:linear-gradient(135deg,rgba(100,140,255,.17),rgba(100,140,255,.045));\n  box-shadow:0 8px 28px rgba(48,78,166,.12),inset 0 0 0 1px rgba(255,255,255,.035);\n}\n#ok3d-3d .header-contact:hover::before{transform:skewX(-18deg) translateX(620%)}\n\n\/* boutons : plus de mati\u00e8re et micro-mouvement *\/\n#ok3d-3d .btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease}\n#ok3d-3d .btn::before{\n  content:\"\";position:absolute;inset:0;z-index:-1;\n  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.10) 48%,transparent 75%);\n  transform:translateX(-130%);transition:transform .55s ease;\n}\n#ok3d-3d .btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.16)}\n#ok3d-3d .btn:hover::before{transform:translateX(130%)}\n#ok3d-3d .btn-primary{box-shadow:0 8px 24px rgba(83,127,255,.14)}\n#ok3d-3d .btn-primary:hover{box-shadow:0 12px 34px rgba(83,127,255,.25)}\n#ok3d-3d .btn .arrow{transition:transform .3s cubic-bezier(.2,.8,.2,1)}\n#ok3d-3d .btn:hover .arrow{transform:translate(4px,-4px)}\n\n\/* lien texte : accent anim\u00e9 au lieu d'un simple changement de couleur *\/\n#ok3d-3d .text-link{position:relative;border-bottom-color:rgba(255,255,255,.18)}\n#ok3d-3d .text-link::after{content:\"\";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}\n#ok3d-3d .text-link:hover::after{transform:scaleX(1)}\n\n@media(max-width:1000px){\n  #ok3d-3d .logo img{height:33px}\n}\n@media(max-width:700px){\n  #ok3d-3d .logo img{height:31px}\n  #ok3d-3d .header.is-scrolled .header-inner{height:72px}\n  #ok3d-3d .header .nav{top:78px}\n  #ok3d-3d .header.is-scrolled .nav{top:72px}\n  #ok3d-3d .nav a::after{display:none}\n}\n@media(prefers-reduced-motion:reduce){\n  #ok3d-3d .header,#ok3d-3d .header-inner,#ok3d-3d .logo img,#ok3d-3d .nav a::after,#ok3d-3d .header-contact,#ok3d-3d .header-contact::before,#ok3d-3d .btn,#ok3d-3d .btn::before{transition:none!important}\n}\n\n\n#ok3d-3d [hidden]{display:none!important}\n#ok3d-3d [id]{scroll-margin-top:112px}\n#ok3d-3d{overflow:clip;isolation:isolate}\n#ok3d-3d .header{background:#080a10b8!important;backdrop-filter:blur(12px)}\n#ok3d-3d .header .logo img{width:auto!important;height:34px!important;max-width:145px!important}\n#ok3d-3d .nav{gap:25px}\n#ok3d-3d .nav a[aria-current=\"page\"]{color:#a8bfff!important}\n#ok3d-3d .nav a[aria-current=\"page\"]::after{transform:scaleX(1)}\n#ok3d-3d .header-inner{min-height:82px}\n#ok3d-3d .menu-toggle{min-height:42px;padding-inline:15px}\n#ok3d-3d .accent-line{color:#92acff!important;font-family:var(--display)!important}\n#ok3d-3d .subtext{color:#aebbd2!important;font-size:17px!important;line-height:1.85!important;margin-top:24px!important;max-width:600px}\n#ok3d-3d .expert-hero{\n  padding:170px 0 70px;\n  position:relative;\n  overflow:hidden;\n  isolation:isolate;\n  border-bottom:1px solid var(--line);\n  background:#080a10;\n}\n#ok3d-3d .expert-hero::before{\n  content:\"\";\n  position:absolute;\n  z-index:0;\n  width:88%;\n  aspect-ratio:1.35;\n  right:-20%;\n  top:-34%;\n  pointer-events:none;\n  background:\n    radial-gradient(\n      ellipse at center,\n      rgba(77,109,190,.30) 0%,\n      rgba(51,78,146,.19) 30%,\n      rgba(31,48,91,.08) 52%,\n      transparent 72%\n    );\n  filter:blur(20px);\n  opacity:.92;\n  transform:translate3d(0,0,0) scale(1);\n  animation:ok3d-3d-halo-drift 18s cubic-bezier(.45,.05,.55,.95) infinite alternate;\n  will-change:transform;\n}\n#ok3d-3d .expert-hero>.wrap{\n  position:relative;\n  z-index:1;\n}\n@keyframes ok3d-3d-halo-drift{\n  0%{\n    transform:translate3d(0,0,0) scale(1);\n  }\n  45%{\n    transform:translate3d(-5%,5%,0) scale(1.055);\n  }\n  100%{\n    transform:translate3d(-11%,1%,0) scale(.985);\n  }\n}\n#ok3d-3d .expert-hero-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}\n#ok3d-3d .expert-title{font-size:clamp(52px,5.65vw,84px)!important;line-height:1.04!important;letter-spacing:-.065em!important;margin-top:24px!important;overflow-wrap:normal}\n#ok3d-3d .expert-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:32px}\n#ok3d-3d .expert-visual{min-width:0;position:relative;border:1px solid #ffffff25;border-radius:7px;background:#0d1423;overflow:hidden;box-shadow:0 25px 75px #0004}\n#ok3d-3d .visual-header{display:flex;justify-content:space-between;gap:15px;padding:14px 19px;border-bottom:1px solid #ffffff16;font-size:12px;color:#9eafd0}\n#ok3d-3d .visual-header span{font-size:12px!important;letter-spacing:.07em}\n#ok3d-3d .expert-picture{height:405px;position:relative;background:#111828;overflow:hidden;display:flex;align-items:center;justify-content:center}\n#ok3d-3d .expert-picture img{width:100%;height:100%;object-fit:cover;transition:opacity .3s,transform .7s}\n#ok3d-3d .expert-picture img.contain{object-fit:contain;padding:25px}\n#ok3d-3d .visual-tabs{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;border-top:1px solid #ffffff17;padding:12px}\n#ok3d-3d .visual-tabs button{background:transparent;border:1px solid transparent;border-radius:3px;padding:8px 13px;font-size:13px;min-height:39px;color:#aebeda!important}\n#ok3d-3d .visual-tabs button[aria-pressed=\"true\"]{background:#6e93ff18;border-color:#91acff42;color:#e2ebff!important}\n#ok3d-3d .visual-caption{padding:16px 19px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#c5d3ed}\n#ok3d-3d .visual-caption button{background:none;border:0;padding:4px;color:#aac1ff!important;font-size:13px}\n#ok3d-3d .expert-strip{display:flex;gap:25px;flex-wrap:wrap;padding-top:38px;color:#9aacce;font-size:12px;letter-spacing:.08em}\n#ok3d-3d .expert-strip span+span{border-left:1px solid #ffffff25;padding-left:25px}\n#ok3d-3d .section-head h2{margin-top:18px!important}\n#ok3d-3d .section-head>p{max-width:370px;color:#aebbd2!important;font-size:16px;line-height:1.85}\n#ok3d-3d .offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line)}\n#ok3d-3d .offer{padding:32px 25px 10px 0;min-width:0}\n#ok3d-3d .offer .offer-number{font-family:var(--display)!important;color:#90aeff;font-size:13px}\n#ok3d-3d .offer h3{font-size:29px!important;line-height:1.18!important;letter-spacing:-.045em!important;margin-top:27px!important}\n#ok3d-3d .offer p{font-size:16px!important;line-height:1.8!important;color:#a7b5ce!important;margin-top:17px!important}\n#ok3d-3d .offer ul{list-style:none;margin:22px 0 0;padding:0}\n#ok3d-3d .offer li{border-top:1px solid #ffffff14;padding:9px 0;color:#becbe0;font-size:14px;line-height:1.6}\n#ok3d-3d .selected-section{background:#0d121d;border-block:1px solid #ffffff18}\n#ok3d-3d .selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}\n#ok3d-3d .selected-card{min-width:0;border:1px solid #ffffff1a;border-radius:5px;background:#0a0f19;overflow:hidden;transition:border-color .3s,transform .3s}\n#ok3d-3d .selected-card:hover{border-color:#8faeff88;transform:translateY(-4px)}\n#ok3d-3d .selected-card a{display:block;height:100%}\n#ok3d-3d .selected-media{height:275px;position:relative;background:#151e2e;overflow:hidden}\n#ok3d-3d .selected-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}\n#ok3d-3d .selected-media.contain img{object-fit:contain;padding:24px}\n#ok3d-3d .selected-card:hover img{transform:scale(1.035)}\n#ok3d-3d .selected-media span{position:absolute;bottom:15px;right:15px;background:#080e1bc9;border:1px solid #ffffff65;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:white}\n#ok3d-3d .selected-copy{padding:22px}\n#ok3d-3d .selected-copy small{color:#9bb1d9;font-size:12px;line-height:1.65;display:block}\n#ok3d-3d .selected-copy h3{font-size:25px!important;line-height:1.2!important;letter-spacing:-.04em!important;margin-top:10px!important}\n#ok3d-3d .selected-copy p{color:#9eadc6!important;font-size:14px!important;line-height:1.75!important;margin-top:12px!important}\n#ok3d-3d .approach-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:85px;align-items:start}\n#ok3d-3d .approach-heading{position:sticky;top:125px}\n#ok3d-3d .approach-heading h2{font-size:clamp(36px,4vw,56px)!important;line-height:1.09!important;letter-spacing:-.055em!important;margin-top:22px!important}\n#ok3d-3d .approach-step{display:grid;grid-template-columns:40px 1fr;gap:23px;border-top:1px solid #ffffff24;padding:26px 0}\n#ok3d-3d .approach-step>span{font-size:13px;color:#8faeff;font-family:var(--display)!important;padding-top:4px}\n#ok3d-3d .approach-step h3{font-size:25px!important;line-height:1.25!important;letter-spacing:-.035em!important}\n#ok3d-3d .approach-step p{font-size:15px!important;line-height:1.85!important;color:#a5b5ce!important;margin-top:10px!important}\n#ok3d-3d .contact h2{margin-top:22px!important;margin-bottom:25px!important}\n#ok3d-3d .contact-intro>p:not(.kicker){font-size:16px!important;line-height:1.85!important;color:#a9b9d3!important}\n#ok3d-3d .form-grid{gap:26px 22px}\n#ok3d-3d .field input,#ok3d-3d .field select,#ok3d-3d .field textarea{box-shadow:none!important;border:0!important;border-bottom:1px solid #ffffff40!important;border-radius:0!important;padding:12px 0 15px!important;min-height:49px}\n#ok3d-3d .field textarea{min-height:115px}\n#ok3d-3d .form-status{margin-top:16px!important;line-height:1.8!important}\n#ok3d-3d .form-status.error{color:#ffc4c4!important}\n#ok3d-3d .form-status.success{color:#b6d3ff!important}\n#ok3d-3d .form-privacy{margin-top:18px!important;font-size:12px!important}\n#ok3d-3d .form-status a{text-decoration:underline!important}\n#ok3d-3d .field input::placeholder,#ok3d-3d .field textarea::placeholder{color:#96a7c4!important}\n#ok3d-3d .page-dialog{width:min(1100px,94vw);max-width:none;max-height:91svh;margin:auto;padding:0;border:1px solid #819acc6b;border-radius:7px;overflow:auto;background:#0b111e;color:#edf2ff;box-shadow:0 30px 100px #0009}\n#ok3d-3d .page-dialog::backdrop{background:#020510ed;backdrop-filter:blur(12px)}\n#ok3d-3d .dialog-top{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#0c1220ed;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff20;padding:13px 20px}\n#ok3d-3d .dialog-top>span{font-size:12px;color:#abbeda;letter-spacing:.1em}\n#ok3d-3d .close-dialog{border:1px solid #ffffff40;border-radius:3px;background:transparent;width:42px;height:42px;flex-shrink:0;font-size:25px}\n#ok3d-3d .modal-media{height:min(53svh,540px);background:#080b12;display:flex;align-items:center;justify-content:center}\n#ok3d-3d .modal-media iframe,#ok3d-3d .modal-media img{width:100%;height:100%;object-fit:contain;border:0;display:block}\n#ok3d-3d .modal-copy{padding:30px 35px}\n#ok3d-3d .modal-tag{font-size:12px!important;letter-spacing:.08em!important;color:#97b0db!important;text-transform:uppercase}\n#ok3d-3d .modal-title{font-size:clamp(30px,3.1vw,44px)!important;line-height:1.15!important;letter-spacing:-.045em!important;margin-top:12px!important}\n#ok3d-3d .modal-desc{font-size:17px!important;line-height:1.85!important;color:#aebed6!important;margin-top:20px!important}\n#ok3d-3d .modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}\n#ok3d-3d .modal-nav{padding:18px 30px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;gap:18px}\n#ok3d-3d .modal-nav button{background:none;border:0;padding:6px 0;color:#b6cbed!important;font-size:14px}\n#ok3d-3d .modal-nav span{font-size:12px;color:#a4b9da}\n#ok3d-3d .other-expertises{border-top:1px solid #ffffff1a;padding:28px 0}\n#ok3d-3d .other-expertises .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}\n#ok3d-3d .other-expertises a{font-size:14px;color:#b6c9ed!important;border-bottom:1px solid #7298ff55;padding-bottom:5px}\n#ok3d-3d .reveal{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}\n#ok3d-3d .reveal.pending{opacity:0;transform:translateY(20px)}\n#ok3d-3d .site-demo{padding:20px;width:100%;display:flex;justify-content:center;align-items:center;height:405px;background:radial-gradient(ellipse at 60% 75%,#2b427c66,transparent 75%)}\n#ok3d-3d .site-window{width:100%;border:1px solid #adc3ee66;border-radius:8px;overflow:hidden;background:#080d18;transition:width .6s cubic-bezier(.2,.8,.2,1),border-radius .6s;box-shadow:0 20px 45px #0007}\n#ok3d-3d .site-window-bar{height:28px;padding:0 12px;background:#1d2941;display:flex;justify-content:space-between;align-items:center;color:#a7b8d4;font-size:10px}\n#ok3d-3d .site-window-nav{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}\n#ok3d-3d .site-window-nav img{width:65px;height:auto}\n#ok3d-3d .site-window-nav>span{font-size:9px;color:#b4c2d8}\n#ok3d-3d .site-window-content{position:relative;isolation:isolate;height:235px;padding:22px;overflow:hidden}\n#ok3d-3d .site-window-content>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}\n#ok3d-3d .site-window-content::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050b17e8,#050b1770);z-index:-1}\n#ok3d-3d .site-window-content small{font-size:8px;color:#c0cee9;letter-spacing:.08em}\n#ok3d-3d .site-window-content strong{display:block;font-family:var(--display)!important;font-size:43px;line-height:1.02;letter-spacing:-.065em;margin-top:15px}\n#ok3d-3d .site-window-content strong em{color:#99b4ff;font-family:var(--display)!important;font-style:normal}\n#ok3d-3d .site-window-content .mini-cta{display:inline-block;font-size:9px;padding:7px 10px;background:#537fff;border-radius:3px;margin-top:20px}\n#ok3d-3d .site-demo[data-format=\"mobile\"] .site-window{width:200px;border-radius:18px}\n#ok3d-3d .site-demo[data-format=\"mobile\"] .site-window-nav{padding-inline:15px}\n#ok3d-3d .site-demo[data-format=\"mobile\"] .site-window-nav>span{display:none}\n#ok3d-3d .site-demo[data-format=\"mobile\"] .site-window-content{padding:22px 15px}\n#ok3d-3d .site-demo[data-format=\"mobile\"] .site-window-content strong{font-size:36px}\n#ok3d-3d .site-demo[data-format=\"mobile\"] .site-window-nav::after{content:'\u2630';font-size:15px}\n#ok3d-3d .portfolio-intro{padding:165px 0 65px;border-bottom:1px solid #ffffff20;background:radial-gradient(ellipse at 85% 15%,#23396655,transparent 65%)}\n#ok3d-3d .portfolio-intro .wrap{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:end}\n#ok3d-3d .portfolio-intro h1{font-size:clamp(56px,6.7vw,96px)!important;line-height:1.04!important;letter-spacing:-.065em!important;margin-top:22px!important}\n#ok3d-3d .portfolio-meta{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid #ffffff22;padding-top:22px;margin-top:25px;font-size:13px;color:#9fb1d1}\n#ok3d-3d .portfolio-meta strong{font-family:var(--display)!important;color:#e1ebff;font-size:27px;margin-right:8px}\n#ok3d-3d .filter-bar{position:sticky;top:82px;z-index:15;border-bottom:1px solid #ffffff1b;background:#080a10ed;backdrop-filter:blur(20px)}\n#ok3d-3d .filter-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;padding-bottom:16px}\n#ok3d-3d .filters{display:flex;flex-wrap:wrap;gap:5px}\n#ok3d-3d .filters button{padding:10px 14px;min-height:42px;background:none;border:1px solid transparent;border-radius:4px;color:#a9bad5!important;font-size:14px}\n#ok3d-3d .filters button span{font-size:11px;opacity:.65;margin-left:8px}\n#ok3d-3d .filters button[aria-pressed=\"true\"]{background:#7498ff1b;border-color:#759bff66;color:#e0eaff!important}\n#ok3d-3d .result-count{font-size:12px!important;color:#9eb1d2!important;white-space:nowrap}\n#ok3d-3d .portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px 24px;padding-top:38px;padding-bottom:75px;align-items:stretch}\n#ok3d-3d .portfolio-card{grid-column:span 4;min-width:0;border:1px solid #ffffff18;border-radius:6px;background:#0d1320;overflow:hidden;transition:border-color .35s,box-shadow .35s}\n#ok3d-3d .portfolio-card[data-shape=\"feature\"]{grid-column:span 7}\n#ok3d-3d .portfolio-card[data-shape=\"portrait\"]{grid-column:span 5}\n#ok3d-3d .portfolio-card[data-shape=\"full\"]{grid-column:span 12}\n#ok3d-3d .portfolio-card[data-shape=\"half\"]{grid-column:span 6}\n#ok3d-3d .portfolio-card:hover{border-color:#81a3ff88;box-shadow:0 15px 50px #0004}\n#ok3d-3d .portfolio-card>a{display:flex;flex-direction:column;height:100%}\n#ok3d-3d .p-media{height:280px;position:relative;overflow:hidden;background:#141d2e}\n#ok3d-3d .portfolio-card[data-shape=\"feature\"] .p-media,#ok3d-3d .portfolio-card[data-shape=\"portrait\"] .p-media{height:390px}\n#ok3d-3d .portfolio-card[data-shape=\"full\"] .p-media{height:430px}\n#ok3d-3d .p-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}\n#ok3d-3d .portfolio-card:hover .p-media img{transform:scale(1.035)}\n#ok3d-3d .p-kind{position:absolute;top:16px;left:16px;max-width:calc(100% - 32px);font-size:11px;padding:6px 10px;background:#080f20d9;border:1px solid #ffffff30;border-radius:3px;backdrop-filter:blur(12px);color:#d5e2fa;z-index:2}\n#ok3d-3d .p-open{position:absolute;bottom:16px;right:16px;width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;background:#0b1325ab;backdrop-filter:blur(10px);font-size:24px;transition:transform .3s,background .3s;z-index:2}\n#ok3d-3d .portfolio-card:hover .p-open{transform:rotate(45deg);background:#547eff}\n#ok3d-3d .p-film{position:absolute;bottom:22px;left:17px;padding:5px 9px;border-radius:3px;background:#080e1ac9;font-size:11px;color:white}\n#ok3d-3d .p-copy{padding:23px;flex:1}\n#ok3d-3d .p-tag{font-size:11px!important;letter-spacing:.07em!important;line-height:1.6!important;text-transform:uppercase;color:#95abd2!important}\n#ok3d-3d .p-copy h2{font-size:24px!important;line-height:1.22!important;letter-spacing:-.045em!important;margin-top:10px!important}\n#ok3d-3d .p-copy .p-desc{font-size:14px!important;line-height:1.8!important;color:#a6b6ce!important;margin-top:13px!important}\n#ok3d-3d .text-card .p-media{display:flex;flex-direction:column;justify-content:center;padding:50px 30px 35px;background:linear-gradient(130deg,#203250,#0c1422);border-bottom:1px solid #ffffff15}\n#ok3d-3d .type-project{font-family:var(--display)!important;font-size:clamp(34px,3.5vw,54px);line-height:1;letter-spacing:-.065em;color:#baccf0;overflow-wrap:anywhere}\n#ok3d-3d .type-sub{font-size:12px;letter-spacing:.14em;color:#7f9cc9;margin-top:24px}\n#ok3d-3d .portfolio-cta{padding:75px 0;background:radial-gradient(ellipse at 90% 100%,#22396166,transparent 65%),#0d1420;border-block:1px solid #ffffff1c}\n#ok3d-3d .portfolio-cta .wrap{display:flex;justify-content:space-between;gap:40px;align-items:center}\n#ok3d-3d .portfolio-cta h2{font-size:clamp(36px,4.1vw,60px)!important;line-height:1.12!important;letter-spacing:-.055em!important;margin-top:20px!important}\n#ok3d-3d .portfolio-cta p:not(.kicker){margin-top:20px!important;color:#b1c1d8!important;line-height:1.8!important;font-size:16px!important}\n#ok3d-3d .header .nav a{white-space:nowrap}\n@media(min-width:1001px){#ok3d-3d .header .menu-toggle{display:none}}\n@media(max-width:1100px){#ok3d-3d .expert-hero-inner{gap:38px}#ok3d-3d .expert-title{font-size:clamp(46px,5.5vw,66px)!important}#ok3d-3d .expert-picture,#ok3d-3d .site-demo{height:350px}#ok3d-3d .selected-media{height:230px}#ok3d-3d .p-media{height:240px}#ok3d-3d .portfolio-card[data-shape=\"feature\"] .p-media,#ok3d-3d .portfolio-card[data-shape=\"portrait\"] .p-media{height:330px}#ok3d-3d .p-copy{padding:19px}#ok3d-3d .p-copy h2{font-size:22px!important}}\n@media(max-width:1000px){#ok3d-3d .header .nav{display:none;position:absolute;top:94px;left:0;right:0;padding:18px var(--gutter);background:#0c1322f5;border-bottom:1px solid #ffffff25;backdrop-filter:blur(18px);flex-direction:column;align-items:stretch;gap:0}#ok3d-3d .header .nav.open{display:flex}#ok3d-3d .header .nav a{font-size:17px!important;padding-block:12px}#ok3d-3d .header.is-scrolled .nav{top:82px}#ok3d-3d .header .menu-toggle{display:block}#ok3d-3d .header-contact{display:none}#ok3d-3d .expert-hero-inner{grid-template-columns:1fr;gap:42px}#ok3d-3d .expert-title{font-size:clamp(52px,8.5vw,80px)!important}#ok3d-3d .expert-visual{max-width:690px;width:100%}#ok3d-3d .expert-picture,#ok3d-3d .site-demo{height:430px}#ok3d-3d .offer-grid{gap:20px}#ok3d-3d .offer{padding-right:5px}#ok3d-3d .offer h3{font-size:25px!important}#ok3d-3d .approach-grid{gap:50px}#ok3d-3d .portfolio-intro .wrap{gap:35px}#ok3d-3d .portfolio-intro h1{font-size:clamp(50px,7vw,72px)!important}}\n@media(max-width:800px){#ok3d-3d .portfolio-intro .wrap{grid-template-columns:1fr;gap:28px}#ok3d-3d .portfolio-intro{padding-top:150px}#ok3d-3d .portfolio-intro .subtext{max-width:590px}#ok3d-3d .filter-inner{display:block}#ok3d-3d .result-count{margin-top:10px!important}#ok3d-3d .portfolio-card,#ok3d-3d .portfolio-card[data-shape=\"feature\"],#ok3d-3d .portfolio-card[data-shape=\"portrait\"],#ok3d-3d .portfolio-card[data-shape=\"half\"]{grid-column:span 6}#ok3d-3d .portfolio-card[data-shape=\"full\"]{grid-column:span 12}#ok3d-3d .portfolio-card .p-media,#ok3d-3d .portfolio-card[data-shape] .p-media{height:280px}#ok3d-3d .portfolio-card[data-shape=\"full\"] .p-media{height:350px}#ok3d-3d .selected-grid{grid-template-columns:1fr 1fr}#ok3d-3d .selected-card:last-child{grid-column:span 2}#ok3d-3d .selected-card:last-child .selected-media{height:320px}}\n@media(max-width:700px){#ok3d-3d .header-inner{min-height:72px;height:78px}#ok3d-3d .header .logo img{height:31px!important;max-width:132px!important}#ok3d-3d .header .nav{top:78px}#ok3d-3d .header.is-scrolled .nav{top:72px}#ok3d-3d .header .nav a::after{display:none}#ok3d-3d .expert-hero{padding-top:130px;padding-bottom:45px}#ok3d-3d .expert-title{font-size:clamp(42px,10.6vw,67px)!important}#ok3d-3d .subtext{font-size:16px!important;margin-top:22px!important}#ok3d-3d .expert-actions{gap:12px}#ok3d-3d .expert-actions .btn{padding-inline:19px;gap:20px}#ok3d-3d .expert-picture,#ok3d-3d .site-demo{height:340px}#ok3d-3d .expert-strip{font-size:11px;gap:15px;padding-top:25px}#ok3d-3d .expert-strip span+span{padding-left:15px}#ok3d-3d .section-head h2{font-size:clamp(34px,10vw,43px)!important}#ok3d-3d .section-head>p{margin-top:20px!important}#ok3d-3d .offer-grid{grid-template-columns:1fr;gap:0}#ok3d-3d .offer{padding:30px 0;border-bottom:1px solid #ffffff18}#ok3d-3d .offer h3{font-size:29px!important;margin-top:17px!important}#ok3d-3d .selected-grid{display:block}#ok3d-3d .selected-card{margin-bottom:22px}#ok3d-3d .selected-card .selected-media,#ok3d-3d .selected-card:last-child .selected-media{height:280px}#ok3d-3d .approach-grid{grid-template-columns:1fr;gap:30px}#ok3d-3d .approach-heading{position:static}#ok3d-3d .approach-heading h2{font-size:43px!important}#ok3d-3d .approach-step{gap:16px}#ok3d-3d .form-grid{grid-template-columns:1fr}#ok3d-3d .field.full{grid-column:auto}#ok3d-3d .contact h2{font-size:clamp(38px,11vw,53px)!important}#ok3d-3d .contact-grid{gap:40px}#ok3d-3d .page-dialog{width:96vw;max-height:94svh}#ok3d-3d .modal-media{height:34svh;min-height:175px}#ok3d-3d .modal-copy{padding:25px 22px}#ok3d-3d .modal-title{font-size:30px!important}#ok3d-3d .modal-desc{font-size:16px!important}#ok3d-3d .modal-actions{flex-direction:column}#ok3d-3d .modal-nav{padding:14px 18px;gap:12px}#ok3d-3d .modal-nav button{font-size:12px}#ok3d-3d .dialog-top{padding:10px 15px}#ok3d-3d .dialog-top>span{font-size:10px}#ok3d-3d .portfolio-intro{padding-top:128px;padding-bottom:40px}#ok3d-3d .portfolio-intro h1{font-size:clamp(45px,12vw,68px)!important}#ok3d-3d .filter-bar{top:72px}#ok3d-3d .filters button{font-size:12px;padding:8px 10px;min-height:38px}#ok3d-3d .filter-inner{padding-block:12px}#ok3d-3d .portfolio-cta .wrap{align-items:start;flex-direction:column}#ok3d-3d .portfolio-cta{padding-block:55px}#ok3d-3d .site-window-content strong{font-size:39px}}\n@media(max-width:540px){#ok3d-3d .portfolio-grid{display:block;padding-top:25px;padding-bottom:40px}#ok3d-3d .portfolio-card{margin-bottom:24px}#ok3d-3d .portfolio-card .p-media,#ok3d-3d .portfolio-card[data-shape] .p-media{height:auto;aspect-ratio:1.22}#ok3d-3d .p-copy{padding:23px}#ok3d-3d .p-copy h2{font-size:24px!important}#ok3d-3d .p-copy .p-desc{font-size:15px!important}#ok3d-3d .type-project{font-size:45px}#ok3d-3d .portfolio-meta{gap:20px}#ok3d-3d .visual-tabs button{font-size:12px;padding-inline:11px}#ok3d-3d .visual-caption{padding-inline:15px;gap:10px}#ok3d-3d .visual-caption>span{font-size:12px}#ok3d-3d .visual-caption button{font-size:12px}#ok3d-3d .expert-picture{height:300px}}\n@media(max-width:359px){#ok3d-3d .expert-title{font-size:40px!important}#ok3d-3d .expert-picture,#ok3d-3d .site-demo{height:290px}#ok3d-3d .visual-header{padding-inline:14px}#ok3d-3d .visual-header span{font-size:10px!important}#ok3d-3d .site-window-content{padding:18px 14px}#ok3d-3d .site-window-content strong{font-size:32px}#ok3d-3d .expert-strip{gap:9px}#ok3d-3d .expert-strip span+span{padding-left:9px}#ok3d-3d .footer-tagline{width:100%}#ok3d-3d .other-expertises .wrap{flex-direction:column}}\n@media(prefers-reduced-motion:reduce){#ok3d-3d *,#ok3d-3d *::before,#ok3d-3d *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#ok3d-3d .reveal.pending{opacity:1;transform:none}}\n<\/style>\n<script>(()=>{'use strict';\nconst root=document.getElementById('ok3d-3d');if(!root||root.dataset.initialized)return;root.dataset.initialized='true';\nconst $=s=>root.querySelector(s),$$=s=>[...root.querySelectorAll(s)];\nconst data=JSON.parse($('[data-projects]').textContent),reduced=matchMedia('(prefers-reduced-motion: reduce)');\n$$('[data-year]').forEach(el=>el.textContent=new Date().getFullYear());\nif('IntersectionObserver'in window&&!reduced.matches){const observer=new IntersectionObserver(entries=>entries.forEach(entry=>{if(entry.isIntersecting){entry.target.classList.remove('pending');observer.unobserve(entry.target);}}),{threshold:.06});$$('.reveal').forEach(el=>{el.classList.add('pending');observer.observe(el);});}\n\n$$('[data-visual]').forEach(button=>button.addEventListener('click',()=>{const p=data.find(p=>p.slug===button.dataset.visual);if(!p)return;$$('[data-visual]').forEach(b=>b.setAttribute('aria-pressed',String(b===button)));const img=$('[data-hero-image]');img.src=p.image;img.alt=p.title;img.classList.toggle('contain',['orora','be2be'].includes(p.slug));$('[data-caption]').textContent=p.title;const film=$('[data-hero-film]');film.hidden=!p.video;film.dataset.open=p.slug;}));\n$$('[data-format-button]').forEach(button=>button.addEventListener('click',()=>{$('.site-demo').dataset.format=button.dataset.formatButton;$$('[data-format-button]').forEach(b=>b.setAttribute('aria-pressed',String(b===button)));}));\nlet activeFilter='all',currentSlug=null,previousOverflow='',opener=null;\nconst dialog=$('.page-dialog'),media=$('.modal-media');\nconst visible=()=>data.filter(p=>activeFilter==='all'||p.cat.includes(activeFilter));\nfunction renderProject(slug){const p=data.find(p=>p.slug===slug);if(!p)return false;currentSlug=slug;$('.modal-title').textContent=p.title;$('.modal-desc').textContent=p.desc;$('.modal-tag').textContent=p.tag;media.replaceChildren();media.hidden=!p.image;if(p.image){const img=document.createElement('img');img.src=p.image;img.alt=p.title;media.append(img);}const film=$('[data-film]');film.hidden=!p.video;film.href=p.video?'https:\/\/vimeo.com\/'+p.video:'#';const detail=$('[data-detail]');detail.hidden=!p.external;detail.href=p.external||'#';const list=visible(),index=list.findIndex(q=>q.slug===slug);$('[data-position]').textContent=(index+1)+' \/ '+list.length;dialog.scrollTop=0;return true;}\nfunction openProject(slug,trigger,updateURL=true){if(!renderProject(slug))return;if(!dialog.open){opener=trigger||document.activeElement;previousOverflow=document.body.style.overflow;document.body.style.overflow='hidden';dialog.showModal();}if(root.dataset.kind==='portfolio'&&updateURL)history.replaceState(null,'','#'+slug);}\nfunction restore(){media.replaceChildren();document.body.style.overflow=previousOverflow;if(root.dataset.kind==='portfolio'&&data.some(p=>'#'+p.slug===location.hash))history.replaceState(null,'',location.pathname+location.search);if(opener&&opener.isConnected)opener.focus({preventScroll:true});}\ndialog.addEventListener('close',restore);$('.close-dialog').addEventListener('click',()=>dialog.close());dialog.addEventListener('click',e=>{if(e.target===dialog){const b=dialog.getBoundingClientRect();if(e.clientX<b.left||e.clientX>b.right||e.clientY<b.top||e.clientY>b.bottom)dialog.close();}});\nroot.addEventListener('click',e=>{const trigger=e.target.closest('[data-open]');if(!trigger)return;e.preventDefault();openProject(trigger.dataset.open,trigger);});\nfunction adjacent(direction){const list=visible(),i=list.findIndex(p=>p.slug===currentSlug);const p=list[(i+direction+list.length)%list.length];openProject(p.slug,opener);}\n$('[data-prev]').addEventListener('click',()=>adjacent(-1));$('[data-next]').addEventListener('click',()=>adjacent(1));dialog.addEventListener('keydown',e=>{if(e.key==='ArrowLeft'||e.key==='ArrowRight'){e.preventDefault();adjacent(e.key==='ArrowLeft'?-1:1);}});\n$('[data-film]').addEventListener('click',e=>{e.preventDefault();const p=data.find(p=>p.slug===currentSlug);if(!p?.video)return;media.hidden=false;const frame=document.createElement('iframe');frame.src='https:\/\/player.vimeo.com\/video\/'+p.video+'?autoplay=1&dnt=1';frame.title=p.title+' \u2014 film';frame.allow='autoplay; fullscreen; picture-in-picture';frame.allowFullscreen=true;media.replaceChildren(frame);});\n$$('[data-filter]').forEach(button=>button.addEventListener('click',()=>{activeFilter=button.dataset.filter;$$('[data-filter]').forEach(b=>b.setAttribute('aria-pressed',String(b===button)));$$('.portfolio-card').forEach(card=>{card.hidden=activeFilter!=='all'&&!card.dataset.categories.split(' ').includes(activeFilter);card.classList.remove('pending');if(activeFilter!=='all')card.dataset.shape='half';else card.dataset.shape=card.dataset.originalShape;});$('[data-count]').textContent=visible().length+' projets';}));\nif(root.dataset.kind==='portfolio'){const hash=()=>{let slug;try{slug=decodeURIComponent(location.hash.slice(1));}catch{return;}if(data.some(p=>p.slug===slug))openProject(slug,null,false);};hash();addEventListener('hashchange',hash);}\nconst form=$('form[data-brief]');if(form){const status=$('.form-status'),submit=form.querySelector('[type=submit]');form.addEventListener('submit',async e=>{e.preventDefault();if(!form.reportValidity())return;const values=new FormData(form);if(values.get('website'))return;const payload={nom:String(values.get('nom')).trim(),email:String(values.get('email')).trim(),societe:'',tel:'',ref:'',services:[values.get('type_projet')],projet:String(values.get('message')).trim(),budget:values.get('budget'),delai:'Non pr\u00e9cis\u00e9',website:''};if(!payload.nom||payload.projet.length<10){status.textContent='Merci de pr\u00e9ciser votre nom et votre projet (10 caract\u00e8res minimum).';status.className='form-status error';return;}const initial=submit.innerHTML;submit.disabled=true;submit.textContent='Envoi en cours\u2026';status.textContent='';status.className='form-status';const controller=new AbortController(),timer=setTimeout(()=>controller.abort(),15000);try{const response=await fetch('https:\/\/www.ok3d.fr\/wp-json\/ok3d\/v1\/devis',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(payload),signal:controller.signal});const result=await response.json();if(!response.ok||!result.success)throw new Error('Envoi non confirm\u00e9');status.className='form-status success';status.textContent='Votre brief a bien \u00e9t\u00e9 envoy\u00e9. Merci, je reviens vers vous rapidement !';form.reset();}catch(error){status.className='form-status error';status.replaceChildren(document.createTextNode('L\u2019envoi n\u2019a pas pu \u00eatre confirm\u00e9. Votre texte est conserv\u00e9. '));const link=document.createElement('a');link.textContent='Envoyer le brief par email \u2197';link.href='mailto:contact@ok3d.fr?subject='+encodeURIComponent('Projet OK3D \u2014 '+payload.services[0])+'&body='+encodeURIComponent('Nom : '+payload.nom+'\\nEmail : '+payload.email+'\\nBudget : '+payload.budget+'\\n\\n'+payload.projet);status.append(link);}finally{clearTimeout(timer);submit.disabled=false;submit.innerHTML=initial;}});}\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Aller au contenu Expertise \/ 3D &amp; animation Du volume.Du mouvement.De l\u2019impact. Un produit \u00e0 r\u00e9v\u00e9ler, un univers \u00e0 construire, une id\u00e9e \u00e0 mettre en mouvement. Je cr\u00e9e des images et des animations 3D qui rendent votre vision tangible. Parlons de votre projet \u2197Voir les r\u00e9alisations \u2193EXPLORER LES R\u00c9ALISATIONS01 \u2014 03AutomobileProduitTextileAlpine \u00d7 Obvious \u2014 NFT [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-14870","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/pages\/14870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/comments?post=14870"}],"version-history":[{"count":21,"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/pages\/14870\/revisions"}],"predecessor-version":[{"id":15321,"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/pages\/14870\/revisions\/15321"}],"wp:attachment":[{"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/media?parent=14870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}