{"id":2117,"date":"2026-05-27T10:53:35","date_gmt":"2026-05-27T08:53:35","guid":{"rendered":"https:\/\/webdev.playmoove.com\/il-nostro-approccio\/"},"modified":"2026-07-17T17:50:37","modified_gmt":"2026-07-17T15:50:37","slug":"il-nostro-approccio","status":"publish","type":"page","link":"https:\/\/webdev.playmoove.com\/it\/il-nostro-approccio\/","title":{"rendered":"Come lavoriamo"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2117\" class=\"elementor elementor-2117 elementor-298\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a725bcf e-con-full animated-slow pm-cta-morph-section pm-home-cta e-flex elementor-invisible e-con e-parent\" data-id=\"a725bcf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2064a73 animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"2064a73\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInDown&quot;,&quot;_animation_delay&quot;:750}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Come lavoriamo<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb44ebc pm-approach-intro-text elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"eb44ebc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Configuriamo la piattaforma in base alle vostre esigenze, la allineiamo alle vostre policy e la integriamo con l\u2019infrastruttura esistente. Coordinamento degli stakeholder, documentazione di conformit\u00e0 e implementazioni progressive: lavoriamo nel rispetto dei vincoli dei progetti reali, non sulla base delle presentazioni teoriche tipiche delle startup.<br \/> <\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65f6154 animated-slow elementor-align-center elementor-invisible elementor-widget elementor-widget-button\" data-id=\"65f6154\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:600}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/webdev.playmoove.com\/it\/contatti\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 24 20\" fill=\"none\"><path d=\"M23.7075 10.7081L14.7075 19.7081C14.5199 19.8957 14.2654 20.0011 14 20.0011C13.7346 20.0011 13.4801 19.8957 13.2925 19.7081C13.1049 19.5204 12.9994 19.2659 12.9994 19.0006C12.9994 18.7352 13.1049 18.4807 13.2925 18.2931L20.5863 11.0006H1C0.734784 11.0006 0.48043 10.8952 0.292893 10.7077C0.105357 10.5201 0 10.2658 0 10.0006C0 9.73534 0.105357 9.48099 0.292893 9.29345C0.48043 9.10591 0.734784 9.00056 1 9.00056H20.5863L13.2925 1.70806C13.1049 1.52042 12.9994 1.26592 12.9994 1.00056C12.9994 0.735192 13.1049 0.480697 13.2925 0.293056C13.4801 0.105415 13.7346 0 14 0C14.2654 0 14.5199 0.105415 14.7075 0.293056L23.7075 9.29306C23.8005 9.38593 23.8742 9.49622 23.9246 9.61762C23.9749 9.73901 24.0008 9.86914 24.0008 10.0006C24.0008 10.132 23.9749 10.2621 23.9246 10.3835C23.8742 10.5049 23.8005 10.6152 23.7075 10.7081Z\" fill=\"white\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Prenota una chiamata strategica<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0cb8a18 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"0cb8a18\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"pm-morph-bg\" aria-hidden=\"true\">\r\n  <svg class=\"morph-bg-svg\" viewbox=\"-25 0 240 66\" preserveaspectratio=\"xMidYMid slice\">\r\n\r\n    <g class=\"pm-shape pm-s1\">\r\n      <polygon points=\"39.9 25.5 27.2 25.5 27.2 12.7 14.5 12.7 14.5 0 0 0 0 14.4 12.8 14.4 12.8 27.1 25.5 27.1 25.5 38.2 12.8 38.2 12.8 50.9 0 50.9 0 65.3 14.5 65.3 14.5 52.6 27.2 52.6 27.2 39.9 39.9 39.9 39.9 25.5\"\/>\r\n    <\/g>\r\n\r\n    <g class=\"pm-shape pm-s2\">\r\n      <path d=\"M87.1,25.5h-6.9c-1.6,0-2.9-1.3-2.9-2.9v-6.9c0-1.6-1.3-2.9-2.9-2.9h-6.9c-1.6,0-2.9-1.3-2.9-2.9V3c0-1.6-1.3-2.9-2.9-2.9h-8.6c-1.6,0-2.9,1.3-2.9,2.9v8.6c0,1.6,1.3,2.9,2.9,2.9h6.9c1.6,0,2.9,1.3,2.9,2.9v6.9c0,1.6,1.3,2.9,2.9,2.9h6.9c1.6,0,2.9,1.3,2.9,2.9v5.2c0,1.6-1.3,2.9-2.9,2.9h-6.9c-1.6,0-2.9,1.3-2.9,2.9v6.9c0,1.6-1.3,2.9-2.9,2.9h-6.9c-1.6,0-2.9,1.3-2.9,2.9v8.6c0,1.6,1.3,2.9,2.9,2.9h8.6c1.6,0,2.9-1.3,2.9-2.9v-6.9c0-1.6,1.3-2.9,2.9-2.9h6.9c1.6,0,2.9-1.3,2.9-2.9v-6.9c0-1.6,1.3-2.9,2.9-2.9h6.9c1.6,0,2.9-1.3,2.9-2.9v-8.6c0-1.6-1.3-2.9-2.9-2.9Z\"><\/path>\r\n    <\/g>\r\n\r\n    <g class=\"pm-shape pm-s3\">\r\n      <path d=\"M133,25.5h-1.8c-2.1,0-3.7-1.7-3.7-3.7v-1.9c0-3.9-3.2-7.1-7.1-7.1h-2c-2,0-3.6-1.6-3.6-3.6v-1.9c0-4-3.2-7.2-7.2-7.2h0c-4,0-7.2,3.2-7.2,7.2h0c0,4.1,3.2,7.2,7.1,7.2h1.9c2,0,3.7,1.7,3.7,3.7v1.8c0,4,3.2,7.2,7.2,7.2h1.9c2,0,3.7,1.6,3.7,3.7v3.6c0,2.1-1.7,3.8-3.8,3.8h-2c-3.9,0-7,3.1-7,7v2.3c0,1.9-1.5,3.4-3.4,3.4h-2.3c-3.9,0-7.1,3.2-7.1,7.1v.3c0,3.9,3.2,7,7,7h.5c3.8,0,6.9-3.1,6.9-6.9v-2.5c0-1.8,1.5-3.3,3.3-3.3h2.4c3.9,0,7-3.1,7-7v-2.5c0-1.8,1.4-3.2,3.2-3.2h2.5c3.9,0,7-3.1,7-7v-.2c0-3.9-3.2-7.2-7.2-7.2l.1-.1Z\"><\/path>\r\n    <\/g>\r\n\r\n    <g class=\"pm-shape pm-s4\">\r\n      <circle cx=\"157.2\" cy=\"6.5\" r=\"6.5\"\/>\r\n      <circle cx=\"157.2\" cy=\"58.9\" r=\"6.5\"\/>\r\n      <circle cx=\"170.3\" cy=\"19.6\" r=\"6.5\"\/>\r\n      <circle cx=\"170.3\" cy=\"45.8\" r=\"6.5\"\/>\r\n      <circle cx=\"183.4\" cy=\"32.7\" r=\"6.5\"\/>\r\n    <\/g>\r\n\r\n  <\/svg>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7d01af6 e-con-full animated-slow pm-approach-section e-flex e-con e-parent\" data-id=\"7d01af6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;none&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-a0f3f08 e-flex e-con-boxed e-con e-child\" data-id=\"a0f3f08\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b4b8367 e-con-full pm-approach-phase e-flex e-con e-child\" data-id=\"b4b8367\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-d3fb735 e-con-full e-flex e-con e-child\" data-id=\"d3fb735\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-2760b0e-6c12fdf e-svg-base\" data-interaction-id=\"2760b0e\" data-e-type=\"widget\" data-id=\"2760b0e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"currentColor\" style=\"width: 100%; height: 100%; overflow: unset;\" id=\"Livello_1\" viewBox=\"0 0 36.38 57.35\"><polygon points=\"34.65 22.63 24.27 22.63 24.27 12.25 13.89 12.25 13.89 1.87 2.14 1.87 2.14 13.62 12.52 13.62 12.52 24 22.9 24 22.9 33 12.52 33 12.52 43.38 2.14 43.38 2.14 55.13 13.89 55.13 13.89 44.75 24.27 44.75 24.27 34.38 34.65 34.38 34.65 22.63\" fill=\"#2cc18a\"><\/polygon><\/svg><\/div>\t\t\t\t<div class=\"elementor-element elementor-element-bcb1773 elementor-widget elementor-widget-heading\" data-id=\"bcb1773\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">ASCOLTO E ASSESSMENT\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dbc8a2c elementor-widget elementor-widget-text-editor\" data-id=\"dbc8a2c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tLa fase di analisi iniziale raccoglie i requisiti organizzativi, i vincoli tecnici e gli obiettivi degli stakeholder. Mappiamo l\u2019infrastruttura esistente, inclusi sistemi di pagamento, identity provider e piattaforme ERP; documentiamo i requisiti di conformit\u00e0 normativa, individuiamo le esigenze di applicazione delle policy e facciamo emergere eventuali ostacoli di natura politica o legati ai processi di procurement. Risultato della fase: un report di assessment contenente l\u2019analisi della fattibilit\u00e0 tecnica, i requisiti di integrazione e la valutazione dei rischi di implementazione.  \n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f69e3a6 e-con-full pm-approach-phase e-flex e-con e-child\" data-id=\"f69e3a6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-96e8905 e-con-full e-flex e-con e-child\" data-id=\"96e8905\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-a634d21-846c9ca e-svg-base\" data-interaction-id=\"a634d21\" data-e-type=\"widget\" data-id=\"a634d21\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"currentColor\" style=\"width: 100%; height: 100%; overflow: unset;\" id=\"Livello_1\" viewBox=\"0 0 36.38 57.35\"><polygon points=\"34.65 22.63 24.27 22.63 24.27 12.25 13.89 12.25 13.89 1.87 2.14 1.87 2.14 13.62 12.52 13.62 12.52 24 22.9 24 22.9 33 12.52 33 12.52 43.38 2.14 43.38 2.14 55.13 13.89 55.13 13.89 44.75 24.27 44.75 24.27 34.38 34.65 34.38 34.65 22.63\" fill=\"#2cc18a\"><\/polygon><\/svg><\/div>\t\t\t\t<div class=\"elementor-element elementor-element-675e5bf elementor-widget elementor-widget-heading\" data-id=\"675e5bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CONSULENZA E PROGETTAZIONE DELLA SOLUZIONE<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52a97f7 elementor-widget elementor-widget-text-editor\" data-id=\"52a97f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tLa progettazione del modello operativo traduce i requisiti istituzionali nella configurazione della piattaforma. Definiamo la struttura federata, distinguendo tra programmi indipendenti e implementazioni unificate; stabiliamo le policy territoriali e le relative regole di applicazione; configuriamo le modalit\u00e0 di prenotazione e le strutture tariffarie. Progettiamo inoltre i workflow di approvazione dei conducenti, definiamo l\u2019allocazione dei centri di costo e specifichiamo i punti di integrazione con i sistemi esistenti. Risultato della fase: un documento di architettura contenente le specifiche di configurazione, il progetto delle integrazioni e il piano temporale di implementazione.  \n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a4600d9 e-flex e-con-boxed e-con e-child\" data-id=\"a4600d9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c2a30dd e-con-full pm-approach-phase e-flex e-con e-child\" data-id=\"c2a30dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-20cc67f e-con-full e-flex e-con e-child\" data-id=\"20cc67f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-9b0eb78-34a4bbd e-svg-base\" data-interaction-id=\"9b0eb78\" data-e-type=\"widget\" data-id=\"9b0eb78\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"currentColor\" style=\"width: 100%; height: 100%; overflow: unset;\" id=\"Livello_1\" viewBox=\"0 0 36.38 57.35\"><polygon points=\"34.65 22.63 24.27 22.63 24.27 12.25 13.89 12.25 13.89 1.87 2.14 1.87 2.14 13.62 12.52 13.62 12.52 24 22.9 24 22.9 33 12.52 33 12.52 43.38 2.14 43.38 2.14 55.13 13.89 55.13 13.89 44.75 24.27 44.75 24.27 34.38 34.65 34.38 34.65 22.63\" fill=\"#2cc18a\"><\/polygon><\/svg><\/div>\t\t\t\t<div class=\"elementor-element elementor-element-5ecedac elementor-widget elementor-widget-heading\" data-id=\"5ecedac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PROGETTO PILOTA \/ POC<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ac1cb3b elementor-widget elementor-widget-text-editor\" data-id=\"ac1cb3b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tValidazione sul campo all\u2019interno di un ambiente controllato, con una flotta e un numero di utenti limitati. La fase pilota verifica i flussi di prenotazione configurati, convalida l\u2019accuratezza delle regole territoriali, conferma la stabilit\u00e0 delle integrazioni con i provider di pagamento e telematica e permette di individuare eventuali problemi di usabilit\u00e0 prima dell\u2019implementazione completa. La durata tipica del progetto pilota \u00e8 compresa tra quattro e otto settimane, con revisioni settimanali dello stato di avanzamento e un processo di miglioramento iterativo. Risultato della fase: un report sui risultati del progetto pilota, contenente metriche di performance, adeguamenti della configurazione e valutazione della preparazione al go-live.   \t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-675d8e5 e-con-full pm-approach-phase e-flex e-con e-child\" data-id=\"675d8e5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-a51733e e-con-full e-flex e-con e-child\" data-id=\"a51733e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-4f81662-5e50966 e-svg-base\" data-interaction-id=\"4f81662\" data-e-type=\"widget\" data-id=\"4f81662\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"currentColor\" style=\"width: 100%; height: 100%; overflow: unset;\" id=\"Livello_1\" viewBox=\"0 0 36.38 57.35\"><polygon points=\"34.65 22.63 24.27 22.63 24.27 12.25 13.89 12.25 13.89 1.87 2.14 1.87 2.14 13.62 12.52 13.62 12.52 24 22.9 24 22.9 33 12.52 33 12.52 43.38 2.14 43.38 2.14 55.13 13.89 55.13 13.89 44.75 24.27 44.75 24.27 34.38 34.65 34.38 34.65 22.63\" fill=\"#2cc18a\"><\/polygon><\/svg><\/div>\t\t\t\t<div class=\"elementor-element elementor-element-34844b2 elementor-widget elementor-widget-heading\" data-id=\"34844b2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">GO-LIVE E ROLLOUT<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3786d4c elementor-widget elementor-widget-text-editor\" data-id=\"3786d4c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tLancio in produzione con inserimento progressivo degli utenti e ampliamento graduale della flotta. Il piano di rollout coordina le comunicazioni con gli stakeholder, le campagne di registrazione dei conducenti, la programmazione della distribuzione dei veicoli e le sessioni di formazione degli operatori. Il supporto al go-live comprende un canale dedicato per la gestione delle escalation, revisioni giornaliere del monitoraggio e una risposta rapida agli eventuali problemi di configurazione. Un rollout completo richiede generalmente dalle due alle quattro settimane, dal lancio iniziale fino alla piena attivazione della flotta. Risultato della fase: implementazione in produzione, formazione degli operatori, materiali per l\u2019onboarding degli utenti e procedure per la gestione delle escalation.    \n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-69fb281 pm-cta-morph-section pm-home-cta e-flex e-con-boxed e-con e-parent\" data-id=\"69fb281\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-01d1ee0 elementor-widget elementor-widget-heading\" data-id=\"01d1ee0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Pronto a costruire la tua piattaforma?\n<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-abb37dd animated-slow elementor-invisible elementor-widget elementor-widget-button\" data-id=\"abb37dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:600}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/webdev.playmoove.com\/it\/contatti\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Contattaci<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-992c7fb elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"992c7fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"pm-morph-bg\" aria-hidden=\"true\">\r\n  <svg class=\"morph-bg-svg\" viewbox=\"-25 0 240 66\" preserveaspectratio=\"xMidYMid slice\">\r\n\r\n    <g class=\"pm-shape pm-s1\">\r\n      <polygon points=\"39.9 25.5 27.2 25.5 27.2 12.7 14.5 12.7 14.5 0 0 0 0 14.4 12.8 14.4 12.8 27.1 25.5 27.1 25.5 38.2 12.8 38.2 12.8 50.9 0 50.9 0 65.3 14.5 65.3 14.5 52.6 27.2 52.6 27.2 39.9 39.9 39.9 39.9 25.5\"\/>\r\n    <\/g>\r\n\r\n    <g class=\"pm-shape pm-s2\">\r\n      <path d=\"M87.1,25.5h-6.9c-1.6,0-2.9-1.3-2.9-2.9v-6.9c0-1.6-1.3-2.9-2.9-2.9h-6.9c-1.6,0-2.9-1.3-2.9-2.9V3c0-1.6-1.3-2.9-2.9-2.9h-8.6c-1.6,0-2.9,1.3-2.9,2.9v8.6c0,1.6,1.3,2.9,2.9,2.9h6.9c1.6,0,2.9,1.3,2.9,2.9v6.9c0,1.6,1.3,2.9,2.9,2.9h6.9c1.6,0,2.9,1.3,2.9,2.9v5.2c0,1.6-1.3,2.9-2.9,2.9h-6.9c-1.6,0-2.9,1.3-2.9,2.9v6.9c0,1.6-1.3,2.9-2.9,2.9h-6.9c-1.6,0-2.9,1.3-2.9,2.9v8.6c0,1.6,1.3,2.9,2.9,2.9h8.6c1.6,0,2.9-1.3,2.9-2.9v-6.9c0-1.6,1.3-2.9,2.9-2.9h6.9c1.6,0,2.9-1.3,2.9-2.9v-6.9c0-1.6,1.3-2.9,2.9-2.9h6.9c1.6,0,2.9-1.3,2.9-2.9v-8.6c0-1.6-1.3-2.9-2.9-2.9Z\"><\/path>\r\n    <\/g>\r\n\r\n    <g class=\"pm-shape pm-s3\">\r\n      <path d=\"M133,25.5h-1.8c-2.1,0-3.7-1.7-3.7-3.7v-1.9c0-3.9-3.2-7.1-7.1-7.1h-2c-2,0-3.6-1.6-3.6-3.6v-1.9c0-4-3.2-7.2-7.2-7.2h0c-4,0-7.2,3.2-7.2,7.2h0c0,4.1,3.2,7.2,7.1,7.2h1.9c2,0,3.7,1.7,3.7,3.7v1.8c0,4,3.2,7.2,7.2,7.2h1.9c2,0,3.7,1.6,3.7,3.7v3.6c0,2.1-1.7,3.8-3.8,3.8h-2c-3.9,0-7,3.1-7,7v2.3c0,1.9-1.5,3.4-3.4,3.4h-2.3c-3.9,0-7.1,3.2-7.1,7.1v.3c0,3.9,3.2,7,7,7h.5c3.8,0,6.9-3.1,6.9-6.9v-2.5c0-1.8,1.5-3.3,3.3-3.3h2.4c3.9,0,7-3.1,7-7v-2.5c0-1.8,1.4-3.2,3.2-3.2h2.5c3.9,0,7-3.1,7-7v-.2c0-3.9-3.2-7.2-7.2-7.2l.1-.1Z\"><\/path>\r\n    <\/g>\r\n\r\n    <g class=\"pm-shape pm-s4\">\r\n      <circle cx=\"157.2\" cy=\"6.5\" r=\"6.5\"\/>\r\n      <circle cx=\"157.2\" cy=\"58.9\" r=\"6.5\"\/>\r\n      <circle cx=\"170.3\" cy=\"19.6\" r=\"6.5\"\/>\r\n      <circle cx=\"170.3\" cy=\"45.8\" r=\"6.5\"\/>\r\n      <circle cx=\"183.4\" cy=\"32.7\" r=\"6.5\"\/>\r\n    <\/g>\r\n\r\n  <\/svg>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ab2d150 e-flex e-con-boxed e-con e-parent\" data-id=\"ab2d150\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-127859a elementor-widget elementor-widget-html\" data-id=\"127859a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\r\n(function () {\r\n  \"use strict\";\r\n\r\n  const INIT_KEY = \"__playmooveApproachGsapInitializedV2\";\r\n  const TRIGGER_PREFIX = \"pm-approach-\";\r\n  const MAX_BOOT_ATTEMPTS = 40;\r\n\r\n  let bootAttempts = 0;\r\n\r\n  function bootPlaymooveApproachGsap() {\r\n    if (window[INIT_KEY]) {\r\n      return;\r\n    }\r\n\r\n    if (\r\n      typeof window.gsap === \"undefined\" ||\r\n      typeof window.ScrollTrigger === \"undefined\"\r\n    ) {\r\n      bootAttempts += 1;\r\n\r\n      if (bootAttempts <= MAX_BOOT_ATTEMPTS) {\r\n        window.setTimeout(bootPlaymooveApproachGsap, 150);\r\n      }\r\n\r\n      return;\r\n    }\r\n\r\n    window[INIT_KEY] = true;\r\n    initPlaymooveApproachGsap();\r\n  }\r\n\r\n  function initPlaymooveApproachGsap() {\r\n    const gsap = window.gsap;\r\n    const ScrollTrigger = window.ScrollTrigger;\r\n\r\n    const approachSection = document.querySelector(\".pm-approach-section\");\r\n    const morphSections = Array.prototype.slice.call(\r\n      document.querySelectorAll(\r\n        \".pm-cta-morph-section.pm-home-cta, .pm-approach-hero\"\r\n      )\r\n    );\r\n    const phases = Array.prototype.slice.call(\r\n      document.querySelectorAll(\".pm-approach-phase\")\r\n    );\r\n    const footer = document.querySelector(\r\n      \".elementor-location-footer, footer\"\r\n    );\r\n\r\n    if (\r\n      !approachSection &&\r\n      !morphSections.length &&\r\n      !phases.length\r\n    ) {\r\n      return;\r\n    }\r\n\r\n    const root =\r\n      (approachSection &&\r\n        approachSection.closest(\".elementor\")) ||\r\n      (morphSections[0] &&\r\n        morphSections[0].closest(\".elementor\")) ||\r\n      document;\r\n\r\n    const reduceMotion =\r\n      window.matchMedia &&\r\n      window\r\n        .matchMedia(\"(prefers-reduced-motion: reduce)\")\r\n        .matches;\r\n\r\n    gsap.registerPlugin(ScrollTrigger);\r\n\r\n    document.body.classList.add(\r\n      \"pm-approach-gsap-ready\",\r\n      \"pm-gsap-ready\"\r\n    );\r\n\r\n    function toArray(selector, scope) {\r\n      return Array.prototype.slice.call(\r\n        (scope || root).querySelectorAll(selector)\r\n      );\r\n    }\r\n\r\n    function killPreviousTriggers() {\r\n      ScrollTrigger.getAll().forEach(function (trigger) {\r\n        const id =\r\n          trigger.vars &&\r\n          trigger.vars.id;\r\n\r\n        if (\r\n          id &&\r\n          String(id).indexOf(TRIGGER_PREFIX) === 0\r\n        ) {\r\n          trigger.kill();\r\n        }\r\n      });\r\n    }\r\n\r\n    function neutralizeElementorAnimations(scope) {\r\n      const animationClasses = [\r\n        \"animated\",\r\n        \"animated-slow\",\r\n        \"animated-fast\",\r\n        \"fadeIn\",\r\n        \"fadeInDown\",\r\n        \"fadeInUp\",\r\n        \"fadeInLeft\",\r\n        \"fadeInRight\",\r\n        \"zoomIn\",\r\n        \"slideInUp\",\r\n        \"slideInDown\",\r\n        \"slideInLeft\",\r\n        \"slideInRight\",\r\n        \"elementor-invisible\"\r\n      ];\r\n\r\n      toArray(\r\n        \"[data-settings], .animated, .elementor-invisible\",\r\n        scope\r\n      ).forEach(function (element) {\r\n        animationClasses.forEach(function (className) {\r\n          element.classList.remove(className);\r\n        });\r\n\r\n        element.style.animation = \"none\";\r\n        element.style.visibility = \"visible\";\r\n      });\r\n    }\r\n\r\n    function visibleSafe(items) {\r\n      items.filter(Boolean).forEach(function (item) {\r\n        item.style.visibility = \"visible\";\r\n      });\r\n    }\r\n\r\n    function getMorphContent(section) {\r\n      const introText = section.querySelector(\r\n        \".pm-approach-intro-text\"\r\n      );\r\n\r\n      const headings = toArray(\r\n        \".elementor-widget-heading\",\r\n        section\r\n      );\r\n\r\n      let eyebrow = null;\r\n\r\n      headings.forEach(function (heading) {\r\n        if (\r\n          !eyebrow &&\r\n          heading !== introText\r\n        ) {\r\n          eyebrow = heading;\r\n        }\r\n      });\r\n\r\n      return {\r\n        block: section.querySelector(\".pm-morph-bg\"),\r\n        svg: section.querySelector(\".morph-bg-svg\"),\r\n        shapes: toArray(\".pm-shape\", section),\r\n        eyebrow: eyebrow,\r\n        introText: introText,\r\n        button: section.querySelector(\r\n          \".elementor-widget-button\"\r\n        )\r\n      };\r\n    }\r\n\r\n    killPreviousTriggers();\r\n\r\n    morphSections.forEach(function (section) {\r\n      neutralizeElementorAnimations(section);\r\n    });\r\n\r\n    if (reduceMotion) {\r\n      morphSections.forEach(function (section) {\r\n        const content = getMorphContent(section);\r\n\r\n        section.style.setProperty(\r\n          \"--pm-approach-glow-opacity\",\r\n          \"1\"\r\n        );\r\n        section.style.setProperty(\r\n          \"--pm-approach-grid-opacity\",\r\n          \"1\"\r\n        );\r\n        section.style.setProperty(\r\n          \"--pm-approach-scan-x\",\r\n          \"120%\"\r\n        );\r\n\r\n        gsap.set(\r\n          [\r\n            section,\r\n            content.block,\r\n            content.svg,\r\n            content.eyebrow,\r\n            content.introText,\r\n            content.button\r\n          ].filter(Boolean),\r\n          {\r\n            opacity: 1,\r\n            visibility: \"visible\",\r\n            clearProps: \"transform,filter\"\r\n          }\r\n        );\r\n\r\n        \/*\r\n         * Non tocchiamo transform sulle .pm-shape.\r\n         * Le animazioni CSS della home restano attive.\r\n         *\/\r\n        content.shapes.forEach(function (shape) {\r\n          shape.style.visibility = \"visible\";\r\n          shape.style.opacity = \"\";\r\n        });\r\n      });\r\n\r\n      gsap.set(phases, {\r\n        opacity: 1,\r\n        visibility: \"visible\",\r\n        clearProps: \"transform,filter\"\r\n      });\r\n\r\n      if (approachSection) {\r\n        approachSection.style.setProperty(\r\n          \"--pm-approach-section-shine\",\r\n          \"1\"\r\n        );\r\n        approachSection.style.setProperty(\r\n          \"--pm-approach-line-progress\",\r\n          \"1\"\r\n        );\r\n      }\r\n\r\n      if (footer) {\r\n        gsap.set(footer, {\r\n          opacity: 1,\r\n          visibility: \"visible\",\r\n          clearProps: \"transform,filter\"\r\n        });\r\n      }\r\n\r\n      return;\r\n    }\r\n\r\n    \/* ================================\r\n       MORPH SECTIONS\r\n    ================================ *\/\r\n\r\n    morphSections.forEach(function (\r\n      section,\r\n      sectionIndex\r\n    ) {\r\n      const content = getMorphContent(section);\r\n\r\n      const block = content.block;\r\n      const svg = content.svg;\r\n      const eyebrow = content.eyebrow;\r\n      const introText = content.introText;\r\n      const button = content.button;\r\n      const shapes = content.shapes;\r\n\r\n      section.style.setProperty(\r\n        \"--pm-approach-glow-opacity\",\r\n        \"0\"\r\n      );\r\n      section.style.setProperty(\r\n        \"--pm-approach-grid-opacity\",\r\n        \"0\"\r\n      );\r\n      section.style.setProperty(\r\n        \"--pm-approach-scan-x\",\r\n        \"-120%\"\r\n      );\r\n\r\n      gsap.set(section, {\r\n        opacity: 1,\r\n        visibility: \"visible\",\r\n        overflow: \"hidden\"\r\n      });\r\n\r\n      visibleSafe([\r\n        block,\r\n        svg,\r\n        eyebrow,\r\n        introText,\r\n        button\r\n      ]);\r\n\r\n      \/*\r\n       * Il reveal avviene sull'intero blocco e sull'intero SVG.\r\n       * Le singole .pm-shape non ricevono transform GSAP,\r\n       * cos\u00ec mantengono pmOrganicDriftOne\/Two\/Three\/Four.\r\n       *\/\r\n      if (block) {\r\n        gsap.set(block, {\r\n          autoAlpha: 0,\r\n          filter: \"blur(10px)\"\r\n        });\r\n      }\r\n\r\n      if (svg) {\r\n        gsap.set(svg, {\r\n          scale: 1.06,\r\n          xPercent: -2,\r\n          transformOrigin: \"50% 50%\",\r\n          force3D: true\r\n        });\r\n      }\r\n\r\n      shapes.forEach(function (shape) {\r\n        shape.style.visibility = \"visible\";\r\n        shape.style.opacity = \"\";\r\n      });\r\n\r\n      if (eyebrow) {\r\n        gsap.set(eyebrow, {\r\n          autoAlpha: 0,\r\n          y: 18,\r\n          filter: \"blur(7px)\"\r\n        });\r\n      }\r\n\r\n      if (introText) {\r\n        gsap.set(introText, {\r\n          autoAlpha: 0,\r\n          y: 40,\r\n          filter: \"blur(12px)\"\r\n        });\r\n      }\r\n\r\n      if (button) {\r\n        gsap.set(button, {\r\n          autoAlpha: 0,\r\n          y: 24,\r\n          scale: 0.96,\r\n          filter: \"blur(8px)\"\r\n        });\r\n      }\r\n\r\n      const timeline = gsap.timeline({\r\n        defaults: {\r\n          ease: \"power3.out\"\r\n        },\r\n        scrollTrigger: {\r\n          id:\r\n            TRIGGER_PREFIX +\r\n            \"morph-enter-\" +\r\n            sectionIndex,\r\n          trigger: section,\r\n          start: \"top 88%\",\r\n          once: true,\r\n          invalidateOnRefresh: true\r\n        }\r\n      });\r\n\r\n      timeline\r\n        .to(\r\n          section,\r\n          {\r\n            \"--pm-approach-glow-opacity\": 1,\r\n            \"--pm-approach-grid-opacity\": 1,\r\n            duration: 0.8\r\n          },\r\n          0\r\n        )\r\n        .to(\r\n          section,\r\n          {\r\n            \"--pm-approach-scan-x\": \"120%\",\r\n            duration: 1.35,\r\n            ease: \"power2.inOut\"\r\n          },\r\n          0.05\r\n        );\r\n\r\n      if (block) {\r\n        timeline.to(\r\n          block,\r\n          {\r\n            autoAlpha: 1,\r\n            filter: \"blur(0px)\",\r\n            duration: 1\r\n          },\r\n          0.06\r\n        );\r\n      }\r\n\r\n      if (svg) {\r\n        timeline.to(\r\n          svg,\r\n          {\r\n            scale: 1,\r\n            xPercent: 0,\r\n            duration: 1.1,\r\n            ease: \"power3.out\"\r\n          },\r\n          0.06\r\n        );\r\n      }\r\n\r\n      if (eyebrow) {\r\n        timeline.to(\r\n          eyebrow,\r\n          {\r\n            autoAlpha: 1,\r\n            y: 0,\r\n            filter: \"blur(0px)\",\r\n            duration: 0.68,\r\n            clearProps: \"transform,filter\"\r\n          },\r\n          0.2\r\n        );\r\n      }\r\n\r\n      if (introText) {\r\n        timeline.to(\r\n          introText,\r\n          {\r\n            autoAlpha: 1,\r\n            y: 0,\r\n            filter: \"blur(0px)\",\r\n            duration: 0.92,\r\n            clearProps: \"transform,filter\"\r\n          },\r\n          0.32\r\n        );\r\n      }\r\n\r\n      if (button) {\r\n        timeline.to(\r\n          button,\r\n          {\r\n            autoAlpha: 1,\r\n            y: 0,\r\n            scale: 1,\r\n            filter: \"blur(0px)\",\r\n            duration: 0.68,\r\n            clearProps: \"transform,filter\"\r\n          },\r\n          introText ? 0.64 : 0.36\r\n        );\r\n      }\r\n\r\n      \/*\r\n       * Parallasse leggero dell'intero SVG.\r\n       * Non interferisce con le singole shape.\r\n       *\/\r\n      if (svg) {\r\n        gsap.fromTo(\r\n          svg,\r\n          {\r\n            xPercent: -2,\r\n            yPercent: 0,\r\n            scale: 1.035\r\n          },\r\n          {\r\n            xPercent: 2,\r\n            yPercent: -3,\r\n            scale: 1.02,\r\n            ease: \"none\",\r\n            scrollTrigger: {\r\n              id:\r\n                TRIGGER_PREFIX +\r\n                \"morph-parallax-\" +\r\n                sectionIndex,\r\n              trigger: section,\r\n              start: \"top bottom\",\r\n              end: \"bottom top\",\r\n              scrub: 1,\r\n              invalidateOnRefresh: true\r\n            }\r\n          }\r\n        );\r\n      }\r\n    });\r\n\r\n    \/* ================================\r\n       APPROACH BACKDROP\r\n    ================================ *\/\r\n\r\n    if (approachSection) {\r\n      approachSection.style.setProperty(\r\n        \"--pm-approach-section-shine\",\r\n        \"0\"\r\n      );\r\n      approachSection.style.setProperty(\r\n        \"--pm-approach-line-progress\",\r\n        \"0\"\r\n      );\r\n\r\n      gsap.to(approachSection, {\r\n        \"--pm-approach-section-shine\": 1,\r\n        duration: 0.9,\r\n        ease: \"power2.out\",\r\n        scrollTrigger: {\r\n          id:\r\n            TRIGGER_PREFIX +\r\n            \"section-atmosphere\",\r\n          trigger: approachSection,\r\n          start: \"top 82%\",\r\n          once: true,\r\n          invalidateOnRefresh: true\r\n        }\r\n      });\r\n\r\n      gsap.to(approachSection, {\r\n        \"--pm-approach-line-progress\": 1,\r\n        ease: \"none\",\r\n        scrollTrigger: {\r\n          id:\r\n            TRIGGER_PREFIX +\r\n            \"line-progress\",\r\n          trigger: approachSection,\r\n          start: \"top 72%\",\r\n          end: \"bottom 72%\",\r\n          scrub: 0.8,\r\n          invalidateOnRefresh: true\r\n        }\r\n      });\r\n    }\r\n\r\n    \/* ================================\r\n       PHASES\r\n    ================================ *\/\r\n\r\n    phases.forEach(function (phase, index) {\r\n      const iconWrap = phase.querySelector(\r\n        \".e-svg-base\"\r\n      );\r\n      const iconSvg = phase.querySelector(\r\n        \".e-svg-base svg, svg\"\r\n      );\r\n      const heading = phase.querySelector(\r\n        \".elementor-widget-heading\"\r\n      );\r\n      const text = phase.querySelector(\r\n        \".elementor-widget-text-editor\"\r\n      );\r\n\r\n      phase.style.setProperty(\r\n        \"--pm-phase-index\",\r\n        String(index + 1)\r\n      );\r\n\r\n      visibleSafe([\r\n        phase,\r\n        iconWrap,\r\n        iconSvg,\r\n        heading,\r\n        text\r\n      ]);\r\n\r\n      gsap.set(phase, {\r\n        autoAlpha: 0,\r\n        y: 58,\r\n        scale: 0.975,\r\n        filter: \"blur(12px)\"\r\n      });\r\n\r\n      if (iconWrap) {\r\n        gsap.set(iconWrap, {\r\n          autoAlpha: 0,\r\n          x: -18,\r\n          scale: 0.76,\r\n          filter: \"blur(8px)\",\r\n          transformOrigin: \"50% 50%\"\r\n        });\r\n      }\r\n\r\n      if (heading) {\r\n        gsap.set(heading, {\r\n          autoAlpha: 0,\r\n          y: 18,\r\n          filter: \"blur(7px)\"\r\n        });\r\n      }\r\n\r\n      if (text) {\r\n        gsap.set(text, {\r\n          autoAlpha: 0,\r\n          y: 18,\r\n          filter: \"blur(7px)\"\r\n        });\r\n      }\r\n\r\n      const phaseTimeline = gsap.timeline({\r\n        defaults: {\r\n          ease: \"power3.out\"\r\n        },\r\n        scrollTrigger: {\r\n          id:\r\n            TRIGGER_PREFIX +\r\n            \"phase-\" +\r\n            index,\r\n          trigger: phase,\r\n          start: \"top 86%\",\r\n          once: true,\r\n          invalidateOnRefresh: true\r\n        }\r\n      });\r\n\r\n      phaseTimeline.to(phase, {\r\n        autoAlpha: 1,\r\n        y: 0,\r\n        scale: 1,\r\n        filter: \"blur(0px)\",\r\n        duration: 0.82,\r\n        clearProps: \"transform,filter\"\r\n      });\r\n\r\n      if (iconWrap) {\r\n        phaseTimeline.to(\r\n          iconWrap,\r\n          {\r\n            autoAlpha: 1,\r\n            x: 0,\r\n            scale: 1,\r\n            filter: \"blur(0px)\",\r\n            duration: 0.58,\r\n            clearProps: \"transform,filter\"\r\n          },\r\n          \"-=0.5\"\r\n        );\r\n      }\r\n\r\n      if (heading) {\r\n        phaseTimeline.to(\r\n          heading,\r\n          {\r\n            autoAlpha: 1,\r\n            y: 0,\r\n            filter: \"blur(0px)\",\r\n            duration: 0.56,\r\n            clearProps: \"transform,filter\"\r\n          },\r\n          \"-=0.38\"\r\n        );\r\n      }\r\n\r\n      if (text) {\r\n        phaseTimeline.to(\r\n          text,\r\n          {\r\n            autoAlpha: 1,\r\n            y: 0,\r\n            filter: \"blur(0px)\",\r\n            duration: 0.66,\r\n            clearProps: \"transform,filter\"\r\n          },\r\n          \"-=0.32\"\r\n        );\r\n      }\r\n\r\n      if (iconSvg) {\r\n        phaseTimeline.fromTo(\r\n          iconSvg,\r\n          {\r\n            rotation: -2\r\n          },\r\n          {\r\n            rotation: 0,\r\n            duration: 0.48,\r\n            ease: \"back.out(2)\",\r\n            clearProps: \"transform\"\r\n          },\r\n          \"-=0.44\"\r\n        );\r\n\r\n        gsap.to(iconSvg, {\r\n          yPercent:\r\n            index % 2 === 0 ? -8 : -5,\r\n          ease: \"none\",\r\n          scrollTrigger: {\r\n            id:\r\n              TRIGGER_PREFIX +\r\n              \"phase-icon-depth-\" +\r\n              index,\r\n            trigger: phase,\r\n            start: \"top bottom\",\r\n            end: \"bottom top\",\r\n            scrub: 1,\r\n            invalidateOnRefresh: true\r\n          }\r\n        });\r\n      }\r\n\r\n      if (\r\n        phase.dataset.pmHoverReady !== \"true\"\r\n      ) {\r\n        phase.dataset.pmHoverReady = \"true\";\r\n\r\n        phase.addEventListener(\r\n          \"mouseenter\",\r\n          function () {\r\n            gsap.to(phase, {\r\n              scale: 1.012,\r\n              duration: 0.28,\r\n              ease: \"power2.out\",\r\n              overwrite: \"auto\"\r\n            });\r\n\r\n            if (iconWrap) {\r\n              gsap.to(iconWrap, {\r\n                x: 5,\r\n                scale: 1.07,\r\n                rotation: 1.5,\r\n                duration: 0.28,\r\n                ease: \"power2.out\",\r\n                overwrite: \"auto\"\r\n              });\r\n            }\r\n\r\n            if (heading) {\r\n              gsap.to(heading, {\r\n                x: 3,\r\n                duration: 0.28,\r\n                ease: \"power2.out\",\r\n                overwrite: \"auto\"\r\n              });\r\n            }\r\n          }\r\n        );\r\n\r\n        phase.addEventListener(\r\n          \"mouseleave\",\r\n          function () {\r\n            gsap.to(phase, {\r\n              scale: 1,\r\n              duration: 0.32,\r\n              ease: \"power2.out\",\r\n              overwrite: \"auto\"\r\n            });\r\n\r\n            if (iconWrap) {\r\n              gsap.to(iconWrap, {\r\n                x: 0,\r\n                scale: 1,\r\n                rotation: 0,\r\n                duration: 0.32,\r\n                ease: \"power2.out\",\r\n                overwrite: \"auto\"\r\n              });\r\n            }\r\n\r\n            if (heading) {\r\n              gsap.to(heading, {\r\n                x: 0,\r\n                duration: 0.32,\r\n                ease: \"power2.out\",\r\n                overwrite: \"auto\"\r\n              });\r\n            }\r\n          }\r\n        );\r\n      }\r\n    });\r\n\r\n    \/* ================================\r\n       FOOTER\r\n    ================================ *\/\r\n\r\n    if (footer) {\r\n      gsap.fromTo(\r\n        footer,\r\n        {\r\n          autoAlpha: 0,\r\n          y: 34,\r\n          filter: \"blur(8px)\"\r\n        },\r\n        {\r\n          autoAlpha: 1,\r\n          y: 0,\r\n          filter: \"blur(0px)\",\r\n          duration: 0.8,\r\n          ease: \"power3.out\",\r\n          clearProps: \"transform,filter\",\r\n          scrollTrigger: {\r\n            id:\r\n              TRIGGER_PREFIX +\r\n              \"footer\",\r\n            trigger: footer,\r\n            start: \"top 94%\",\r\n            once: true,\r\n            invalidateOnRefresh: true\r\n          }\r\n        }\r\n      );\r\n    }\r\n\r\n    window.requestAnimationFrame(function () {\r\n      ScrollTrigger.refresh();\r\n    });\r\n  }\r\n\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\r\n      \"DOMContentLoaded\",\r\n      bootPlaymooveApproachGsap,\r\n      { once: true }\r\n    );\r\n  } else {\r\n    bootPlaymooveApproachGsap();\r\n  }\r\n\r\n  window.addEventListener(\r\n    \"load\",\r\n    function () {\r\n      bootPlaymooveApproachGsap();\r\n\r\n      if (\r\n        typeof window.ScrollTrigger !==\r\n        \"undefined\"\r\n      ) {\r\n        window.setTimeout(function () {\r\n          window.ScrollTrigger.refresh();\r\n        }, 300);\r\n      }\r\n    }\r\n  );\r\n\r\n  if (window.jQuery) {\r\n    window.jQuery(window).on(\r\n      \"elementor\/frontend\/init\",\r\n      function () {\r\n        window.setTimeout(\r\n          bootPlaymooveApproachGsap,\r\n          100\r\n        );\r\n      }\r\n    );\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\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>Come lavoriamo Configuriamo la piattaforma in base alle vostre esigenze, la allineiamo alle vostre policy e la integriamo con l\u2019infrastruttura esistente. Coordinamento degli stakeholder, documentazione di conformit\u00e0 e implementazioni progressive: lavoriamo nel rispetto dei vincoli dei progetti reali, non sulla base delle presentazioni teoriche tipiche delle startup. Prenota una chiamata strategica ASCOLTO E ASSESSMENT La [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2117","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Come lavoriamo - playmoove.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/playmoove.com\/it\/il-nostro-approccio\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come lavoriamo - playmoove.com\" \/>\n<meta property=\"og:description\" content=\"Come lavoriamo Configuriamo la piattaforma in base alle vostre esigenze, la allineiamo alle vostre policy e la integriamo con l\u2019infrastruttura esistente. Coordinamento degli stakeholder, documentazione di conformit\u00e0 e implementazioni progressive: lavoriamo nel rispetto dei vincoli dei progetti reali, non sulla base delle presentazioni teoriche tipiche delle startup. Prenota una chiamata strategica ASCOLTO E ASSESSMENT La [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/playmoove.com\/it\/il-nostro-approccio\/\" \/>\n<meta property=\"og:site_name\" content=\"playmoove.com\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-17T15:50:37+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/il-nostro-approccio\\\/\",\"url\":\"https:\\\/\\\/playmoove.com\\\/it\\\/il-nostro-approccio\\\/\",\"name\":\"Come lavoriamo - playmoove.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/#website\"},\"datePublished\":\"2026-05-27T08:53:35+00:00\",\"dateModified\":\"2026-07-17T15:50:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/il-nostro-approccio\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/playmoove.com\\\/it\\\/il-nostro-approccio\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/il-nostro-approccio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/playmoove.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come lavoriamo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/playmoove.com\\\/it\\\/\",\"name\":\"Playmoove\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/playmoove.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/#organization\",\"name\":\"Playmoove\",\"url\":\"https:\\\/\\\/playmoove.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/webdev.playmoove.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/PLAYMOOVE_White_LOGO.svg\",\"contentUrl\":\"https:\\\/\\\/webdev.playmoove.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/PLAYMOOVE_White_LOGO.svg\",\"width\":800,\"height\":115,\"caption\":\"Playmoove\"},\"image\":{\"@id\":\"https:\\\/\\\/playmoove.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/it.linkedin.com\\\/organization-guest\\\/company\\\/playmoove\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Come lavoriamo - playmoove.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/playmoove.com\/it\/il-nostro-approccio\/","og_locale":"it_IT","og_type":"article","og_title":"Come lavoriamo - playmoove.com","og_description":"Come lavoriamo Configuriamo la piattaforma in base alle vostre esigenze, la allineiamo alle vostre policy e la integriamo con l\u2019infrastruttura esistente. Coordinamento degli stakeholder, documentazione di conformit\u00e0 e implementazioni progressive: lavoriamo nel rispetto dei vincoli dei progetti reali, non sulla base delle presentazioni teoriche tipiche delle startup. Prenota una chiamata strategica ASCOLTO E ASSESSMENT La [&hellip;]","og_url":"https:\/\/playmoove.com\/it\/il-nostro-approccio\/","og_site_name":"playmoove.com","article_modified_time":"2026-07-17T15:50:37+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/playmoove.com\/it\/il-nostro-approccio\/","url":"https:\/\/playmoove.com\/it\/il-nostro-approccio\/","name":"Come lavoriamo - playmoove.com","isPartOf":{"@id":"https:\/\/playmoove.com\/it\/#website"},"datePublished":"2026-05-27T08:53:35+00:00","dateModified":"2026-07-17T15:50:37+00:00","breadcrumb":{"@id":"https:\/\/playmoove.com\/it\/il-nostro-approccio\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/playmoove.com\/it\/il-nostro-approccio\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/playmoove.com\/it\/il-nostro-approccio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/playmoove.com\/it\/"},{"@type":"ListItem","position":2,"name":"Come lavoriamo"}]},{"@type":"WebSite","@id":"https:\/\/playmoove.com\/it\/#website","url":"https:\/\/playmoove.com\/it\/","name":"Playmoove","description":"","publisher":{"@id":"https:\/\/playmoove.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/playmoove.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/playmoove.com\/it\/#organization","name":"Playmoove","url":"https:\/\/playmoove.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/playmoove.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/webdev.playmoove.com\/wp-content\/uploads\/2026\/04\/PLAYMOOVE_White_LOGO.svg","contentUrl":"https:\/\/webdev.playmoove.com\/wp-content\/uploads\/2026\/04\/PLAYMOOVE_White_LOGO.svg","width":800,"height":115,"caption":"Playmoove"},"image":{"@id":"https:\/\/playmoove.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/it.linkedin.com\/organization-guest\/company\/playmoove"]}]}},"_links":{"self":[{"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/pages\/2117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/comments?post=2117"}],"version-history":[{"count":20,"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/pages\/2117\/revisions"}],"predecessor-version":[{"id":3312,"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/pages\/2117\/revisions\/3312"}],"wp:attachment":[{"href":"https:\/\/webdev.playmoove.com\/it\/wp-json\/wp\/v2\/media?parent=2117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}