{"id":14833,"date":"2026-05-07T14:37:25","date_gmt":"2026-05-07T12:37:25","guid":{"rendered":"https:\/\/www.ok3d.fr\/?page_id=14833"},"modified":"2026-09-25T20:50:30","modified_gmt":"2026-09-25T18:50:30","slug":"projets","status":"publish","type":"page","link":"https:\/\/www.ok3d.fr\/en\/projets\/","title":{"rendered":"projects"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14833\" class=\"elementor elementor-14833\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8d0f393 e-con-full e-flex e-con e-parent\" data-id=\"8d0f393\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0096428 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"0096428\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Liens d\u00e9di\u00e9s : renseigner href dans data-projects apr\u00e8s publication. plannedHref conserve les anciennes URLs actuellement en 404. -->\r\n<!-- OK3D \u00b7 Projets \u00b7 Elementor HTML \u00b7 SANS FOOTER \u00b7 IMAGES PLEIN CADRE -->\r\n<div data-kind=\"portfolio\" id=\"ok3d-projets\"><span id=\"ok3d-projets-top\"><\/span><a class=\"skip\" href=\"#ok3d-projets-main\">Aller au contenu<\/a><main id=\"ok3d-projets-main\"><section class=\"portfolio-intro\"><div class=\"wrap\"><div><p class=\"kicker\">Portfolio \/ S\u00e9lection de r\u00e9alisations<\/p><h1>Les id\u00e9es passent.<br\/><span class=\"accent-line\">Les images restent.<\/span><\/h1><\/div><div><p class=\"subtext\">3D, animation, design et web. Des univers diff\u00e9rents, une m\u00eame exigence : cr\u00e9er juste, jusque dans les d\u00e9tails.<\/p><div class=\"portfolio-meta\"><span><strong>32<\/strong> projets \u00e0 explorer<\/span><span><strong>03<\/strong> expertises compl\u00e9mentaires<\/span><\/div><\/div><\/div><\/section><div class=\"filter-bar\"><div class=\"wrap filter-inner\"><div aria-label=\"Filtrer les projets\" class=\"filters\" role=\"group\"><button aria-pressed=\"true\" data-filter=\"all\" type=\"button\">Tout <span>32<\/span><\/button><button aria-pressed=\"false\" data-filter=\"3d\" type=\"button\">3D <span>21<\/span><\/button><button aria-pressed=\"false\" data-filter=\"motion\" type=\"button\">Animation <span>13<\/span><\/button><button aria-pressed=\"false\" data-filter=\"branding\" type=\"button\">Design graphique <span>11<\/span><\/button><button aria-pressed=\"false\" data-filter=\"web\" type=\"button\">Webdesign <span>6<\/span><\/button><\/div><p aria-live=\"polite\" class=\"result-count\" data-count=\"\" role=\"status\">32 projets<\/p><\/div><\/div><section aria-label=\"R\u00e9alisations\" class=\"wrap portfolio-grid\"><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"true\" data-original-shape=\"feature\" data-shape=\"feature\" style=\"--portfolio-span:7\"><a aria-label=\"Ouvrir le projet : RIVES \u2014 Station paddle autonome\" data-open=\"rives\" href=\"https:\/\/www.ok3d.fr\/projets\/rives\/\"><div class=\"p-media\"><img alt=\"RIVES \u2014 Station paddle autonome\" decoding=\"async\" loading=\"eager\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/plage_1_visu_test1-scaled.png\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><span class=\"p-film\">\u25b6 Film disponible<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 Mod\u00e9lisation<\/p><h2>RIVES \u2014 Station paddle autonome<\/h2><p class=\"p-desc\">Animation 3D promotionnelle et mod\u00e9lisation sur mesure des \u00e9quipements de station paddle.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"true\" data-original-shape=\"feature\" data-shape=\"feature\" style=\"--portfolio-span:5\"><a aria-label=\"Ouvrir le projet : Obvious \u00d7 Alpine \u2014 Collaboration\" data-open=\"obvious\" href=\"https:\/\/www.ok3d.fr\/projets\/alpine-x-obvious\/\"><div class=\"p-media\"><img alt=\"Obvious \u00d7 Alpine \u2014 Collaboration\" decoding=\"async\" loading=\"eager\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/12\/obvious_alpine_site_ok3d_projet-1.webp\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><span class=\"p-film\">\u25b6 Film disponible<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Motion \u00b7 Collaboration<\/p><h2>Obvious \u00d7 Alpine \u2014 Collaboration<\/h2><p class=\"p-desc\">Motion design et direction artistique pour la collaboration entre Obvious et Alpine.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion branding\" data-highlight=\"true\" data-original-shape=\"feature\" data-shape=\"feature\" style=\"--portfolio-span:5\"><a aria-label=\"Ouvrir le projet : Kiprun \u2014 Animation 3D &amp; Branding\" data-open=\"kiprun\" href=\"https:\/\/www.ok3d.fr\/projets\/kiprun\/\"><div class=\"p-media\"><img alt=\"Kiprun \u2014 Animation 3D &amp; Branding\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/t-shirt_site_5-scaled-1.webp\"\/><span class=\"p-kind\">Motion + Identit\u00e9<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><span class=\"p-film\">\u25b6 Film disponible<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Motion \u00b7 Identit\u00e9 \u00b7 Decathlon<\/p><h2>Kiprun \u2014 Animation 3D &amp; Branding<\/h2><p class=\"p-desc\">Animation 3D r\u00e9alis\u00e9e pour promouvoir la collaboration entre Obvious et Kiprun autour d'un t-shirt exclusif.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"true\" data-original-shape=\"feature\" data-shape=\"feature\" style=\"--portfolio-span:7\"><a aria-label=\"Ouvrir le projet : Politext \u2014 Configurateur textile en 3D\" data-open=\"politext\" href=\"https:\/\/www.ok3d.fr\/projets\/politext\/\"><div class=\"p-media\"><img alt=\"Politext \u2014 Configurateur textile en 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/politext_t-shirts_3d.webp\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 Textile \u00b7 R\u00e9seaux sociaux<\/p><h2>Politext \u2014 Configurateur textile en 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion web\" data-highlight=\"true\" data-original-shape=\"feature\" data-shape=\"feature\" style=\"--portfolio-span:6\"><a aria-label=\"Ouvrir le projet : Debelmont \u2014 Site web &amp; animation 3D\" data-open=\"debelmont\" href=\"#debelmont\"><div class=\"p-media\"><img alt=\"Debelmont \u2014 Site web &amp; animation 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/11\/Etabli_v1-2.jpg\"\/><span class=\"p-kind\">3D + Web<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Site web \u00b7 Animation 3D \u00b7 Luxe<\/p><h2>Debelmont \u2014 Site web &amp; animation 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"true\" data-original-shape=\"feature\" data-shape=\"feature\" style=\"--portfolio-span:6\"><a aria-label=\"Ouvrir le projet : SBE \u2014 Animations 3D \u00e9v\u00e9nementielles\" data-open=\"sbe-motion\" href=\"https:\/\/www.ok3d.fr\/projets\/sbe-motion\/\"><div class=\"p-media\"><img alt=\"SBE \u2014 Animations 3D \u00e9v\u00e9nementielles\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/SBE_Personnage.png\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 \u00c9v\u00e9nementiel<\/p><h2>SBE \u2014 Animations 3D \u00e9v\u00e9nementielles<\/h2><p class=\"p-desc\">Habillage \u00e9v\u00e9nementiel anim\u00e9 et motion design 3D pour S\u00e9minaire Business Event.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Amcor \u2014 Bouteille de champagne 3D\" data-open=\"amcor\" href=\"https:\/\/www.ok3d.fr\/projets\/amcor\/\"><div class=\"p-media\"><img alt=\"Amcor \u2014 Bouteille de champagne 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/boueille_champagne.webp\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 Packaging<\/p><h2>Amcor \u2014 Bouteille de champagne 3D<\/h2><p class=\"p-desc\">Mod\u00e9lisation et animation 3D d'une bouteille de champagne premium pour Amcor.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"branding motion\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Alpine \u00d7 Obvious \u2014 NFT &amp; Motion\" data-open=\"alpine\" href=\"https:\/\/www.ok3d.fr\/projets\/alpine-x-obvious-nft\/\"><div class=\"p-media\"><img alt=\"Alpine \u00d7 Obvious \u2014 NFT &amp; Motion\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/alpine-jap_3.jpg\"\/><span class=\"p-kind\">Motion + Identit\u00e9 + IA<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Rendu 3D \u00b7 Motion \u00b7 Automobile<\/p><h2>Alpine \u00d7 Obvious \u2014 NFT &amp; Motion<\/h2><p class=\"p-desc\">Animation 3D et rendus photor\u00e9alistes de l'Alpine A110 pour la collection NFT Obvious \u00d7 Alpine.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Interfel \u2014 Identit\u00e9 visuelle\" data-open=\"interfel\" href=\"https:\/\/www.ok3d.fr\/projets\/interfel\/\"><div class=\"p-media\"><img alt=\"Interfel \u2014 Identit\u00e9 visuelle\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/intefel_visu_site.png\"\/><span class=\"p-kind\">Identit\u00e9<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Identit\u00e9 Visuelle \u00b7 Agriculture<\/p><h2>Interfel \u2014 Identit\u00e9 visuelle<\/h2><p class=\"p-desc\">Cr\u00e9ation d'une identit\u00e9 visuelle moderne pour Interfel, interprofession des fruits et l\u00e9gumes.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"web branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : PYH \u2014 Site web &amp; branding\" data-open=\"pyh\" href=\"https:\/\/www.ok3d.fr\/projets\/pyh\/\"><div class=\"p-media\"><img alt=\"PYH \u2014 Site web &amp; branding\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/11\/PYH_site.jpg\"\/><span class=\"p-kind\">Web + Identit\u00e9<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Site web \u00b7 Identit\u00e9<\/p><h2>PYH \u2014 Site web &amp; branding<\/h2><p class=\"p-desc\">Cr\u00e9ation du site vitrine et de l'identit\u00e9 visuelle compl\u00e8te pour PYH SAP.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"web branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Eden Wood Forest \u2014 Site web & identit\u00e9\" data-open=\"edenwoodforest\" href=\"https:\/\/www.ok3d.fr\/projets\/edenwoodforest\/\"><div class=\"p-media\"><img alt=\"Eden Wood Forest \u2014 Site web immersif\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.avouslimmo.fr\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-24-sept.-2026-02_15_34.png\"\/><span class=\"p-kind\">Web + Identit\u00e9<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Webdesign \u00b7 Identit\u00e9 visuelle \u00b7 S\u00e9minaires<\/p><h2>Eden Wood Forest \u2014 Site web & identit\u00e9<\/h2><p class=\"p-desc\">Cr\u00e9ation du logo et conception d\u2019un site immersif pour un domaine d\u00e9di\u00e9 aux s\u00e9minaires d\u2019entreprise, pens\u00e9 pour valoriser le lieu, structurer l\u2019offre et faciliter les demandes de devis.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : La Poste \u2014 Mod\u00e9lisation 3D\" data-open=\"la-poste\" href=\"#la-poste\"><div class=\"p-media\"><img alt=\"La Poste \u2014 Mod\u00e9lisation 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/visualisation_vetement_1.png\"\/><span class=\"p-kind\">Mod\u00e9lisation 3D<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Mod\u00e9lisation 3D \u00b7 Blender<\/p><h2>La Poste \u2014 Mod\u00e9lisation 3D<\/h2><p class=\"p-desc\">Mod\u00e9lisation 3D sur mesure, texturing et rigging d'un miroir magique interactif pour une exposition sign\u00e9e La Poste.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"web\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Avousl'immo \u2014 Site web immobilier\" data-open=\"avouslimmo-web\" href=\"#avouslimmo-web\"><div class=\"p-media\"><img alt=\"Avousl'immo \u2014 Site web immobilier\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/AVOUSLIMMO_visuel_site_ok3d.webp\"\/><span class=\"p-kind\">Site web<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Site Web \u00b7 Immobilier<\/p><h2>Avousl'immo \u2014 Site web immobilier<\/h2><p class=\"p-desc\">Site immobilier complet et sur-mesure pour l'agence Avousl'immo \u00e0 Rueil-Malmaison.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Avousl'immo \u2014 Identit\u00e9 &amp; Prints\" data-open=\"avouslimmo-identite\" href=\"#avouslimmo-identite\"><div class=\"p-media\"><img alt=\"Avousl'immo \u2014 Identit\u00e9 &amp; Prints\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/08\/avouslimmo_activite_com.png\"\/><span class=\"p-kind\">Identit\u00e9 + Print<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Identit\u00e9 Visuelle \u00b7 Print<\/p><h2>Avousl'immo \u2014 Identit\u00e9 &amp; Prints<\/h2><p class=\"p-desc\">Logo, charte graphique, cartes de visite et supports print pour l'agence immobili\u00e8re.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : SBE \u2014 Affiches &amp; Prints anim\u00e9s\" data-open=\"sbe-print\" href=\"#sbe-print\"><div class=\"p-media\"><img alt=\"SBE \u2014 Affiches &amp; Prints anim\u00e9s\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/11\/affiche_carre_v1.5.png\"\/><span class=\"p-kind\">Print + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Print \u00b7 Motion \u00b7 Affiches<\/p><h2>SBE \u2014 Affiches &amp; Prints anim\u00e9s<\/h2><p class=\"p-desc\">Affiches print et leurs d\u00e9clinaisons anim\u00e9es pour les \u00e9v\u00e9nements SBE.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Soterics &amp; Orora \u2014 Logos fluides m\u00e9talliques\" data-open=\"soterics\" href=\"#soterics\"><div class=\"p-media\"><img alt=\"Soterics &amp; Orora \u2014 Logos fluides m\u00e9talliques\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/soterix_wallix0.png\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 Logo \u00b7 Grand \u00c9cran<\/p><h2>Soterics &amp; Orora \u2014 Logos fluides m\u00e9talliques<\/h2><p class=\"p-desc\">3 animations 3D de logos avec fluides m\u00e9talliques pour grand \u00e9cran salon, en partenariat avec Soterics et Orora.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Capture d'\u00e9cran \u2014 Habillage YouTube\" data-open=\"capture\" href=\"#capture\"><div class=\"p-media\"><img alt=\"Capture d'\u00e9cran \u2014 Habillage YouTube\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/10\/scene_final_site.jpg\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 YouTube<\/p><h2>Capture d'\u00e9cran \u2014 Habillage YouTube<\/h2><p class=\"p-desc\">Animation 3D intro, bumper et habillage complet de cha\u00eene YouTube.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Pigeon 10 m \u2014 Texturing haute d\u00e9finition\" data-open=\"pigeon\" href=\"#pigeon\"><div class=\"p-media\"><img alt=\"Pigeon 10 m \u2014 Texturing haute d\u00e9finition\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/test_visu_pigeon_quai_9.png\"\/><span class=\"p-kind\">Texturing 3D<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Texturing 3D \u00b7 Sculpture monumentale<\/p><h2>Pigeon 10 m \u2014 Texturing haute d\u00e9finition<\/h2><p class=\"p-desc\">Reprise des UV, texturing complet et pr\u00e9paration de textures haute d\u00e9finition pour une sculpture monumentale de 10 m\u00e8tres.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Orora \u2014 Identit\u00e9s de marque\" data-open=\"orora\" href=\"https:\/\/www.ok3d.fr\/projets\/orora\/\"><div class=\"p-media\"><img alt=\"Orora \u2014 Identit\u00e9s de marque\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/logo_orora_group_2-2-scaled.png\"\/><span class=\"p-kind\">Identit\u00e9<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Identit\u00e9 visuelle \u00b7 Direction artistique<\/p><h2>Orora \u2014 Identit\u00e9s de marque<\/h2><p class=\"p-desc\">D\u00e9veloppement visuel de trois identit\u00e9s compl\u00e9mentaires pour Orora Group, Orora Growth et Orora Tech Solutions.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : 21h12 \u2014 Univers graphique th\u00e9\u00e2tre\" data-open=\"21h12\" href=\"#21h12\"><div class=\"p-media\"><img alt=\"21h12 \u2014 Univers graphique th\u00e9\u00e2tre\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/WhatsApp-Image-2026-09-11-at-17.05.00.jpeg\"\/><span class=\"p-kind\">Identit\u00e9 + Print<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Affiche \u00b7 Print \u00b7 Direction artistique<\/p><h2>21h12 \u2014 Univers graphique th\u00e9\u00e2tre<\/h2><p class=\"p-desc\">Cr\u00e9ation de l'affiche, des supports imprim\u00e9s et des d\u00e9clinaisons visuelles pour une production th\u00e9\u00e2trale.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d branding\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : KS Groupe \u2014 Ville fictive &amp; march\u00e9s\" data-open=\"ks-groupe\" href=\"#ks-groupe\"><div class=\"p-media\"><img alt=\"KS Groupe \u2014 Ville fictive &amp; march\u00e9s\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/Ksgroup_visuel_test_5.png\"\/><span class=\"p-kind\">3D + Identit\u00e9<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Direction visuelle \u00b7 Ville 3D<\/p><h2>KS Groupe \u2014 Ville fictive &amp; march\u00e9s<\/h2><p class=\"p-desc\">Conception d'un univers urbain complet r\u00e9unissant plusieurs march\u00e9s dans une m\u00eame composition architecturale.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Abu Dhabi \u2014 Modules de jeu sculpturaux\" data-open=\"abu-dhabi\" href=\"#abu-dhabi\"><div class=\"p-media\"><img alt=\"Abu Dhabi \u2014 Modules de jeu sculpturaux\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/snake_3.2.png\"\/><span class=\"p-kind\">Mod\u00e9lisation 3D<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Mod\u00e9lisation 3D \u00b7 Design produit<\/p><h2>Abu Dhabi \u2014 Modules de jeu sculpturaux<\/h2><p class=\"p-desc\">Mod\u00e9lisation de modules de jeu pour enfants, dont un toboggan serpent en pierre, avec pr\u00e9paration des fichiers 3D.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : RIVES \u2014 Station paddle autonome \u00b7 Acte II\" data-open=\"rives-acte-2\" href=\"https:\/\/www.ok3d.fr\/projets\/rives-acte-2\/\"><div class=\"p-media\"><img alt=\"RIVES \u2014 Station paddle autonome \u00b7 Acte II\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/rives_showroom.webp\"\/><span class=\"p-kind\">3D + Motion<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 Produit \u00b7 Showroom<\/p><h2>RIVES \u2014 Station paddle autonome \u00b7 Acte II<\/h2><p class=\"p-desc\">Nouvelle mise en sc\u00e8ne 3D de la station : showroom, vues \u00e9clat\u00e9es, d\u00e9tails techniques et animation produit.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"branding web\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : BE2BE Solutions \u2014 Branding &amp; Site internet\" data-open=\"be2be\" href=\"#be2be\"><div class=\"p-media\"><img alt=\"BE2BE Solutions \u2014 Branding &amp; Site internet\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/logo_be2be_solutions.jpg\"\/><span class=\"p-kind\">Identit\u00e9 + Web<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Identit\u00e9 visuelle \u00b7 Site web<\/p><h2>BE2BE Solutions \u2014 Branding &amp; Site internet<\/h2><p class=\"p-desc\">Cr\u00e9ation de l'identit\u00e9 visuelle de BE2BE Solutions et conception de son site internet, avec un univers graphique coh\u00e9rent d\u00e9clin\u00e9 sur l'ensemble de la pr\u00e9sence digitale.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Obvious \u2014 Troph\u00e9e anim\u00e9 en 3D\" data-open=\"obvious-trophee\" href=\"#obvious-trophee\"><div class=\"p-media\"><img alt=\"Obvious \u2014 Troph\u00e9e anim\u00e9 en 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/12\/animation-3d-trophee_obvious-x-o.jpg\"\/><span class=\"p-kind\">Animation 3D<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 Objet \u00b7 Obvious<\/p><h2>Obvious \u2014 Troph\u00e9e anim\u00e9 en 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Obvious \u2014 Badges 3D\" data-open=\"obvious-badges\" href=\"#obvious-badges\"><div class=\"p-media\"><img alt=\"Obvious \u2014 Badges 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/10\/badge2_gold4.jpg\"\/><span class=\"p-kind\">Mod\u00e9lisation 3D<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Mod\u00e9lisation 3D \u00b7 Objet \u00b7 Obvious<\/p><h2>Obvious \u2014 Badges 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Sivan \u2014 S\u00e9rie de visuels 3D\" data-open=\"sivan\" href=\"#sivan\"><div class=\"p-media\"><img alt=\"Sivan \u2014 S\u00e9rie de visuels 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/visuel_sivan_site_ok3d.jpg\"\/><span class=\"p-kind\">Visuels 3D<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Rendu 3D \u00b7 Visuels produit \u00b7 E-commerce<\/p><h2>Sivan \u2014 S\u00e9rie de visuels 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:4\"><a aria-label=\"Ouvrir le projet : Obvious \u2014 Sculpture 3D g\u00e9n\u00e9r\u00e9e par IA\" data-open=\"obvious-sculpture\" href=\"#obvious-sculpture\"><div class=\"p-media\"><img alt=\"Obvious \u2014 Sculpture 3D g\u00e9n\u00e9r\u00e9e par IA\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/sculpture_ortho_2.jpg\"\/><span class=\"p-kind\">Mod\u00e9lisation 3D + IA<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Sculpture 3D \u00b7 IA g\u00e9n\u00e9rative \u00b7 Obvious<\/p><h2>Obvious \u2014 Sculpture 3D g\u00e9n\u00e9r\u00e9e par IA<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d motion\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:6\"><a aria-label=\"Ouvrir le projet : Sol LED interactif \u2014 Animation 3D\" data-open=\"sol-led\" href=\"#sol-led\"><div class=\"p-media\"><img alt=\"Sol LED interactif \u2014 Animation 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2023\/06\/lava_coule_postprod3_00095.webp\"\/><span class=\"p-kind\">Animation 3D<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Animation 3D \u00b7 Interactif \u00b7 \u00c9v\u00e9nementiel<\/p><h2>Sol LED interactif \u2014 Animation 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:6\"><a aria-label=\"Ouvrir le projet : Sorbonne Universit\u00e9 \u2014 Sculpture 3D\" data-open=\"sorbonne\" href=\"#sorbonne\"><div class=\"p-media\"><img alt=\"Sorbonne Universit\u00e9 \u2014 Sculpture 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2023\/10\/test_anim_model9_00000.webp\"\/><span class=\"p-kind\">Sculpture 3D + IA<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Sculpture 3D \u00b7 Institutionnel \u00b7 Obvious<\/p><h2>Sorbonne Universit\u00e9 \u2014 Sculpture 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"3d\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:6\"><a aria-label=\"Ouvrir le projet : Cadre de tableau \u2014 Du concept IA au mod\u00e8le 3D\" data-open=\"cadre-ia\" href=\"#cadre-ia\"><div class=\"p-media\"><img alt=\"Cadre de tableau \u2014 Du concept IA au mod\u00e8le 3D\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/cadre_face_5.jpg\"\/><span class=\"p-kind\">Mod\u00e9lisation 3D + IA<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Mod\u00e9lisation 3D \u00b7 IA g\u00e9n\u00e9rative \u00b7 Ornement<\/p><h2>Cadre de tableau \u2014 Du concept IA au mod\u00e8le 3D<\/h2><p class=\"p-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.<\/p><\/div><\/a><\/article><article class=\"portfolio-card reveal\" data-categories=\"web\" data-highlight=\"false\" data-original-shape=\"standard\" data-shape=\"standard\" style=\"--portfolio-span:6\"><a aria-label=\"Ouvrir le projet : Spa chez soi \u2014 Site internet\" data-open=\"spachezsoi\" href=\"#spachezsoi\"><div class=\"p-media\"><img alt=\"Spa chez soi \u2014 Site internet\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/spachezsoi_visuel_site_ok3d.webp\"\/><span class=\"p-kind\">Site web<\/span><span aria-hidden=\"true\" class=\"p-open\">\u2197<\/span><\/div><div class=\"p-copy\"><p class=\"p-tag\">Site web \u00b7 Bien-\u00eatre<\/p><h2>Spa chez soi \u2014 Site internet<\/h2><p class=\"p-desc\">Conception et int\u00e9gration du site internet Spa chez soi : parcours clair, pr\u00e9sentation des prestations et mise en avant de la prise de contact.<\/p><\/div><\/a><\/article><\/section><section class=\"portfolio-cta\"><div class=\"wrap\"><div><p class=\"kicker\">La prochaine cr\u00e9ation<\/p><h2>Et si c\u2019\u00e9tait<br\/><span class=\"accent-line\">votre projet ?<\/span><\/h2><p>Une id\u00e9e \u00e0 faire grandir, un univers \u00e0 construire. Parlons-en.<\/p><\/div><a class=\"btn btn-primary\" href=\"\/#contact\">Parlons de votre projet <span aria-hidden=\"true\" class=\"arrow\">\u2197<\/span><\/a><\/div><\/section><\/main><dialog aria-labelledby=\"ok3d-projets-modal-title\" class=\"page-dialog\"><div class=\"dialog-top\"><span>OK3D \/ PROJET<\/span><button aria-label=\"Fermer la fiche projet\" class=\"close-dialog\" 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-projets-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=\"#\">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 data-projects=\"\" type=\"application\/json\">[{\"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\":\"alpine\",\"href\":\"https:\/\/www.ok3d.fr\/projets\/alpine-x-obvious-nft\/\",\"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\":null,\"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\":\"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\":\"debelmont\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/debelmont\/\"},{\"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\":\"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\":\"obvious\",\"href\":\"https:\/\/www.ok3d.fr\/projets\/alpine-x-obvious\/\",\"cat\":[\"branding\",\"motion\"],\"title\":\"Obvious \u00d7 Alpine \u2014 Collaboration\",\"desc\":\"Motion design et direction artistique pour la collaboration entre Obvious et Alpine.\",\"tag\":\"Motion \u00b7 Collaboration\",\"badge\":\"Motion + Identit\u00e9 + IA\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/obvious_alpine_site_ok3d_projet-1.jpg\",\"video\":\"1058636442\",\"external\":null},{\"slug\":\"interfel\",\"href\":\"https:\/\/www.ok3d.fr\/projets\/interfel\/\",\"cat\":[\"branding\"],\"title\":\"Interfel \u2014 Identit\u00e9 visuelle\",\"desc\":\"Cr\u00e9ation d'une identit\u00e9 visuelle moderne pour Interfel, interprofession des fruits et l\u00e9gumes.\",\"tag\":\"Identit\u00e9 Visuelle \u00b7 Agriculture\",\"badge\":\"Identit\u00e9\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/05\/intefel_visu_site.png\",\"video\":null,\"external\":null},{\"slug\":\"pyh\",\"href\":\"https:\/\/www.ok3d.fr\/projets\/pyh\/\",\"cat\":[\"web\",\"branding\"],\"title\":\"PYH \u2014 Site web & branding\",\"desc\":\"Cr\u00e9ation du site vitrine et de l'identit\u00e9 visuelle compl\u00e8te pour PYH SAP.\",\"tag\":\"Site web \u00b7 Identit\u00e9\",\"badge\":\"Web + Identit\u00e9\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/11\/PYH_site.jpg\",\"video\":null,\"external\":null},{\"slug\":\"edenwoodforest\",\"href\":\"https:\/\/www.ok3d.fr\/projets\/edenwoodforest\/\",\"cat\":[\"web\",\"branding\"],\"title\":\"Eden Wood Forest \u2014 Site web & identit\u00e9\",\"desc\":\"Cr\u00e9ation du logo et conception d\u2019un site immersif pour un domaine d\u00e9di\u00e9 aux s\u00e9minaires d\u2019entreprise, pens\u00e9 pour valoriser le lieu, structurer l\u2019offre et faciliter les demandes de devis.\",\"tag\":\"Webdesign \u00b7 Identit\u00e9 visuelle \u00b7 S\u00e9minaires\",\"badge\":\"Web + Identit\u00e9\",\"image\":\"https:\/\/www.avouslimmo.fr\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-24-sept.-2026-02_15_34.png\",\"video\":null,\"external\":\"https:\/\/www.ok3d.fr\/projets\/edenwoodforest\/\"},{\"slug\":\"la-poste\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/la-poste\/\"},{\"slug\":\"avouslimmo-web\",\"href\":null,\"cat\":[\"web\"],\"title\":\"Avousl'immo \u2014 Site web immobilier\",\"desc\":\"Site immobilier complet et sur-mesure pour l'agence Avousl'immo \u00e0 Rueil-Malmaison.\",\"tag\":\"Site Web \u00b7 Immobilier\",\"badge\":\"Site web\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/AVOUSLIMMO_visuel_site_ok3d.webp\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/avouslimmo-web\/\"},{\"slug\":\"avouslimmo-identite\",\"href\":null,\"cat\":[\"branding\"],\"title\":\"Avousl'immo \u2014 Identit\u00e9 & Prints\",\"desc\":\"Logo, charte graphique, cartes de visite et supports print pour l'agence immobili\u00e8re.\",\"tag\":\"Identit\u00e9 Visuelle \u00b7 Print\",\"badge\":\"Identit\u00e9 + Print\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/08\/avouslimmo_activite_com.png\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/avouslimmo-identite\/\"},{\"slug\":\"sbe-print\",\"href\":null,\"cat\":[\"branding\"],\"title\":\"SBE \u2014 Affiches & Prints anim\u00e9s\",\"desc\":\"Affiches print et leurs d\u00e9clinaisons anim\u00e9es pour les \u00e9v\u00e9nements SBE.\",\"tag\":\"Print \u00b7 Motion \u00b7 Affiches\",\"badge\":\"Print + Motion\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2025\/11\/affiche_carre_v1.5.png\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/sbe-print\/\"},{\"slug\":\"soterics\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/soterics\/\"},{\"slug\":\"capture\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/capture\/\"},{\"slug\":\"pigeon\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/pigeon\/\"},{\"slug\":\"orora\",\"href\":\"https:\/\/www.ok3d.fr\/projets\/orora\/\",\"cat\":[\"branding\"],\"title\":\"Orora \u2014 Identit\u00e9s de marque\",\"desc\":\"D\u00e9veloppement visuel de trois identit\u00e9s compl\u00e9mentaires pour Orora Group, Orora Growth et Orora Tech Solutions.\",\"tag\":\"Identit\u00e9 visuelle \u00b7 Direction artistique\",\"badge\":\"Identit\u00e9\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/logo_orora_group_2-2-scaled.png\",\"video\":null,\"external\":null},{\"slug\":\"21h12\",\"href\":null,\"cat\":[\"branding\"],\"title\":\"21h12 \u2014 Univers graphique th\u00e9\u00e2tre\",\"desc\":\"Cr\u00e9ation de l'affiche, des supports imprim\u00e9s et des d\u00e9clinaisons visuelles pour une production th\u00e9\u00e2trale.\",\"tag\":\"Affiche \u00b7 Print \u00b7 Direction artistique\",\"badge\":\"Identit\u00e9 + Print\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/WhatsApp-Image-2026-09-11-at-17.05.00.jpeg\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/21h12\/\"},{\"slug\":\"ks-groupe\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/ks-groupe\/\"},{\"slug\":\"abu-dhabi\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/abu-dhabi\/\"},{\"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\":\"be2be\",\"href\":null,\"cat\":[\"branding\",\"web\"],\"title\":\"BE2BE Solutions \u2014 Branding & Site internet\",\"desc\":\"Cr\u00e9ation de l'identit\u00e9 visuelle de BE2BE Solutions et conception de son site internet, avec un univers graphique coh\u00e9rent d\u00e9clin\u00e9 sur l'ensemble de la pr\u00e9sence digitale.\",\"tag\":\"Identit\u00e9 visuelle \u00b7 Site web\",\"badge\":\"Identit\u00e9 + Web\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2026\/09\/logo_be2be_solutions.jpg\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/be2be\/\"},{\"slug\":\"obvious-trophee\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/obvious-trophee\/\"},{\"slug\":\"obvious-badges\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/obvious-badges\/\"},{\"slug\":\"sivan\",\"href\":null,\"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,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/sivan\/\"},{\"slug\":\"obvious-sculpture\",\"href\":null,\"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 + IA\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/sculpture_ortho_2.jpg\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/obvious-sculpture\/\"},{\"slug\":\"sol-led\",\"href\":null,\"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\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2023\/06\/lava_coule_postprod3_00095.webp\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/sol-led\/\"},{\"slug\":\"sorbonne\",\"href\":null,\"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 + IA\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2023\/10\/test_anim_model9_00000.webp\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/sorbonne\/\"},{\"slug\":\"cadre-ia\",\"href\":null,\"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 + IA\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/cadre_face_5.jpg\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/cadre-ia\/\"},{\"slug\":\"spachezsoi\",\"href\":null,\"cat\":[\"web\"],\"title\":\"Spa chez soi \u2014 Site internet\",\"desc\":\"Conception et int\u00e9gration du site internet Spa chez soi : parcours clair, pr\u00e9sentation des prestations et mise en avant de la prise de contact.\",\"tag\":\"Site web \u00b7 Bien-\u00eatre\",\"badge\":\"Site web\",\"image\":\"https:\/\/www.ok3d.fr\/wp-content\/uploads\/2024\/06\/spachezsoi_visuel_site_ok3d.webp\",\"video\":null,\"external\":null,\"plannedHref\":\"https:\/\/www.ok3d.fr\/projets\/spachezsoi\/\"}]<\/script><\/div>\r\n<style>\r\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');\r\n\r\n#ok3d-projets{--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}\r\n#ok3d-projets,#ok3d-projets *{box-sizing:border-box}\r\n#ok3d-projets img{max-width:none}\r\n#ok3d-projets button,#ok3d-projets input,#ok3d-projets select,#ok3d-projets textarea{font-family:inherit}\r\n\/* Force the Elementor HTML widget\/container to span full width when possible. *\/\r\n.elementor-widget-html:has(#ok3d-projets),.elementor-widget-html:has(#ok3d-projets) .elementor-widget-container{width:100%;max-width:none!important}\r\n\r\n\r\n#ok3d-projets{--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)}\r\n#ok3d-projets *{box-sizing:border-box}#ok3d-projets{scroll-behavior:smooth;scroll-padding-top:100px}#ok3d-projets{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}#ok3d-projets.locked{overflow:hidden}#ok3d-projets button,#ok3d-projets input,#ok3d-projets select,#ok3d-projets textarea{font:inherit}#ok3d-projets button,#ok3d-projets a{-webkit-tap-highlight-color:transparent}#ok3d-projets button{cursor:pointer}#ok3d-projets a{color:inherit;text-decoration:none}#ok3d-projets button{color:inherit}#ok3d-projets img{display:block;width:100%;height:auto}#ok3d-projets ::selection{background:#648cff;color:#080a10}#ok3d-projets :focus-visible{outline:2px solid #90adff;outline-offset:6px}#ok3d-projets h1,#ok3d-projets h2,#ok3d-projets h3,#ok3d-projets p{margin:0}#ok3d-projets h1,#ok3d-projets h2,#ok3d-projets h3{font-family:var(--display);font-weight:500}#ok3d-projets button:disabled{cursor:wait;opacity:.65}#ok3d-projets .wrap{width:min(100%,1600px);margin:auto;padding-inline:var(--gutter)}#ok3d-projets .section{padding-block:112px}#ok3d-projets .kicker{font-size:13px;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:14px;color:var(--muted)}#ok3d-projets .kicker::before{content:\"\";width:22px;height:1px;background:var(--blue)}#ok3d-projets .blue{color:var(--blue)}#ok3d-projets .arrow{font-size:24px;line-height:1;display:inline-block;transition:transform .25s}#ok3d-projets .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-projets .btn:hover{border-color:var(--blue);background:#648cff10}#ok3d-projets .btn:hover .arrow{transform:translate(3px,-3px)}#ok3d-projets .btn-primary{background:#537fff;border-color:#537fff;color:#fff}#ok3d-projets .btn-primary:hover{background:#6d92ff;border-color:#6d92ff}#ok3d-projets .text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:8px}#ok3d-projets .text-link:hover{color:var(--blue)}#ok3d-projets .skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--text);color:var(--bg);padding:10px}#ok3d-projets .skip:focus{top:15px}\r\n#ok3d-projets .header{position:absolute;top:0;left:0;width:100%;z-index:20;border-bottom:1px solid var(--line)}#ok3d-projets .header-inner{display:flex;align-items:center;justify-content:space-between;height:94px;gap:24px}#ok3d-projets .logo{font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:-3px;line-height:1}#ok3d-projets .logo span{color:var(--blue)}#ok3d-projets .logo b{display:inline-block;width:7px;height:7px;background:var(--blue);margin-left:5px}#ok3d-projets .nav{display:flex;gap:34px;align-items:center}#ok3d-projets .nav a{font-size:14px;color:#c4cad8;transition:color .2s}#ok3d-projets .nav a:hover{color:#fff}#ok3d-projets .header-contact{font-size:14px;border:1px solid #ffffff40;padding:10px 18px;border-radius:3px}#ok3d-projets .menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 13px;font-size:14px}\r\n#ok3d-projets .hero{position:relative;min-height:850px;min-height:min(940px,100svh);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line);background:#0a0d18}#ok3d-projets .hero-media{position:absolute;inset:0;z-index:-3}#ok3d-projets .hero-media video{width:100%;height:100%;object-fit:cover;object-position:center}#ok3d-projets .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-projets .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-projets .hero-body{padding-top:clamp(165px,19vh,230px);padding-bottom:165px}#ok3d-projets .hero .kicker{color:#c5cfe6;margin-bottom:28px}#ok3d-projets .hero h1{font-size:clamp(60px,7.5vw,116px);letter-spacing:-.065em;line-height:1.02;max-width:1000px}#ok3d-projets .hero h1 em{font-style:normal;color:#92acff}#ok3d-projets .hero-copy{max-width:470px;color:#bdc5d6;margin-top:30px;font-size:17px;line-height:1.8}#ok3d-projets .hero-actions{display:flex;gap:28px;align-items:center;margin-top:34px}#ok3d-projets .reel-trigger{display:inline-flex;gap:13px;align-items:center;background:transparent;border:0;font-size:14px;padding:10px 0}#ok3d-projets .play{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff55;border-radius:50%;font-size:12px;padding-left:2px}#ok3d-projets .reel-trigger:hover .play{background:var(--blue);border-color:var(--blue)}#ok3d-projets .hero-bottom{position:absolute;bottom:0;width:100%;padding-block:24px;display:flex;justify-content:space-between;align-items:end}#ok3d-projets .hero-signature{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b4bed0;display:flex;gap:20px}#ok3d-projets .hero-signature span+span{border-left:1px solid #ffffff40;padding-left:20px}#ok3d-projets .hero-controls{display:flex;align-items:center;gap:22px;font-size:12px;color:#b4bed0}#ok3d-projets .pause{border:1px solid #ffffff35;background:#080a1055;border-radius:50%;height:36px;width:36px;font-size:13px}#ok3d-projets .scroll-link{font-size:13px;display:flex;gap:14px;align-items:center}#ok3d-projets .hero-index{position:absolute;right:var(--gutter);top:47%;writing-mode:vertical-rl;color:#d4ddf0;letter-spacing:.13em;font-size:12px}\r\n#ok3d-projets .clients{padding-block:34px;border-bottom:1px solid var(--line)}#ok3d-projets .clients-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}#ok3d-projets .clients-label{font-size:12px;color:var(--muted);max-width:115px;line-height:1.7}#ok3d-projets .client-list{display:flex;align-items:center;justify-content:space-between;flex:1;gap:30px}#ok3d-projets .client-list span{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.04em;color:#bec3cf}#ok3d-projets .client-list .kiprun{font-style:italic;letter-spacing:-.08em}#ok3d-projets .client-list .obvious{font-size:19px;letter-spacing:-.04em}#ok3d-projets .client-list .laposte{font-size:20px;font-style:italic}\r\n#ok3d-projets .section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:46px}#ok3d-projets .section-head h2,#ok3d-projets .about h2,#ok3d-projets .contact h2{font-size:clamp(40px,4.5vw,66px);letter-spacing:-.055em;line-height:1.08;margin-top:20px}#ok3d-projets .section-head h2 span{color:var(--muted)}#ok3d-projets .works{padding-bottom:106px}#ok3d-projets .project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:46px 28px}#ok3d-projets .project:first-child{grid-column:1\/-1}#ok3d-projets .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-projets .project:first-child .project-media{aspect-ratio:2.2}#ok3d-projets .project-media img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.92)}#ok3d-projets .project-media:hover img{transform:scale(1.035);filter:saturate(1.1)}#ok3d-projets .project:first-child .project-media img{object-position:50% 48%}#ok3d-projets .project:nth-child(2) .project-media img{object-position:50% 40%}#ok3d-projets .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-projets .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-projets .project-media:hover .project-play{background:#537fff}#ok3d-projets .project-info{padding-top:18px;display:flex;justify-content:space-between;align-items:start;gap:15px}#ok3d-projets .project-info h3{font-size:25px;letter-spacing:-.045em}#ok3d-projets .project-info p{font-size:14px;color:var(--muted);margin-top:4px}#ok3d-projets .project-number{font-family:var(--display);font-size:13px;color:var(--muted);padding-top:7px}#ok3d-projets .work-footer{display:flex;justify-content:center;margin-top:48px}\r\n#ok3d-projets .expertise{border-block:1px solid var(--line);background:var(--surface)}#ok3d-projets .expertise .section-head>p{max-width:350px;color:var(--muted)}#ok3d-projets .service{border-top:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 1fr;gap:35px;padding:38px 0;transition:background .25s}#ok3d-projets .service:last-child{border-bottom:1px solid var(--line)}#ok3d-projets .service-num{color:var(--blue);font-family:var(--display);font-size:14px;padding-top:6px}#ok3d-projets .service h3{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.045em}#ok3d-projets .service p{color:var(--muted);max-width:480px;font-size:16px}#ok3d-projets .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}#ok3d-projets .tags span{border:1px solid var(--line);padding:4px 10px;border-radius:3px;font-size:12px;color:#c0c7d7}#ok3d-projets .service-title small{display:block;margin-top:12px;color:#8292ba;font-size:13px;font-weight:400}\r\n#ok3d-projets .about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start}#ok3d-projets .about h2{margin-bottom:28px}#ok3d-projets .about-copy>p{color:#b6bed0;font-size:18px;line-height:1.9;max-width:640px}#ok3d-projets .about-copy>p+p{margin-top:18px;font-size:16px;color:var(--muted)}#ok3d-projets .signature{display:flex;align-items:center;gap:17px;margin-top:30px}#ok3d-projets .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-projets .signature strong{display:block;font-size:16px;font-weight:600}#ok3d-projets .signature small{font-size:13px;color:var(--muted)}#ok3d-projets .stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px;border-block:1px solid var(--line);padding-block:28px}#ok3d-projets .stat{padding-inline:30px;border-right:1px solid var(--line)}#ok3d-projets .stat:first-child{padding-left:0}#ok3d-projets .stat:last-child{border:0}#ok3d-projets .stat strong{font-family:var(--display);font-weight:500;font-size:48px;letter-spacing:-.06em;display:block;line-height:1.2}#ok3d-projets .stat strong span{color:var(--blue)}#ok3d-projets .stat p{font-size:13px;color:var(--muted);margin-top:8px}#ok3d-projets .tool-list{display:flex;gap:12px 25px;flex-wrap:wrap;align-items:center;margin-top:30px;font-size:13px;color:#c0c7d7}#ok3d-projets .tool-list>span:first-child{color:var(--muted);margin-right:auto}\r\n#ok3d-projets .method{padding-top:0}#ok3d-projets .method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}#ok3d-projets .step{border-top:1px solid var(--line);padding-top:22px}#ok3d-projets .step>span{font-family:var(--display);color:var(--blue);font-size:13px}#ok3d-projets .step h3{font-size:23px;letter-spacing:-.03em;margin-top:22px}#ok3d-projets .step p{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.8}\r\n#ok3d-projets .contact{border-top:1px solid #ffffff25;background:radial-gradient(ellipse at 0% 100%,#14234d 0,transparent 65%),#0e131f}#ok3d-projets .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}#ok3d-projets .contact h2{font-size:clamp(44px,5vw,76px);margin-bottom:28px}#ok3d-projets .contact-intro>p{color:var(--muted);max-width:400px}#ok3d-projets .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-projets .contact-note{display:block;margin-top:35px;font-size:13px;color:#aeb9d0}#ok3d-projets .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}#ok3d-projets .field{display:flex;flex-direction:column;gap:8px}#ok3d-projets .field.full{grid-column:1\/-1}#ok3d-projets .field label{font-size:13px;color:#c7cfdf}#ok3d-projets .field input,#ok3d-projets .field select,#ok3d-projets .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-projets .field input::placeholder,#ok3d-projets .field textarea::placeholder{color:#838fa7}#ok3d-projets .field select{color:#c7cfdf}#ok3d-projets .field select option{background:#101622;color:var(--text)}#ok3d-projets .field textarea{resize:vertical;min-height:105px}#ok3d-projets .form-submit{margin-top:28px;display:flex;align-items:center;gap:24px}#ok3d-projets .form-submit small{color:#aeb9d0;font-size:12px}#ok3d-projets .form-status{margin-top:14px;font-size:14px;color:#c0cfff}#ok3d-projets .form-status.error{color:#ffc1bf}#ok3d-projets .honeypot{position:absolute;left:-9999px;opacity:0}#ok3d-projets .form-privacy{font-size:12px;color:#9ba8c1;margin-top:18px}\r\n#ok3d-projets .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-projets .video-dialog::backdrop{background:#02040bec;backdrop-filter:blur(14px)}#ok3d-projets .dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:20px}#ok3d-projets .dialog-head p{font-size:14px}#ok3d-projets .dialog-close{border:1px solid var(--line);background:transparent;min-width:40px;min-height:40px;font-size:22px}#ok3d-projets .dialog-player{aspect-ratio:16\/9;background:black}#ok3d-projets .dialog-player iframe,#ok3d-projets .dialog-player video{width:100%;height:100%;border:0;display:block}#ok3d-projets .dialog-fallback{font-size:13px;color:var(--muted);padding:13px 20px}#ok3d-projets .dialog-fallback a{text-decoration:underline}#ok3d-projets .reveal{transition:opacity .65s,transform .65s}#ok3d-projets .reveal.pending{opacity:0;transform:translateY(22px)}\r\n@media(min-width:1700px){#ok3d-projets .hero-bottom{max-width:1600px;left:50%;transform:translateX(-50%)}}\r\n@media(max-width:1000px){#ok3d-projets .hero h1{font-size:clamp(60px,9vw,100px)}#ok3d-projets .hero{min-height:820px}#ok3d-projets .hero-index{display:none}#ok3d-projets .nav{gap:20px}#ok3d-projets .about-grid,#ok3d-projets .contact-grid{gap:45px}#ok3d-projets .service{grid-template-columns:45px 1fr 1.1fr;gap:20px}#ok3d-projets .client-list{flex-wrap:wrap;justify-content:center;gap:20px 35px}#ok3d-projets .method-grid{grid-template-columns:1fr 1fr}#ok3d-projets .clients-inner{gap:25px}#ok3d-projets .section{padding-block:85px}#ok3d-projets .method{padding-top:0}#ok3d-projets .client-list span{font-size:20px}}\r\n@media(max-width:700px){#ok3d-projets .header-inner{height:78px}#ok3d-projets .logo{font-size:31px}#ok3d-projets .header-contact{display:none}#ok3d-projets .menu-toggle{display:block}#ok3d-projets .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-projets .nav.open{display:flex}#ok3d-projets .nav a{font-size:17px;padding:12px 0}#ok3d-projets .hero{min-height:810px;min-height:max(810px,100svh)}#ok3d-projets .hero-body{padding-top:156px;padding-bottom:180px}#ok3d-projets .hero h1{font-size:clamp(52px,11.4vw,79px);letter-spacing:-.065em}#ok3d-projets .hero-copy{font-size:16px;max-width:350px}#ok3d-projets .hero .kicker{font-size:11px;letter-spacing:.1em}#ok3d-projets .hero-actions{gap:20px;flex-wrap:wrap}#ok3d-projets .hero-actions .btn{gap:20px;padding-inline:19px}#ok3d-projets .hero::before{background:linear-gradient(90deg,#050811d9,#05081170),linear-gradient(0deg,#080a10,transparent 60%)}#ok3d-projets .hero-media video{object-position:60% center;opacity:.75}#ok3d-projets .hero-bottom{align-items:center;padding-block:22px;gap:20px}#ok3d-projets .hero-signature{display:block;font-size:11px;line-height:1.9}#ok3d-projets .hero-signature span{display:block}#ok3d-projets .hero-signature span+span{border:0;padding:0}#ok3d-projets .hero-controls{gap:16px}#ok3d-projets .scroll-link{display:none}#ok3d-projets .clients{padding-block:25px}#ok3d-projets .clients-inner{display:block}#ok3d-projets .clients-label{max-width:none;text-align:center;margin-bottom:20px}#ok3d-projets .client-list{gap:18px 25px}#ok3d-projets .client-list span{font-size:20px}#ok3d-projets .client-list .obvious{font-size:17px}#ok3d-projets .section{padding-block:65px}#ok3d-projets .section-head{display:block;margin-bottom:30px}#ok3d-projets .section-head .text-link{margin-top:25px}#ok3d-projets .section-head h2,#ok3d-projets .about h2{font-size:43px}#ok3d-projets .section-head>p{margin-top:22px}#ok3d-projets .project-grid{grid-template-columns:1fr;gap:30px}#ok3d-projets .project:first-child{grid-column:auto}#ok3d-projets .project:first-child .project-media,#ok3d-projets .project-media{aspect-ratio:4\/3}#ok3d-projets .project:first-child .project-media img{object-position:center}#ok3d-projets .project-info h3{font-size:24px}#ok3d-projets .project-label{left:15px;top:15px;font-size:11px}#ok3d-projets .project-play{right:15px;bottom:15px;width:44px;height:44px}#ok3d-projets .service{grid-template-columns:25px 1fr;gap:14px;padding-block:30px}#ok3d-projets .service-description{grid-column:2}#ok3d-projets .service h3{font-size:31px}#ok3d-projets .service-title small{margin-top:8px}#ok3d-projets .service p{font-size:15px}#ok3d-projets .about-grid,#ok3d-projets .contact-grid{grid-template-columns:1fr;gap:32px}#ok3d-projets .about-copy>p{font-size:17px}#ok3d-projets .stats{margin-top:35px}#ok3d-projets .stat{padding-inline:15px}#ok3d-projets .stat strong{font-size:37px}#ok3d-projets .stat p{font-size:12px}#ok3d-projets .tool-list{gap:12px 20px}#ok3d-projets .tool-list>span:first-child{width:100%}#ok3d-projets .method{padding-top:0}#ok3d-projets .method-grid{gap:28px 22px}#ok3d-projets .step h3{font-size:22px}#ok3d-projets .step p{font-size:14px}#ok3d-projets .contact h2{font-size:53px}#ok3d-projets .contact-note{margin-top:23px}#ok3d-projets .contact-grid{gap:45px}#ok3d-projets .form-grid{gap:24px 18px}#ok3d-projets .form-submit{align-items:start;flex-direction:column;gap:12px}#ok3d-projets .form-submit .btn{width:100%;justify-content:space-between}#ok3d-projets .video-dialog{width:96vw}#ok3d-projets .dialog-head{padding:10px 12px}#ok3d-projets .dialog-player{aspect-ratio:4\/3}#ok3d-projets .dialog-fallback{padding:10px 12px}}\r\n@media(prefers-reduced-motion:reduce){#ok3d-projets{scroll-behavior:auto}#ok3d-projets *,#ok3d-projets *::before,#ok3d-projets *::after{animation:none!important;transition:none!important}#ok3d-projets .reveal.pending{opacity:1;transform:none}}\r\n\r\n\/* V2 \u2014 trois exp\u00e9riences, une m\u00eame direction artistique. *\/\r\n@keyframes gem-levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}\r\n@keyframes wire-reveal{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}\r\n#ok3d-projets .gem-stage.in-view .gem-object{animation:gem-levitate 6s ease-in-out infinite}\r\n#ok3d-projets .gem-stage.draw-in .gem-wire .gw{stroke-dasharray:1;animation:wire-reveal 1.8s ease both}\r\n\r\n#ok3d-projets .expertise{background:#0b0e16;position:relative;overflow:hidden}#ok3d-projets .interactive-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#ok3d-projets .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-projets .experience-card:hover,#ok3d-projets .experience-card:focus-within{border-color:#648cff75;box-shadow:0 20px 55px #0004}#ok3d-projets .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-projets .experience-symbol{font-size:24px;color:#8daaff;line-height:1}#ok3d-projets .service-stage{height:315px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#23346755,transparent 70%);border-block:1px solid #ffffff0b}#ok3d-projets .stage-corner{position:absolute;top:14px;left:18px;font-size:10px;letter-spacing:.14em;color:#9caac7;z-index:3}#ok3d-projets .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-projets .gem-object{position:absolute;left:calc(50% - 122px);top:35px;width:244px;height:244px;transform:translateY(0)}#ok3d-projets .gem-object svg{display:block;width:244px;height:244px}#ok3d-projets .gem-wire{position:absolute;inset:0}#ok3d-projets .gem-wire .gw{fill:none;stroke:#8eaafa;stroke-width:.55}#ok3d-projets .gem-wire .gv{fill:#b5caff;stroke:#0b101c;stroke-width:.45;r:1.15}#ok3d-projets .gem-wire .gs{display:none}#ok3d-projets .gem-render{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split));filter:drop-shadow(0 8px 16px #4674ff30)}#ok3d-projets .gem-solid .gf-hi{fill:url(#chrome-high)}#ok3d-projets .gem-solid .gf-lo{fill:url(#chrome-low)}#ok3d-projets .gem-solid .gw{fill:none;stroke:#c0d4ff;stroke-width:.35;opacity:.7}#ok3d-projets .gem-solid .gv{display:none}#ok3d-projets .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-projets .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-projets .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-projets .experience-control{padding:13px 22px;min-height:65px;border-bottom:1px solid #ffffff14;display:flex;align-items:center;gap:16px}#ok3d-projets .experience-control label{font-size:12px;color:#adbad3;white-space:nowrap}#ok3d-projets .experience-control input{width:100%;min-width:40px;accent-color:#8aa8ff;cursor:ew-resize;height:24px}#ok3d-projets .segmented{justify-content:center;gap:5px}#ok3d-projets .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-projets .segmented button[aria-pressed=\"true\"]{background:#7296ff18;color:#dce7ff;border-color:#89a7ff45}#ok3d-projets .segmented button:hover{color:white;background:#7296ff12}#ok3d-projets .experience-copy{padding:27px 24px 0}#ok3d-projets .experience-copy h3{font-size:clamp(26px,2.55vw,39px);line-height:1.13;letter-spacing:-.055em}#ok3d-projets .experience-copy p{font-size:15px;line-height:1.85;color:#a8b5cd;margin-top:20px;min-height:84px}#ok3d-projets .experience-copy .tags{gap:6px;min-height:62px;margin-top:18px;align-content:start}#ok3d-projets .experience-copy .tags span{font-size:11px;padding:3px 7px;height:max-content}#ok3d-projets .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-projets .experience-link span{font-size:22px;color:#8aa8ff;transition:transform .25s}#ok3d-projets .experience-link:hover{color:#9eb8ff}#ok3d-projets .experience-link:hover span{transform:translate(3px,-3px)}\r\n#ok3d-projets .brand-stage{background:radial-gradient(ellipse at 50% 50%,#3a448333,transparent 65%)}#ok3d-projets .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-projets .brand-symbol img{width:162px;filter:invert(1) drop-shadow(0 0 28px #739bff40)}#ok3d-projets .brand-symbol>span{font-family:var(--display);font-size:18px;letter-spacing:.27em;color:#a8bbdf}#ok3d-projets .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-projets .brand-tile{border-radius:3px;overflow:hidden}#ok3d-projets .brand-primary{grid-row:span 3;background:#6389ff;padding:18px;display:flex;flex-direction:column;justify-content:space-between}#ok3d-projets .brand-primary img{width:70px}#ok3d-projets .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-projets .brand-type{background:#eef1ff;color:#172444;padding:8px 13px;display:flex;align-items:center;justify-content:space-between;gap:7px}#ok3d-projets .brand-type strong{font-family:var(--display);font-size:51px;font-weight:500;letter-spacing:-.07em}#ok3d-projets .brand-type span{font-size:7px;letter-spacing:.07em;max-width:48px}#ok3d-projets .brand-swatches{display:flex;gap:0}#ok3d-projets .brand-swatches i{flex:1;background:#648cff}#ok3d-projets .brand-swatches i:nth-child(2){background:#b6c8ff}#ok3d-projets .brand-swatches i:nth-child(3){background:#e9efff}#ok3d-projets .brand-swatches i:nth-child(4){background:#273c6c}#ok3d-projets .brand-note{background:#1b2743;padding:11px 14px;font-size:15px;font-family:var(--display);line-height:1.2;letter-spacing:-.025em}#ok3d-projets .brand-note span{display:block;font-family:var(--font);font-size:7px;margin-top:10px;letter-spacing:.07em;color:#9baed5}#ok3d-projets .brand-stage[data-brand=\"universe\"] .brand-symbol{opacity:0;transform:scale(.78) rotate(-8deg);pointer-events:none}#ok3d-projets .brand-stage[data-brand=\"universe\"] .brand-universe{opacity:1;transform:none}#ok3d-projets .brand-stage[data-brand=\"universe\"] .brand-tile{animation:brand-arrive .6s both}#ok3d-projets .brand-stage[data-brand=\"universe\"] .brand-type{animation-delay:.08s}#ok3d-projets .brand-stage[data-brand=\"universe\"] .brand-swatches{animation-delay:.16s}#ok3d-projets .brand-stage[data-brand=\"universe\"] .brand-note{animation-delay:.24s}@keyframes brand-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}\r\n#ok3d-projets .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-projets .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-projets .demo-chrome{height:23px;display:flex;justify-content:space-between;align-items:center;padding-inline:10px;background:#1b253b;color:#99a8c7;font-size:8px}#ok3d-projets .demo-chrome>span:first-child{font-size:6px;letter-spacing:1px;color:#758aaf}#ok3d-projets .demo-page{height:202px;overflow:hidden}#ok3d-projets .demo-nav{height:33px;padding:0 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff18}#ok3d-projets .demo-nav>strong{font-family:var(--display);font-size:14px;letter-spacing:-1px}#ok3d-projets .demo-nav>strong span{color:#8aa8ff}#ok3d-projets .demo-nav-links{font-size:7px;color:#aab5ca}#ok3d-projets .demo-hamburger{display:none;font-size:11px}#ok3d-projets .demo-hero{height:143px;position:relative;isolation:isolate;padding:13px 15px}#ok3d-projets .demo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}#ok3d-projets .demo-hero::before{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,#060b16ed,#060b1688);z-index:-1}#ok3d-projets .demo-hero>div{display:flex;flex-direction:column;align-items:start}#ok3d-projets .demo-hero small{font-size:6px;letter-spacing:.12em;color:#b9c9e9;margin-bottom:7px}#ok3d-projets .demo-hero strong{font-family:var(--display);font-size:25px;line-height:.98;letter-spacing:-.07em;font-weight:500}#ok3d-projets .demo-hero em{color:#a0b7ff;font-style:normal}#ok3d-projets .demo-cta{font-size:6px;background:#527df4;color:#fff;padding:4px 7px;margin-top:9px;border-radius:2px}#ok3d-projets .demo-bottom{display:flex;justify-content:space-between;gap:3px;font-size:5px;letter-spacing:.04em;padding:8px 13px;color:#b4c1dc}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-browser{width:142px;border-radius:16px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-chrome{height:21px;font-size:6px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-nav-links{display:none}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-hamburger{display:block}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-page{height:220px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-nav{padding-inline:12px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-hero{height:161px;padding:17px 12px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-hero strong{font-size:26px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-hero small{font-size:5px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-cta{margin-top:13px}#ok3d-projets .web-stage[data-device=\"mobile\"] .demo-bottom{font-size:4px;padding-inline:10px}\r\n#ok3d-projets .project-preview{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .55s;background:#0c101a}#ok3d-projets .project-preview.visible{opacity:1}#ok3d-projets .project-preview iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}#ok3d-projets .project-play,#ok3d-projets .project-label{z-index:2}#ok3d-projets .project-media .project-label{transition:background .3s}#ok3d-projets .project-media.preview-playing .project-label{background:#172b57dc}#ok3d-projets .project-media.preview-playing .project-play{background:#537fffaa}#ok3d-projets .method-grid{position:relative;--method-progress:0}#ok3d-projets .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-projets .step{position:relative}#ok3d-projets .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-projets .step.current::before,#ok3d-projets .step.passed::before{background:#9dbbff;box-shadow:0 0 14px #739fffaa}#ok3d-projets .step h3{transition:color .35s}#ok3d-projets .step.current h3{color:#9ab6ff}#ok3d-projets .step>span{transition:color .35s}#ok3d-projets .step.current>span{color:#c0d1ff}#ok3d-projets .hero h1{animation:hero-enter 1.1s cubic-bezier(.2,.8,.2,1) both}#ok3d-projets .hero .hero-copy{animation:hero-enter 1.1s .12s both}#ok3d-projets .hero .hero-actions{animation:hero-enter 1.1s .24s both}@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}\r\n@media(min-width:1100px){#ok3d-projets .experience-card:hover .brand-symbol{transform:translateY(-5px)}#ok3d-projets .experience-card:hover .brand-stage[data-brand=\"universe\"] .brand-symbol{transform:scale(.78) rotate(-8deg)}}\r\n@media(max-width:1100px) and (min-width:701px){#ok3d-projets .interactive-services{gap:12px}#ok3d-projets .experience-top{padding:17px 15px;font-size:10px;letter-spacing:.035em}#ok3d-projets .experience-copy{padding-inline:17px}#ok3d-projets .service-stage{height:285px}#ok3d-projets .gem-object{top:25px}#ok3d-projets .experience-control{padding-inline:12px;gap:8px;flex-wrap:wrap}#ok3d-projets .experience-control label{font-size:11px}#ok3d-projets .experience-control input{flex:1;min-width:50px}#ok3d-projets .segmented button{font-size:11px;padding-inline:10px}#ok3d-projets .experience-copy p{font-size:14px;min-height:124px}#ok3d-projets .experience-copy .tags{min-height:85px}#ok3d-projets .brand-universe{inset:50px 12px 22px;gap:6px;grid-template-columns:1fr 1fr}#ok3d-projets .brand-primary{padding:12px}#ok3d-projets .brand-primary img{width:50px}#ok3d-projets .brand-primary>span{font-size:16px}#ok3d-projets .brand-type{padding:9px}#ok3d-projets .brand-type strong{font-size:38px}#ok3d-projets .brand-type span{display:none}#ok3d-projets .brand-note{font-size:12px;padding:10px}#ok3d-projets .web-stage{padding-inline:12px}}\r\n@media(max-width:700px){#ok3d-projets .interactive-services{grid-template-columns:1fr;gap:24px}#ok3d-projets .experience-top{font-size:12px;padding:20px 22px}#ok3d-projets .service-stage{height:300px}#ok3d-projets .gem-object{top:26px}#ok3d-projets .experience-copy{padding:25px 24px 0}#ok3d-projets .experience-copy h3{font-size:36px}#ok3d-projets .experience-copy p{min-height:0;font-size:16px}#ok3d-projets .experience-copy .tags{min-height:0;margin-bottom:24px}#ok3d-projets .experience-link{margin-top:20px}#ok3d-projets .brand-universe{inset:47px 30px 23px}#ok3d-projets .brand-primary>span{font-size:23px}#ok3d-projets .brand-type strong{font-size:60px}#ok3d-projets .brand-note{font-size:17px}#ok3d-projets .web-stage{padding-inline:28px}#ok3d-projets .method-grid::before{display:none}#ok3d-projets .step.current{border-top-color:#88a8ff}#ok3d-projets .experience-control label{font-size:13px}#ok3d-projets .segmented button{font-size:14px;min-height:40px}}\r\n@media(prefers-reduced-motion:reduce){#ok3d-projets .hero h1,#ok3d-projets .hero .hero-copy,#ok3d-projets .hero .hero-actions{animation:none}#ok3d-projets .experience-card:hover .brand-symbol{transform:none}#ok3d-projets .gem-object{transform:none!important}#ok3d-projets .method-grid::before{transform:scaleX(1)}}\r\n\r\n\r\n\r\n\r\n\/* =========================================================\r\n   ELEMENTOR \/ HELLO HARDENING \u2014 V2\r\n   Force la typographie, les tailles et les couleurs du design\r\n   m\u00eame si Elementor ou le th\u00e8me applique ses propres styles.\r\n   ========================================================= *\/\r\n#ok3d-projets,\r\n#ok3d-projets input,\r\n#ok3d-projets textarea,\r\n#ok3d-projets select,\r\n#ok3d-projets button,\r\n#ok3d-projets a,\r\n#ok3d-projets p,\r\n#ok3d-projets span,\r\n#ok3d-projets small,\r\n#ok3d-projets label,\r\n#ok3d-projets strong,\r\n#ok3d-projets em {\r\n  font-family: var(--font) !important;\r\n}\r\n\r\n#ok3d-projets h1,\r\n#ok3d-projets h2,\r\n#ok3d-projets h3,\r\n#ok3d-projets .logo,\r\n#ok3d-projets .client-list span,\r\n#ok3d-projets .project-number,\r\n#ok3d-projets .service-num,\r\n#ok3d-projets .stat strong,\r\n#ok3d-projets .step > span,\r\n#ok3d-projets .brand-symbol > span,\r\n#ok3d-projets .brand-primary > span,\r\n#ok3d-projets .brand-type strong,\r\n#ok3d-projets .brand-note,\r\n#ok3d-projets .demo-nav > strong,\r\n#ok3d-projets .demo-hero strong {\r\n  font-family: var(--display) !important;\r\n}\r\n\r\n#ok3d-projets { color: var(--text) !important; font-size:16px !important; line-height:1.65 !important; }\r\n#ok3d-projets h1,#ok3d-projets h2,#ok3d-projets h3,#ok3d-projets p { margin:0 !important; padding:0; }\r\n#ok3d-projets h1,#ok3d-projets h2,#ok3d-projets h3 { color:var(--text) !important; font-weight:500 !important; text-transform:none !important; }\r\n#ok3d-projets p { color:inherit; }\r\n#ok3d-projets a { color:inherit !important; text-decoration:none !important; }\r\n#ok3d-projets button { color:inherit !important; }\r\n\r\n\/* Header *\/\r\n#ok3d-projets .logo { font-size:34px !important; line-height:1 !important; font-weight:700 !important; letter-spacing:-3px !important; color:var(--text) !important; }\r\n#ok3d-projets .logo span { color:var(--blue) !important; }\r\n#ok3d-projets .nav a { font-size:14px !important; line-height:1.4 !important; color:#c4cad8 !important; font-weight:400 !important; }\r\n#ok3d-projets .nav a:hover { color:#fff !important; }\r\n#ok3d-projets .header-contact { font-size:14px !important; color:var(--text) !important; }\r\n\r\n\/* Hero *\/\r\n#ok3d-projets .hero .kicker { font-size:13px !important; line-height:1.4 !important; letter-spacing:.14em !important; color:#c5cfe6 !important; font-weight:400 !important; }\r\n#ok3d-projets .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; }\r\n#ok3d-projets .hero h1 em { color:#92acff !important; font-style:normal !important; font-family:var(--display) !important; }\r\n#ok3d-projets .hero-copy { font-size:17px !important; line-height:1.8 !important; color:#bdc5d6 !important; font-weight:400 !important; }\r\n#ok3d-projets .btn { font-size:14px !important; line-height:1.4 !important; font-weight:700 !important; color:var(--text) !important; }\r\n#ok3d-projets .btn-primary { color:#fff !important; }\r\n#ok3d-projets .reel-trigger { font-size:14px !important; color:var(--text) !important; }\r\n#ok3d-projets .hero-signature { font-size:12px !important; line-height:1.65 !important; color:#b4bed0 !important; }\r\n#ok3d-projets .hero-controls,#ok3d-projets .scroll-link,#ok3d-projets .hero-index { color:#b4bed0 !important; }\r\n#ok3d-projets .hero-index { color:#d4ddf0 !important; font-size:12px !important; }\r\n\r\n\/* Clients \/ titres de sections *\/\r\n#ok3d-projets .clients-label { font-size:12px !important; line-height:1.7 !important; color:var(--muted) !important; }\r\n#ok3d-projets .client-list span { font-size:23px !important; line-height:1.2 !important; font-weight:600 !important; color:#bec3cf !important; }\r\n#ok3d-projets .client-list .obvious { font-size:19px !important; }\r\n#ok3d-projets .client-list .laposte { font-size:20px !important; }\r\n#ok3d-projets .section-head h2,#ok3d-projets .about h2,#ok3d-projets .contact h2 { font-size:clamp(40px,4.5vw,66px) !important; line-height:1.08 !important; letter-spacing:-.055em !important; color:var(--text) !important; }\r\n#ok3d-projets .section-head h2 span { color:var(--muted) !important; font-family:var(--display) !important; }\r\n#ok3d-projets .kicker { font-size:13px !important; color:var(--muted) !important; }\r\n\r\n\/* Projets *\/\r\n#ok3d-projets .project-label { font-size:12px !important; line-height:1.4 !important; color:var(--text) !important; }\r\n#ok3d-projets .project-info h3 { font-size:25px !important; line-height:1.2 !important; letter-spacing:-.045em !important; color:var(--text) !important; }\r\n#ok3d-projets .project-info p { font-size:14px !important; line-height:1.65 !important; color:var(--muted) !important; }\r\n#ok3d-projets .project-number { font-size:13px !important; color:var(--muted) !important; }\r\n\r\n\/* Expertises *\/\r\n#ok3d-projets .experience-top { color:#b1bed6 !important; }\r\n#ok3d-projets .experience-copy h3 { color:var(--text) !important; font-size:clamp(26px,2.55vw,39px) !important; line-height:1.13 !important; letter-spacing:-.055em !important; }\r\n#ok3d-projets .experience-copy p { font-size:15px !important; line-height:1.85 !important; color:#a8b5cd !important; }\r\n#ok3d-projets .tags span { font-size:12px !important; line-height:1.4 !important; color:#c0c7d7 !important; }\r\n#ok3d-projets .experience-copy .tags span { font-size:11px !important; }\r\n#ok3d-projets .experience-link { font-size:14px !important; color:var(--text) !important; }\r\n#ok3d-projets .experience-link:hover { color:#9eb8ff !important; }\r\n#ok3d-projets .experience-control label { color:#adbad3 !important; }\r\n#ok3d-projets .segmented button { color:#a7b5cf !important; }\r\n#ok3d-projets .segmented button[aria-pressed=\"true\"] { color:#dce7ff !important; }\r\n\r\n\/* Studio *\/\r\n#ok3d-projets .about-copy > p { font-size:18px !important; line-height:1.9 !important; color:#b6bed0 !important; }\r\n#ok3d-projets .about-copy > p + p { font-size:16px !important; color:var(--muted) !important; }\r\n#ok3d-projets .signature strong { font-size:16px !important; color:var(--text) !important; }\r\n#ok3d-projets .signature small { font-size:13px !important; color:var(--muted) !important; }\r\n#ok3d-projets .stat strong { font-size:48px !important; line-height:1.2 !important; font-weight:500 !important; color:var(--text) !important; }\r\n#ok3d-projets .stat strong span { color:var(--blue) !important; font-family:var(--display) !important; }\r\n#ok3d-projets .stat p { font-size:13px !important; color:var(--muted) !important; }\r\n#ok3d-projets .tool-list { font-size:13px !important; color:#c0c7d7 !important; }\r\n#ok3d-projets .tool-list > span:first-child { color:var(--muted) !important; }\r\n\r\n\/* M\u00e9thode *\/\r\n#ok3d-projets .step > span { font-size:13px !important; color:var(--blue) !important; }\r\n#ok3d-projets .step h3 { font-size:23px !important; line-height:1.2 !important; color:var(--text) !important; }\r\n#ok3d-projets .step p { font-size:14px !important; line-height:1.8 !important; color:var(--muted) !important; }\r\n\r\n\/* Contact \/ formulaire *\/\r\n#ok3d-projets .contact h2 { font-size:clamp(44px,5vw,76px) !important; }\r\n#ok3d-projets .contact-intro > p { color:var(--muted) !important; }\r\n#ok3d-projets .email-link { font-family:var(--display) !important; font-size:clamp(21px,2.2vw,30px) !important; color:var(--text) !important; }\r\n#ok3d-projets .contact-note { font-size:13px !important; color:#aeb9d0 !important; }\r\n#ok3d-projets .field label { font-size:13px !important; color:#c7cfdf !important; }\r\n#ok3d-projets .field input,#ok3d-projets .field select,#ok3d-projets .field textarea { font-size:16px !important; line-height:1.4 !important; color:var(--text) !important; background:transparent !important; }\r\n#ok3d-projets .field input::placeholder,#ok3d-projets .field textarea::placeholder { color:#838fa7 !important; opacity:1 !important; }\r\n#ok3d-projets .form-submit small,#ok3d-projets .form-privacy { color:#aeb9d0 !important; }\r\n\r\n\/* Footer *\/\r\n#ok3d-projets .footer-tagline { font-size:14px !important; color:var(--muted) !important; }\r\n#ok3d-projets .footer-bottom { font-size:12px !important; color:var(--muted) !important; }\r\n\r\n\/* Mobile : r\u00e9applique les valeurs originales avec !important *\/\r\n@media(max-width:700px){\r\n  #ok3d-projets .logo{font-size:31px !important}\r\n  #ok3d-projets .nav a{font-size:17px !important}\r\n  #ok3d-projets .hero h1{font-size:clamp(52px,11.4vw,79px) !important}\r\n  #ok3d-projets .hero-copy{font-size:16px !important}\r\n  #ok3d-projets .hero .kicker{font-size:11px !important}\r\n  #ok3d-projets .client-list span{font-size:20px !important}\r\n  #ok3d-projets .client-list .obvious{font-size:17px !important}\r\n  #ok3d-projets .section-head h2,#ok3d-projets .about h2{font-size:43px !important}\r\n  #ok3d-projets .project-info h3{font-size:24px !important}\r\n  #ok3d-projets .project-label{font-size:11px !important}\r\n  #ok3d-projets .experience-copy h3{font-size:36px !important}\r\n  #ok3d-projets .experience-copy p{font-size:16px !important}\r\n  #ok3d-projets .about-copy>p{font-size:17px !important}\r\n  #ok3d-projets .stat strong{font-size:37px !important}\r\n  #ok3d-projets .stat p{font-size:12px !important}\r\n  #ok3d-projets .step h3{font-size:22px !important}\r\n  #ok3d-projets .contact h2{font-size:53px !important}\r\n  \r\n}\r\n\r\n\r\n\r\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\r\n   HEADER + BOUTONS \u2014 finition premium \/ plus vivante\r\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 *\/\r\n#ok3d-projets .header{\r\n  position:fixed!important;\r\n  top:0;left:0;width:100%;\r\n  z-index:80;\r\n  background:linear-gradient(180deg,rgba(8,10,16,.18),rgba(8,10,16,0));\r\n  border-bottom:1px solid rgba(255,255,255,.12);\r\n  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;\r\n}\r\n#ok3d-projets .header.is-scrolled{\r\n  background:rgba(8,10,16,.72);\r\n  -webkit-backdrop-filter:blur(18px) saturate(145%);\r\n  backdrop-filter:blur(18px) saturate(145%);\r\n  border-bottom-color:rgba(100,140,255,.22);\r\n  box-shadow:0 10px 34px rgba(0,0,0,.18),0 1px 0 rgba(100,140,255,.06) inset;\r\n}\r\n#ok3d-projets .header-inner{transition:height .3s ease}\r\n#ok3d-projets .header.is-scrolled .header-inner{height:82px}\r\n\r\n\/* vrai logo : m\u00eame pr\u00e9sence que l'ancien mot-symbole *\/\r\n#ok3d-projets .logo{display:flex;align-items:center;flex-shrink:0;line-height:1}\r\n#ok3d-projets .logo img{display:block;width:auto;height:34px;max-width:none;object-fit:contain;transition:transform .3s ease,filter .3s ease}\r\n#ok3d-projets .logo:hover img{transform:translateY(-1px);filter:drop-shadow(0 0 12px rgba(100,140,255,.16))}\r\n\r\n\/* navigation : soulignement bleu anim\u00e9, tr\u00e8s discret *\/\r\n#ok3d-projets .nav a{position:relative;padding:10px 0;transition:color .25s ease}\r\n#ok3d-projets .nav a::after{\r\n  content:\"\";position:absolute;left:0;right:0;bottom:3px;height:1px;\r\n  background:linear-gradient(90deg,transparent,var(--blue),transparent);\r\n  transform:scaleX(0);transform-origin:center;opacity:.85;\r\n  transition:transform .28s cubic-bezier(.2,.8,.2,1);\r\n}\r\n#ok3d-projets .nav a:hover::after,#ok3d-projets .nav a:focus-visible::after{transform:scaleX(1)}\r\n\r\n\/* CTA du header : plus premium sans devenir flashy *\/\r\n#ok3d-projets .header-contact{\r\n  position:relative;overflow:hidden;\r\n  border-color:rgba(130,164,255,.38);\r\n  background:linear-gradient(135deg,rgba(100,140,255,.10),rgba(100,140,255,.025));\r\n  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);\r\n  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;\r\n}\r\n#ok3d-projets .header-contact::before{\r\n  content:\"\";position:absolute;inset:-60% auto -60% -35%;width:28%;\r\n  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);\r\n  transform:skewX(-18deg) translateX(-220%);transition:transform .65s ease;pointer-events:none;\r\n}\r\n#ok3d-projets .header-contact:hover{\r\n  transform:translateY(-1px);\r\n  border-color:rgba(132,166,255,.72);\r\n  background:linear-gradient(135deg,rgba(100,140,255,.17),rgba(100,140,255,.045));\r\n  box-shadow:0 8px 28px rgba(48,78,166,.12),inset 0 0 0 1px rgba(255,255,255,.035);\r\n}\r\n#ok3d-projets .header-contact:hover::before{transform:skewX(-18deg) translateX(620%)}\r\n\r\n\/* boutons : plus de mati\u00e8re et micro-mouvement *\/\r\n#ok3d-projets .btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease}\r\n#ok3d-projets .btn::before{\r\n  content:\"\";position:absolute;inset:0;z-index:-1;\r\n  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.10) 48%,transparent 75%);\r\n  transform:translateX(-130%);transition:transform .55s ease;\r\n}\r\n#ok3d-projets .btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.16)}\r\n#ok3d-projets .btn:hover::before{transform:translateX(130%)}\r\n#ok3d-projets .btn-primary{box-shadow:0 8px 24px rgba(83,127,255,.14)}\r\n#ok3d-projets .btn-primary:hover{box-shadow:0 12px 34px rgba(83,127,255,.25)}\r\n#ok3d-projets .btn .arrow{transition:transform .3s cubic-bezier(.2,.8,.2,1)}\r\n#ok3d-projets .btn:hover .arrow{transform:translate(4px,-4px)}\r\n\r\n\/* lien texte : accent anim\u00e9 au lieu d'un simple changement de couleur *\/\r\n#ok3d-projets .text-link{position:relative;border-bottom-color:rgba(255,255,255,.18)}\r\n#ok3d-projets .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}\r\n#ok3d-projets .text-link:hover::after{transform:scaleX(1)}\r\n\r\n@media(max-width:1000px){\r\n  #ok3d-projets .logo img{height:33px}\r\n}\r\n@media(max-width:700px){\r\n  #ok3d-projets .logo img{height:31px}\r\n  #ok3d-projets .header.is-scrolled .header-inner{height:72px}\r\n  #ok3d-projets .header .nav{top:78px}\r\n  #ok3d-projets .header.is-scrolled .nav{top:72px}\r\n  #ok3d-projets .nav a::after{display:none}\r\n}\r\n@media(prefers-reduced-motion:reduce){\r\n  #ok3d-projets .header,#ok3d-projets .header-inner,#ok3d-projets .logo img,#ok3d-projets .nav a::after,#ok3d-projets .header-contact,#ok3d-projets .header-contact::before,#ok3d-projets .btn,#ok3d-projets .btn::before{transition:none!important}\r\n}\r\n\r\n\r\n#ok3d-projets [hidden]{display:none!important}\r\n#ok3d-projets [id]{scroll-margin-top:112px}\r\n#ok3d-projets{overflow:clip;isolation:isolate}\r\n#ok3d-projets .header{background:#080a10b8!important;backdrop-filter:blur(12px)}\r\n#ok3d-projets .header .logo img{width:auto!important;height:34px!important;max-width:145px!important}\r\n#ok3d-projets .nav{gap:25px}\r\n#ok3d-projets .nav a[aria-current=\"page\"]{color:#a8bfff!important}\r\n#ok3d-projets .nav a[aria-current=\"page\"]::after{transform:scaleX(1)}\r\n#ok3d-projets .header-inner{min-height:82px}\r\n#ok3d-projets .menu-toggle{min-height:42px;padding-inline:15px}\r\n#ok3d-projets .accent-line{color:#92acff!important;font-family:var(--display)!important}\r\n#ok3d-projets .subtext{color:#aebbd2!important;font-size:17px!important;line-height:1.85!important;margin-top:24px!important;max-width:600px}\r\n#ok3d-projets .expert-hero{padding:170px 0 70px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 83% 25%,#23376355,transparent 65%)}\r\n#ok3d-projets .expert-hero-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}\r\n#ok3d-projets .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}\r\n#ok3d-projets .expert-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:32px}\r\n#ok3d-projets .expert-visual{min-width:0;position:relative;border:1px solid #ffffff25;border-radius:7px;background:#0d1423;overflow:hidden;box-shadow:0 25px 75px #0004}\r\n#ok3d-projets .visual-header{display:flex;justify-content:space-between;gap:15px;padding:14px 19px;border-bottom:1px solid #ffffff16;font-size:12px;color:#9eafd0}\r\n#ok3d-projets .visual-header span{font-size:12px!important;letter-spacing:.07em}\r\n#ok3d-projets .expert-picture{height:405px;position:relative;background:#111828;overflow:hidden;display:flex;align-items:center;justify-content:center}\r\n#ok3d-projets .expert-picture img{width:100%;height:100%;object-fit:cover;transition:opacity .3s,transform .7s}\r\n#ok3d-projets .expert-picture img.contain{object-fit:contain;padding:25px}\r\n#ok3d-projets .visual-tabs{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;border-top:1px solid #ffffff17;padding:12px}\r\n#ok3d-projets .visual-tabs button{background:transparent;border:1px solid transparent;border-radius:3px;padding:8px 13px;font-size:13px;min-height:39px;color:#aebeda!important}\r\n#ok3d-projets .visual-tabs button[aria-pressed=\"true\"]{background:#6e93ff18;border-color:#91acff42;color:#e2ebff!important}\r\n#ok3d-projets .visual-caption{padding:16px 19px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#c5d3ed}\r\n#ok3d-projets .visual-caption button{background:none;border:0;padding:4px;color:#aac1ff!important;font-size:13px}\r\n#ok3d-projets .expert-strip{display:flex;gap:25px;flex-wrap:wrap;padding-top:38px;color:#9aacce;font-size:12px;letter-spacing:.08em}\r\n#ok3d-projets .expert-strip span+span{border-left:1px solid #ffffff25;padding-left:25px}\r\n#ok3d-projets .section-head h2{margin-top:18px!important}\r\n#ok3d-projets .section-head>p{max-width:370px;color:#aebbd2!important;font-size:16px;line-height:1.85}\r\n#ok3d-projets .offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line)}\r\n#ok3d-projets .offer{padding:32px 25px 10px 0;min-width:0}\r\n#ok3d-projets .offer .offer-number{font-family:var(--display)!important;color:#90aeff;font-size:13px}\r\n#ok3d-projets .offer h3{font-size:29px!important;line-height:1.18!important;letter-spacing:-.045em!important;margin-top:27px!important}\r\n#ok3d-projets .offer p{font-size:16px!important;line-height:1.8!important;color:#a7b5ce!important;margin-top:17px!important}\r\n#ok3d-projets .offer ul{list-style:none;margin:22px 0 0;padding:0}\r\n#ok3d-projets .offer li{border-top:1px solid #ffffff14;padding:9px 0;color:#becbe0;font-size:14px;line-height:1.6}\r\n#ok3d-projets .selected-section{background:#0d121d;border-block:1px solid #ffffff18}\r\n#ok3d-projets .selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}\r\n#ok3d-projets .selected-card{min-width:0;border:1px solid #ffffff1a;border-radius:5px;background:#0a0f19;overflow:hidden;transition:border-color .3s,transform .3s}\r\n#ok3d-projets .selected-card:hover{border-color:#8faeff88;transform:translateY(-4px)}\r\n#ok3d-projets .selected-card a{display:block;height:100%}\r\n#ok3d-projets .selected-media{height:275px;position:relative;background:#151e2e;overflow:hidden}\r\n#ok3d-projets .selected-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}\r\n#ok3d-projets .selected-media.contain img{object-fit:contain;padding:24px}\r\n#ok3d-projets .selected-card:hover img{transform:scale(1.035)}\r\n#ok3d-projets .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}\r\n#ok3d-projets .selected-copy{padding:22px}\r\n#ok3d-projets .selected-copy small{color:#9bb1d9;font-size:12px;line-height:1.65;display:block}\r\n#ok3d-projets .selected-copy h3{font-size:25px!important;line-height:1.2!important;letter-spacing:-.04em!important;margin-top:10px!important}\r\n#ok3d-projets .selected-copy p{color:#9eadc6!important;font-size:14px!important;line-height:1.75!important;margin-top:12px!important}\r\n#ok3d-projets .approach-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:85px;align-items:start}\r\n#ok3d-projets .approach-heading{position:sticky;top:125px}\r\n#ok3d-projets .approach-heading h2{font-size:clamp(36px,4vw,56px)!important;line-height:1.09!important;letter-spacing:-.055em!important;margin-top:22px!important}\r\n#ok3d-projets .approach-step{display:grid;grid-template-columns:40px 1fr;gap:23px;border-top:1px solid #ffffff24;padding:26px 0}\r\n#ok3d-projets .approach-step>span{font-size:13px;color:#8faeff;font-family:var(--display)!important;padding-top:4px}\r\n#ok3d-projets .approach-step h3{font-size:25px!important;line-height:1.25!important;letter-spacing:-.035em!important}\r\n#ok3d-projets .approach-step p{font-size:15px!important;line-height:1.85!important;color:#a5b5ce!important;margin-top:10px!important}\r\n#ok3d-projets .contact h2{margin-top:22px!important;margin-bottom:25px!important}\r\n#ok3d-projets .contact-intro>p:not(.kicker){font-size:16px!important;line-height:1.85!important;color:#a9b9d3!important}\r\n#ok3d-projets .form-grid{gap:26px 22px}\r\n#ok3d-projets .field input,#ok3d-projets .field select,#ok3d-projets .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}\r\n#ok3d-projets .field textarea{min-height:115px}\r\n#ok3d-projets .form-status{margin-top:16px!important;line-height:1.8!important}\r\n#ok3d-projets .form-status.error{color:#ffc4c4!important}\r\n#ok3d-projets .form-status.success{color:#b6d3ff!important}\r\n#ok3d-projets .form-privacy{margin-top:18px!important;font-size:12px!important}\r\n#ok3d-projets .form-status a{text-decoration:underline!important}\r\n#ok3d-projets .field input::placeholder,#ok3d-projets .field textarea::placeholder{color:#96a7c4!important}\r\n#ok3d-projets .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}\r\n#ok3d-projets .page-dialog::backdrop{background:#020510ed;backdrop-filter:blur(12px)}\r\n#ok3d-projets .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}\r\n#ok3d-projets .dialog-top>span{font-size:12px;color:#abbeda;letter-spacing:.1em}\r\n#ok3d-projets .close-dialog{border:1px solid #ffffff40;border-radius:3px;background:transparent;width:42px;height:42px;flex-shrink:0;font-size:25px}\r\n#ok3d-projets .modal-media{height:min(53svh,540px);background:#080b12;display:flex;align-items:center;justify-content:center}\r\n#ok3d-projets .modal-media iframe,#ok3d-projets .modal-media img{width:100%;height:100%;object-fit:contain;border:0;display:block}\r\n#ok3d-projets .modal-copy{padding:30px 35px}\r\n#ok3d-projets .modal-tag{font-size:12px!important;letter-spacing:.08em!important;color:#97b0db!important;text-transform:uppercase}\r\n#ok3d-projets .modal-title{font-size:clamp(30px,3.1vw,44px)!important;line-height:1.15!important;letter-spacing:-.045em!important;margin-top:12px!important}\r\n#ok3d-projets .modal-desc{font-size:17px!important;line-height:1.85!important;color:#aebed6!important;margin-top:20px!important}\r\n#ok3d-projets .modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}\r\n#ok3d-projets .modal-nav{padding:18px 30px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;gap:18px}\r\n#ok3d-projets .modal-nav button{background:none;border:0;padding:6px 0;color:#b6cbed!important;font-size:14px}\r\n#ok3d-projets .modal-nav span{font-size:12px;color:#a4b9da}\r\n#ok3d-projets .other-expertises{border-top:1px solid #ffffff1a;padding:28px 0}\r\n#ok3d-projets .other-expertises .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}\r\n#ok3d-projets .other-expertises a{font-size:14px;color:#b6c9ed!important;border-bottom:1px solid #7298ff55;padding-bottom:5px}\r\n#ok3d-projets .reveal{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}\r\n#ok3d-projets .reveal.pending{opacity:0;transform:translateY(20px)}\r\n#ok3d-projets .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%)}\r\n#ok3d-projets .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}\r\n#ok3d-projets .site-window-bar{height:28px;padding:0 12px;background:#1d2941;display:flex;justify-content:space-between;align-items:center;color:#a7b8d4;font-size:10px}\r\n#ok3d-projets .site-window-nav{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}\r\n#ok3d-projets .site-window-nav img{width:65px;height:auto}\r\n#ok3d-projets .site-window-nav>span{font-size:9px;color:#b4c2d8}\r\n#ok3d-projets .site-window-content{position:relative;isolation:isolate;height:235px;padding:22px;overflow:hidden}\r\n#ok3d-projets .site-window-content>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}\r\n#ok3d-projets .site-window-content::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050b17e8,#050b1770);z-index:-1}\r\n#ok3d-projets .site-window-content small{font-size:8px;color:#c0cee9;letter-spacing:.08em}\r\n#ok3d-projets .site-window-content strong{display:block;font-family:var(--display)!important;font-size:43px;line-height:1.02;letter-spacing:-.065em;margin-top:15px}\r\n#ok3d-projets .site-window-content strong em{color:#99b4ff;font-family:var(--display)!important;font-style:normal}\r\n#ok3d-projets .site-window-content .mini-cta{display:inline-block;font-size:9px;padding:7px 10px;background:#537fff;border-radius:3px;margin-top:20px}\r\n#ok3d-projets .site-demo[data-format=\"mobile\"] .site-window{width:200px;border-radius:18px}\r\n#ok3d-projets .site-demo[data-format=\"mobile\"] .site-window-nav{padding-inline:15px}\r\n#ok3d-projets .site-demo[data-format=\"mobile\"] .site-window-nav>span{display:none}\r\n#ok3d-projets .site-demo[data-format=\"mobile\"] .site-window-content{padding:22px 15px}\r\n#ok3d-projets .site-demo[data-format=\"mobile\"] .site-window-content strong{font-size:36px}\r\n#ok3d-projets .site-demo[data-format=\"mobile\"] .site-window-nav::after{content:'\u2630';font-size:15px}\r\n#ok3d-projets .portfolio-intro{padding:165px 0 65px;border-bottom:1px solid #ffffff20;background:radial-gradient(ellipse at 85% 15%,#23396655,transparent 65%)}\r\n#ok3d-projets .portfolio-intro .wrap{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:end}\r\n#ok3d-projets .portfolio-intro h1{font-size:clamp(56px,6.7vw,96px)!important;line-height:1.04!important;letter-spacing:-.065em!important;margin-top:22px!important}\r\n#ok3d-projets .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}\r\n#ok3d-projets .portfolio-meta strong{font-family:var(--display)!important;color:#e1ebff;font-size:27px;margin-right:8px}\r\n#ok3d-projets .filter-bar{position:sticky;top:82px;z-index:15;border-bottom:1px solid #ffffff1b;background:#080a10ed;backdrop-filter:blur(20px)}\r\n#ok3d-projets .filter-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;padding-bottom:16px}\r\n#ok3d-projets .filters{display:flex;flex-wrap:wrap;gap:5px}\r\n#ok3d-projets .filters button{padding:10px 14px;min-height:42px;background:none;border:1px solid transparent;border-radius:4px;color:#a9bad5!important;font-size:14px}\r\n#ok3d-projets .filters button span{font-size:11px;opacity:.65;margin-left:8px}\r\n#ok3d-projets .filters button[aria-pressed=\"true\"]{background:#7498ff1b;border-color:#759bff66;color:#e0eaff!important}\r\n#ok3d-projets .result-count{font-size:12px!important;color:#9eb1d2!important;white-space:nowrap}\r\n#ok3d-projets .portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px 24px;padding-top:38px;padding-bottom:75px;align-items:stretch}\r\n#ok3d-projets .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}\r\n#ok3d-projets .portfolio-card[data-shape=\"feature\"]{grid-column:span 7}\r\n#ok3d-projets .portfolio-card[data-shape=\"portrait\"]{grid-column:span 5}\r\n#ok3d-projets .portfolio-card[data-shape=\"full\"]{grid-column:span 12}\r\n#ok3d-projets .portfolio-card[data-shape=\"half\"]{grid-column:span 6}\r\n#ok3d-projets .portfolio-card:hover{border-color:#81a3ff88;box-shadow:0 15px 50px #0004}\r\n#ok3d-projets .portfolio-card>a{display:flex;flex-direction:column;height:100%}\r\n#ok3d-projets .p-media{height:280px;position:relative;overflow:hidden;background:#141d2e}\r\n#ok3d-projets .portfolio-card[data-shape=\"feature\"] .p-media,#ok3d-projets .portfolio-card[data-shape=\"portrait\"] .p-media{height:390px}\r\n#ok3d-projets .portfolio-card[data-shape=\"full\"] .p-media{height:430px}\r\n#ok3d-projets .p-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}\r\n#ok3d-projets .portfolio-card:hover .p-media img{transform:scale(1.035)}\r\n#ok3d-projets .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}\r\n#ok3d-projets .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}\r\n#ok3d-projets .portfolio-card:hover .p-open{transform:rotate(45deg);background:#547eff}\r\n#ok3d-projets .p-film{position:absolute;bottom:22px;left:17px;padding:5px 9px;border-radius:3px;background:#080e1ac9;font-size:11px;color:white}\r\n#ok3d-projets .p-copy{padding:23px;flex:1}\r\n#ok3d-projets .p-tag{font-size:11px!important;letter-spacing:.07em!important;line-height:1.6!important;text-transform:uppercase;color:#95abd2!important}\r\n#ok3d-projets .p-copy h2{font-size:24px!important;line-height:1.22!important;letter-spacing:-.045em!important;margin-top:10px!important}\r\n#ok3d-projets .p-copy .p-desc{font-size:14px!important;line-height:1.8!important;color:#a6b6ce!important;margin-top:13px!important}\r\n#ok3d-projets .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}\r\n#ok3d-projets .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}\r\n#ok3d-projets .type-sub{font-size:12px;letter-spacing:.14em;color:#7f9cc9;margin-top:24px}\r\n#ok3d-projets .portfolio-cta{padding:75px 0;background:radial-gradient(ellipse at 90% 100%,#22396166,transparent 65%),#0d1420;border-block:1px solid #ffffff1c}\r\n#ok3d-projets .portfolio-cta .wrap{display:flex;justify-content:space-between;gap:40px;align-items:center}\r\n#ok3d-projets .portfolio-cta h2{font-size:clamp(36px,4.1vw,60px)!important;line-height:1.12!important;letter-spacing:-.055em!important;margin-top:20px!important}\r\n#ok3d-projets .portfolio-cta p:not(.kicker){margin-top:20px!important;color:#b1c1d8!important;line-height:1.8!important;font-size:16px!important}\r\n#ok3d-projets .header .nav a{white-space:nowrap}\r\n@media(min-width:1001px){#ok3d-projets .header .menu-toggle{display:none}}\r\n@media(max-width:1100px){#ok3d-projets .expert-hero-inner{gap:38px}#ok3d-projets .expert-title{font-size:clamp(46px,5.5vw,66px)!important}#ok3d-projets .expert-picture,#ok3d-projets .site-demo{height:350px}#ok3d-projets .selected-media{height:230px}#ok3d-projets .p-media{height:240px}#ok3d-projets .portfolio-card[data-shape=\"feature\"] .p-media,#ok3d-projets .portfolio-card[data-shape=\"portrait\"] .p-media{height:330px}#ok3d-projets .p-copy{padding:19px}#ok3d-projets .p-copy h2{font-size:22px!important}}\r\n@media(max-width:1000px){#ok3d-projets .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-projets .header .nav.open{display:flex}#ok3d-projets .header .nav a{font-size:17px!important;padding-block:12px}#ok3d-projets .header.is-scrolled .nav{top:82px}#ok3d-projets .header .menu-toggle{display:block}#ok3d-projets .header-contact{display:none}#ok3d-projets .expert-hero-inner{grid-template-columns:1fr;gap:42px}#ok3d-projets .expert-title{font-size:clamp(52px,8.5vw,80px)!important}#ok3d-projets .expert-visual{max-width:690px;width:100%}#ok3d-projets .expert-picture,#ok3d-projets .site-demo{height:430px}#ok3d-projets .offer-grid{gap:20px}#ok3d-projets .offer{padding-right:5px}#ok3d-projets .offer h3{font-size:25px!important}#ok3d-projets .approach-grid{gap:50px}#ok3d-projets .portfolio-intro .wrap{gap:35px}#ok3d-projets .portfolio-intro h1{font-size:clamp(50px,7vw,72px)!important}}\r\n@media(max-width:800px){#ok3d-projets .portfolio-intro .wrap{grid-template-columns:1fr;gap:28px}#ok3d-projets .portfolio-intro{padding-top:150px}#ok3d-projets .portfolio-intro .subtext{max-width:590px}#ok3d-projets .filter-inner{display:block}#ok3d-projets .result-count{margin-top:10px!important}#ok3d-projets .portfolio-card,#ok3d-projets .portfolio-card[data-shape=\"feature\"],#ok3d-projets .portfolio-card[data-shape=\"portrait\"],#ok3d-projets .portfolio-card[data-shape=\"half\"]{grid-column:span 6}#ok3d-projets .portfolio-card[data-shape=\"full\"]{grid-column:span 12}#ok3d-projets .portfolio-card .p-media,#ok3d-projets .portfolio-card[data-shape] .p-media{height:280px}#ok3d-projets .portfolio-card[data-shape=\"full\"] .p-media{height:350px}#ok3d-projets .selected-grid{grid-template-columns:1fr 1fr}#ok3d-projets .selected-card:last-child{grid-column:span 2}#ok3d-projets .selected-card:last-child .selected-media{height:320px}}\r\n@media(max-width:700px){#ok3d-projets .header-inner{min-height:72px;height:78px}#ok3d-projets .header .logo img{height:31px!important;max-width:132px!important}#ok3d-projets .header .nav{top:78px}#ok3d-projets .header.is-scrolled .nav{top:72px}#ok3d-projets .header .nav a::after{display:none}#ok3d-projets .expert-hero{padding-top:130px;padding-bottom:45px}#ok3d-projets .expert-title{font-size:clamp(42px,10.6vw,67px)!important}#ok3d-projets .subtext{font-size:16px!important;margin-top:22px!important}#ok3d-projets .expert-actions{gap:12px}#ok3d-projets .expert-actions .btn{padding-inline:19px;gap:20px}#ok3d-projets .expert-picture,#ok3d-projets .site-demo{height:340px}#ok3d-projets .expert-strip{font-size:11px;gap:15px;padding-top:25px}#ok3d-projets .expert-strip span+span{padding-left:15px}#ok3d-projets .section-head h2{font-size:clamp(34px,10vw,43px)!important}#ok3d-projets .section-head>p{margin-top:20px!important}#ok3d-projets .offer-grid{grid-template-columns:1fr;gap:0}#ok3d-projets .offer{padding:30px 0;border-bottom:1px solid #ffffff18}#ok3d-projets .offer h3{font-size:29px!important;margin-top:17px!important}#ok3d-projets .selected-grid{display:block}#ok3d-projets .selected-card{margin-bottom:22px}#ok3d-projets .selected-card .selected-media,#ok3d-projets .selected-card:last-child .selected-media{height:280px}#ok3d-projets .approach-grid{grid-template-columns:1fr;gap:30px}#ok3d-projets .approach-heading{position:static}#ok3d-projets .approach-heading h2{font-size:43px!important}#ok3d-projets .approach-step{gap:16px}#ok3d-projets .form-grid{grid-template-columns:1fr}#ok3d-projets .field.full{grid-column:auto}#ok3d-projets .contact h2{font-size:clamp(38px,11vw,53px)!important}#ok3d-projets .contact-grid{gap:40px}#ok3d-projets .page-dialog{width:96vw;max-height:94svh}#ok3d-projets .modal-media{height:34svh;min-height:175px}#ok3d-projets .modal-copy{padding:25px 22px}#ok3d-projets .modal-title{font-size:30px!important}#ok3d-projets .modal-desc{font-size:16px!important}#ok3d-projets .modal-actions{flex-direction:column}#ok3d-projets .modal-nav{padding:14px 18px;gap:12px}#ok3d-projets .modal-nav button{font-size:12px}#ok3d-projets .dialog-top{padding:10px 15px}#ok3d-projets .dialog-top>span{font-size:10px}#ok3d-projets .portfolio-intro{padding-top:128px;padding-bottom:40px}#ok3d-projets .portfolio-intro h1{font-size:clamp(45px,12vw,68px)!important}#ok3d-projets .filter-bar{top:72px}#ok3d-projets .filters button{font-size:12px;padding:8px 10px;min-height:38px}#ok3d-projets .filter-inner{padding-block:12px}#ok3d-projets .portfolio-cta .wrap{align-items:start;flex-direction:column}#ok3d-projets .portfolio-cta{padding-block:55px}#ok3d-projets .site-window-content strong{font-size:39px}}\r\n@media(max-width:540px){#ok3d-projets .portfolio-grid{display:block;padding-top:25px;padding-bottom:40px}#ok3d-projets .portfolio-card{margin-bottom:24px}#ok3d-projets .portfolio-card .p-media,#ok3d-projets .portfolio-card[data-shape] .p-media{height:auto;aspect-ratio:1.22}#ok3d-projets .p-copy{padding:23px}#ok3d-projets .p-copy h2{font-size:24px!important}#ok3d-projets .p-copy .p-desc{font-size:15px!important}#ok3d-projets .type-project{font-size:45px}#ok3d-projets .portfolio-meta{gap:20px}#ok3d-projets .visual-tabs button{font-size:12px;padding-inline:11px}#ok3d-projets .visual-caption{padding-inline:15px;gap:10px}#ok3d-projets .visual-caption>span{font-size:12px}#ok3d-projets .visual-caption button{font-size:12px}#ok3d-projets .expert-picture{height:300px}}\r\n@media(max-width:359px){#ok3d-projets .expert-title{font-size:40px!important}#ok3d-projets .expert-picture,#ok3d-projets .site-demo{height:290px}#ok3d-projets .visual-header{padding-inline:14px}#ok3d-projets .visual-header span{font-size:10px!important}#ok3d-projets .site-window-content{padding:18px 14px}#ok3d-projets .site-window-content strong{font-size:32px}#ok3d-projets .expert-strip{gap:9px}#ok3d-projets .expert-strip span+span{padding-left:9px}#ok3d-projets .other-expertises .wrap{flex-direction:column}}\r\n@media(prefers-reduced-motion:reduce){#ok3d-projets *,#ok3d-projets *::before,#ok3d-projets *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#ok3d-projets .reveal.pending{opacity:1;transform:none}}\r\n\r\n\r\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\r\n   HEADER \u2014 synchronis\u00e9 avec la page d'accueil OK3D\r\n   (override final volontaire pour neutraliser les variantes Astra)\r\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 *\/\r\n#ok3d-projets .header{\r\n  position:fixed!important;\r\n  top:0!important;left:0!important;width:100%!important;\r\n  z-index:80!important;\r\n  background:linear-gradient(180deg,rgba(8,10,16,.18),rgba(8,10,16,0))!important;\r\n  -webkit-backdrop-filter:none!important;\r\n  backdrop-filter:none!important;\r\n  border-bottom:1px solid rgba(255,255,255,.12)!important;\r\n  box-shadow:none!important;\r\n  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease!important;\r\n}\r\n#ok3d-projets .header.is-scrolled{\r\n  background:rgba(8,10,16,.72)!important;\r\n  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;\r\n  backdrop-filter:blur(18px) saturate(145%)!important;\r\n  border-bottom-color:rgba(100,140,255,.22)!important;\r\n  box-shadow:0 10px 34px rgba(0,0,0,.18),0 1px 0 rgba(100,140,255,.06) inset!important;\r\n}\r\n#ok3d-projets .header-inner{\r\n  display:flex!important;\r\n  align-items:center!important;\r\n  justify-content:space-between!important;\r\n  height:94px!important;\r\n  min-height:0!important;\r\n  gap:24px!important;\r\n  transition:height .3s ease!important;\r\n}\r\n#ok3d-projets .header.is-scrolled .header-inner{height:82px!important}\r\n#ok3d-projets .header .logo{display:flex!important;align-items:center!important;flex-shrink:0!important;line-height:1!important}\r\n#ok3d-projets .header .logo img{\r\n  display:block!important;\r\n  width:auto!important;\r\n  height:34px!important;\r\n  max-width:none!important;\r\n  object-fit:contain!important;\r\n  transition:transform .3s ease,filter .3s ease!important;\r\n}\r\n#ok3d-projets .header .logo:hover img{transform:translateY(-1px);filter:drop-shadow(0 0 12px rgba(100,140,255,.16))}\r\n#ok3d-projets .header .nav{display:flex;gap:34px;align-items:center}\r\n#ok3d-projets .header .nav a{\r\n  position:relative!important;\r\n  padding:10px 0!important;\r\n  font-size:14px!important;\r\n  line-height:1.4!important;\r\n  font-weight:400!important;\r\n  color:#c4cad8!important;\r\n  white-space:nowrap;\r\n  transition:color .25s ease!important;\r\n}\r\n#ok3d-projets .header .nav a:hover,#ok3d-projets .header .nav a:focus-visible{color:#fff!important}\r\n#ok3d-projets .header .nav a::after{\r\n  content:\"\"!important;\r\n  position:absolute!important;\r\n  left:0!important;right:0!important;bottom:3px!important;height:1px!important;\r\n  background:linear-gradient(90deg,transparent,var(--blue),transparent)!important;\r\n  transform:scaleX(0)!important;\r\n  transform-origin:center!important;\r\n  opacity:.85!important;\r\n  transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;\r\n}\r\n#ok3d-projets .header .nav a:hover::after,#ok3d-projets .header .nav a:focus-visible::after{transform:scaleX(1)!important}\r\n#ok3d-projets .header-contact{\r\n  display:inline-flex!important;\r\n  align-items:center!important;\r\n  position:relative!important;\r\n  overflow:hidden!important;\r\n  font-size:14px!important;\r\n  color:var(--text)!important;\r\n  border:1px solid rgba(130,164,255,.38)!important;\r\n  padding:10px 18px!important;\r\n  border-radius:3px!important;\r\n  background:linear-gradient(135deg,rgba(100,140,255,.10),rgba(100,140,255,.025))!important;\r\n  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;\r\n  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease!important;\r\n}\r\n#ok3d-projets .header-contact::before{\r\n  content:\"\"!important;position:absolute!important;inset:-60% auto -60% -35%!important;width:28%!important;\r\n  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)!important;\r\n  transform:skewX(-18deg) translateX(-220%)!important;transition:transform .65s ease!important;pointer-events:none!important;\r\n}\r\n#ok3d-projets .header-contact:hover{\r\n  transform:translateY(-1px)!important;\r\n  border-color:rgba(132,166,255,.72)!important;\r\n  background:linear-gradient(135deg,rgba(100,140,255,.17),rgba(100,140,255,.045))!important;\r\n  box-shadow:0 8px 28px rgba(48,78,166,.12),inset 0 0 0 1px rgba(255,255,255,.035)!important;\r\n}\r\n#ok3d-projets .header-contact:hover::before{transform:skewX(-18deg) translateX(620%)!important}\r\n#ok3d-projets .menu-toggle{display:none!important;background:transparent!important;border:1px solid var(--line)!important;padding:8px 13px!important;font-size:14px!important}\r\n\r\n@media(max-width:1000px) and (min-width:701px){\r\n  #ok3d-projets .header .logo img{height:33px!important}\r\n  #ok3d-projets .header .nav{display:flex!important;position:static!important;inset:auto!important;padding:0!important;background:transparent!important;border:0!important;backdrop-filter:none!important;flex-direction:row!important;align-items:center!important;gap:20px!important}\r\n  #ok3d-projets .header .nav a{font-size:14px!important;padding:10px 0!important}\r\n  #ok3d-projets .header-contact{display:inline-flex!important}\r\n  #ok3d-projets .menu-toggle{display:none!important}\r\n}\r\n@media(max-width:700px){\r\n  #ok3d-projets .header-inner{height:78px!important;min-height:0!important}\r\n  #ok3d-projets .header.is-scrolled .header-inner{height:72px!important}\r\n  #ok3d-projets .header .logo img{height:31px!important;max-width:none!important}\r\n  #ok3d-projets .header-contact{display:none!important}\r\n  #ok3d-projets .menu-toggle{display:block!important}\r\n  #ok3d-projets .header .nav{\r\n    display:none!important;position:absolute!important;top:78px!important;left:0!important;right:0!important;\r\n    padding:25px var(--gutter)!important;background:#0b101ded!important;border-bottom:1px solid var(--line)!important;\r\n    -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;\r\n    flex-direction:column!important;align-items:stretch!important;gap:0!important;\r\n  }\r\n  #ok3d-projets .header.is-scrolled .nav{top:72px!important}\r\n  #ok3d-projets .header .nav.open{display:flex!important}\r\n  #ok3d-projets .header .nav a{font-size:17px!important;padding:12px 0!important}\r\n  #ok3d-projets .header .nav a::after{display:none!important}\r\n}\r\n@media(prefers-reduced-motion:reduce){\r\n  #ok3d-projets .header,#ok3d-projets .header-inner,#ok3d-projets .header .logo img,#ok3d-projets .header .nav a::after,#ok3d-projets .header-contact,#ok3d-projets .header-contact::before{transition:none!important}\r\n}\r\n\r\n\/* Mosa\u00efque \u00e9quilibr\u00e9e : ordre \u00e9ditorial et rang\u00e9es compl\u00e8tes. *\/\r\n#ok3d-projets .portfolio-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:stretch;grid-auto-flow:row}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-shape]{grid-column:span var(--portfolio-span,4);margin:0;min-width:0;align-self:stretch}\r\n#ok3d-projets .portfolio-grid .portfolio-card[hidden]{display:none!important}\r\n#ok3d-projets .portfolio-grid .portfolio-card>a{display:flex;flex-direction:column;height:100%;min-width:0}\r\n#ok3d-projets .portfolio-grid .portfolio-card .p-media{height:clamp(230px,23vw,320px);aspect-ratio:auto;flex:none;isolation:isolate}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-highlight=\"true\"] .p-media{height:clamp(300px,30vw,420px)}\r\n#ok3d-projets .portfolio-grid .p-media img{display:block;width:100%;height:100%;object-position:center}\r\n\r\n\r\n#ok3d-projets .portfolio-grid .p-copy{flex:1;min-width:0}\r\n#ok3d-projets .portfolio-grid .p-copy h2{overflow-wrap:anywhere}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-highlight=\"true\"]{border-color:#8faeff4d}\r\n#ok3d-projets .portfolio-grid .p-kind{max-width:calc(100% - 75px)}\r\n#ok3d-projets .portfolio-grid[data-filtered=\"true\"] .portfolio-card[data-shape] .p-media{height:clamp(230px,23vw,320px)}\r\n@media(max-width:800px){\r\n#ok3d-projets .portfolio-grid{gap:20px}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-shape]{grid-column:span 6}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-last-single=\"true\"]{grid-column:span 12}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-shape] .p-media,#ok3d-projets .portfolio-grid[data-filtered=\"true\"] .portfolio-card[data-shape] .p-media{height:290px}\r\n}\r\n@media(max-width:540px){\r\n#ok3d-projets .portfolio-grid{grid-template-columns:minmax(0,1fr);gap:22px}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-shape]{grid-column:1\/-1}\r\n#ok3d-projets .portfolio-grid .portfolio-card[data-shape] .p-media,#ok3d-projets .portfolio-grid[data-filtered=\"true\"] .portfolio-card[data-shape] .p-media{height:auto;aspect-ratio:1.18}\r\n\r\n}\r\n\r\n\/* Vignettes projets \u2014 plein cadre *\/\r\n#ok3d-projets .portfolio-card .p-media img{\r\n  width:100%!important;\r\n  height:100%!important;\r\n  object-fit:cover!important;\r\n  object-position:center center;\r\n}\r\n\r\n<\/style>\r\n<script>(()=>{'use strict';\r\nconst root=document.getElementById('ok3d-projets');if(!root||root.dataset.initialized)return;root.dataset.initialized='true';\r\nconst $=s=>root.querySelector(s),$$=s=>[...root.querySelectorAll(s)];\r\nconst data=JSON.parse($('[data-projects]').textContent),reduced=matchMedia('(prefers-reduced-motion: reduce)');\r\n\r\n\r\n\/\/ Le lien vers la fiche est p.href ; p.external est un \u00e9ventuel site tiers.\r\nfunction projectPageURL(p){\r\n const raw=p.href||p.external;\r\n if(!raw)return '';\r\n try{\r\n  const url=new URL(raw,location.origin);\r\n  if(!['https:','http:'].includes(url.protocol))return '';\r\n  if(url.origin===location.origin && (\/^en(?:-|$)\/i.test(document.documentElement.lang)||\/^\\\/en(?:\\\/|$)\/.test(location.pathname)) && !\/^\\\/en(?:\\\/|$)\/.test(url.pathname))url.pathname='\/en'+url.pathname;\r\n  return url.href;\r\n }catch{return '';}\r\n}\r\n$$('.portfolio-card a[data-open]').forEach(link=>{\r\n const p=data.find(item=>item.slug===link.dataset.open);\r\n const url=p&&projectPageURL(p);if(url)link.href=url;\r\n});\r\n\r\n$$('[data-year]').forEach(el=>el.textContent=new Date().getFullYear());\r\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);});}\r\nconst hero=$('.expert-hero');if(hero&&matchMedia('(pointer:fine)').matches&&!reduced.matches){hero.addEventListener('pointermove',e=>{const r=hero.getBoundingClientRect();hero.style.background='radial-gradient(ellipse at '+Math.round((e.clientX-r.left)\/r.width*100)+'% '+Math.round((e.clientY-r.top)\/r.height*100)+'%,#23376355,transparent 65%)';});}\r\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;}));\r\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)));}));\r\nlet activeFilter='all',currentSlug=null,previousOverflow='',opener=null;\r\nconst dialog=$('.page-dialog'),media=$('.modal-media');\r\nconst visible=()=>data.filter(p=>activeFilter==='all'||p.cat.includes(activeFilter));\r\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]');const pageURL=projectPageURL(p);detail.hidden=!pageURL;if(pageURL)detail.href=pageURL;else detail.removeAttribute('href');const list=visible(),index=list.findIndex(q=>q.slug===slug);$('[data-position]').textContent=(index+1)+' \/ '+list.length;dialog.scrollTop=0;return true;}\r\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);}\r\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});}\r\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();}});\r\nroot.addEventListener('click',e=>{const trigger=e.target.closest('[data-open]');if(!trigger||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||e.button!==0)return;if(typeof dialog.showModal!=='function')return;e.preventDefault();openProject(trigger.dataset.open,trigger);});\r\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);}\r\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);}});\r\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);});\r\nfunction arrangePortfolio(){\r\n $('.portfolio-grid').dataset.filtered=String(activeFilter!=='all');\r\n const cards=$$('.portfolio-card');const shown=cards.filter(card=>!card.hidden);const spans=[];\r\n if(activeFilter==='all')spans.push(7,5,5,7,6,6);\r\n let remaining=shown.length-spans.length;\r\n while(remaining>0){if(remaining===1){spans.push(12);remaining--;}else if(remaining===2||remaining===4){spans.push(6,6);remaining-=2;}else{spans.push(4,4,4);remaining-=3;}}\r\n cards.forEach(card=>delete card.dataset.lastSingle);\r\n shown.forEach((card,i)=>card.style.setProperty('--portfolio-span',spans[i]));\r\n if(shown.length%2)shown[shown.length-1].dataset.lastSingle='true';\r\n}\r\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');});arrangePortfolio();$('[data-count]').textContent=visible().length+' projets';}));\r\narrangePortfolio();\r\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);}\r\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;}});}\r\n})();\r\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 Portfolio \/ S\u00e9lection de r\u00e9alisations Les id\u00e9es passent.Les images restent. 3D, animation, design et web. Des univers diff\u00e9rents, une m\u00eame exigence : cr\u00e9er juste, jusque dans les d\u00e9tails. 32 projets \u00e0 explorer03 expertises compl\u00e9mentaires Tout 323D 21Animation 13Design graphique 11Webdesign 6 32 projets 3D + Motion\u2197\u25b6 Film disponible Animation 3D \u00b7 Mod\u00e9lisation [&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-14833","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/pages\/14833","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=14833"}],"version-history":[{"count":104,"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/pages\/14833\/revisions"}],"predecessor-version":[{"id":15639,"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/pages\/14833\/revisions\/15639"}],"wp:attachment":[{"href":"https:\/\/www.ok3d.fr\/en\/wp-json\/wp\/v2\/media?parent=14833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}