{"context":{"domain":"tempo"},"layers":{"ApplicationLayer":{"reference":"ApplicationLayer","availableInstances":[{"reference":"ComponentsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"SystemsDataSet","params":{"filter":{"domain":"data2"},"pagination":{"size":1},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSource"}}}},{"reference":"ExternalComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"SystemsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5e3b796d6228227ca637d0f4","name":"data2","domain":"data2","organization":"62292184611f480b3191c37c","visibility":"public","updatedAt":"2026-07-27T14:19:36.810Z"}]}},{"reference":"OrganizationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"DataComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@DataSet","reference":"OneFileComponentInstancesDataSet","params":{"pagination":{"size":1},"master":{"dataset":{"component":"data2-core-types@ProcessReference","params":{"reference":"SystemsDataSet"}},"localField":"system","masterField":"_id"},"datasource":{"component":"data2-core-types@ProcessReference","params":{"reference":"FileComponentInstancesDataSource"}}}},{"reference":"ApplicationsDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ServiceComponentInstancesDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@Data2TableDataSource","reference":"FileComponentInstancesDataSource","params":{"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}}]}},{"component":"data2-core@MemoryDataSource","reference":"EmptyDataSource","params":{"initialData":[]}},{"reference":"ComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"UserComponentsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"DataComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ServiceComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ExternalComponentInstancesDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}},{"reference":"ApplicationsDataSet","component":"data2-core@DataSet","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"EmptyDataSource"}}}}],"processesParams":{}},"HostApplicationLayer":{"reference":"HostApplicationLayer","availableInstances":[{"_id":"5f15ff190528b92601890f71","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"SystemsTableDataSource"}},"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"domain"}}},"pk":"_id","fields":[{"component":"data2-core-types@FieldReference","params":{"key":"_id"}},{"component":"data2-core-types@FieldReference","params":{"key":"name"}},{"component":"data2-core-types@FieldReference","params":{"key":"domain"}},{"component":"data2-core-types@FieldReference","params":{"key":"visibility"}},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization._id"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.name"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.billingStatus"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"organization.publicTrial.active"}}},"break":true},{"component":"data2-core-types@FieldReference","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"settings.defaultAccessPolicy"}}},"break":true}],"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"staticPagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}},"policies":[{"component":"data2-core-auth@Policy","params":{"allow":{"params":{"actions":[{"params":{"components":[{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"_id"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"domain"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"},{"params":{"query":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$params.query"}}}},"field":{"component":"data2-core-primitives@String","params":{"content":"customDomains"}},"fieldType":"string"},"component":"data2@7KkQq0vK4a7D2gg6IVJT7"}]},"component":"data2-core-logical-operators@Or"}]},"component":"data2-core-flow@Series"}}}]},"reference":"SystemsDataSet","updatedAt":"2026-08-07T21:51:24.037Z","createdAt":"2020-07-20T20:31:21.838Z"},{"_id":"5f1601ce0528b92601890f7c","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":1000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"sort":{"params.package":1,"params.component":1},"pk":"_id","autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"staticFilter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}},"filter":{"system":{"exists":{"params":{"content":false},"component":"data2-core-primitives@Boolean"}}}},"reference":"ComponentsDataSet","updatedAt":"2025-11-05T19:37:01.935Z","createdAt":"2020-07-20T20:42:54.898Z"},{"_id":"5f9041dbc8da12be8b94aea4","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":2000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentsTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"UserComponentsDataSet","updatedAt":"2025-11-06T21:06:58.095Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"65d8c4fabc9dbb8f94de8d53","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ExternalComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ExternalComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:23.742Z","createdAt":"2024-02-23T16:17:01.816Z"},{"reference":"SystemsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a45d210b5865956b508ba84","name":"Tempo","domain":"tempo","visibility":"public","settings":{"defaultAccessPolicy":"public"},"updatedAt":"2026-07-27T14:19:36.810Z","createdAt":"2026-07-02T02:50:56.722Z"}]}},{"reference":"ComponentsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"5f52a278a575399a45d239b4","component":"data2-core-types@Component","params":{"package":"data2-core-primitives","component":"Router","interactions":{"component":"data2-core-types@FieldSet","params":{"fields":{"goBack":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.goBack","args":[]}}}},"icon":{"component":"data2-core-primitives@String","params":{"content":"arrow-left"}},"visibility":"public"}},"goTo":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"component":"data2-core-types@Reference","params":{"reference":"url"}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}}}]}},"parameters":[{"component":"data2-core-primitives@String","params":{"content":"url"}},{"component":"data2-core-primitives@String","params":{"content":"preserveQuery"}}]},"break":true},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Path to route"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Path to redirect user"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Boolean"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Preserve Query"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Preserve query string parameters  preserve query parameters on navigating."}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"}]}},"open":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"component":"data2-core-types@This","params":{}},"prop":"history.push","args":[{"pathname":{"component":"data2-core-types@Reference","params":{"reference":"value"}}}]}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"share"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}]}},"close":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-types@Function"}},"definition":{"component":"data2-core-functions@Function","params":{"body":{"preventEvaluation":true,"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":"close"}},"parameters":["value"]}},"icon":{"component":"data2-core-primitives@String","params":{"content":"times"}},"visibility":"public","arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Link to open"}},"description":{"component":"data2-core-primitives@String","params":{"content":""}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2-core-types@ComponentParameter"},{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Target"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Where to open the link"}},"visibility":"public","required":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"oneOf":[{"params":{"content":"_blank"},"component":"data2-core-primitives@String"},{"params":{"content":"_self"},"component":"data2-core-primitives@String"},{"params":{"content":"_parent"},"component":"data2-core-primitives@String"},{"params":{"content":"_top"},"component":"data2-core-primitives@String"}]},"component":"data2-core-types@ComponentParameter"}],"description":{"component":"data2-core-primitives@String","params":{"content":"Closes a window that was opened via router.open."}}}}}}}}},{"_id":"620d28658271aa4129919d89","component":"data2-core-types@Component","params":{"package":"data2-interface-services","component":"DeviceController","interactions":{"params":{"fields":{"postMessage":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@String","title":{"component":"data2-core-primitives@String","params":{"content":"data"}}}}]},"component":"data2-core-types@ComponentParameter"},"print":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"zoom":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Number"}},"title":{"component":"data2-core-primitives@String","params":{"content":"zoom"}},"visibility":"public"}}},"visibility":"public"},"component":"data2-core-types@ComponentParameter"}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"share":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}}},"component":"data2-core-types@ComponentParameter"},"clipboard.copy":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"clipboard.paste":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}}}}]},"component":"data2-core-types@ComponentParameter"},"download":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}]},"component":"data2-core-types@ComponentParameter"},"downloadUrl":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Url"}}}}]},"component":"data2-core-types@ComponentParameter"},"promptFiles":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"parameters":{"params":{"fields":{"multiple":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Multiple"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Whether or not to allow selecting multiple files"}},"component":"data2-core-primitives@Boolean"}},"acceptedFormats":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Accepted Formats"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Accepted file formats"}},"component":"data2-core-primitives@String","list":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}},"timeout":{"component":"data2-core-types@ComponentParameter","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Timeout"}},"description":{"component":"data2-core-primitives@String","params":{"content":"Max milliseconds to wait for file upload"}},"component":"data2-core-primitives@Number"}}}},"component":"data2-core-types@FieldSet"}}}],"visibility":"public"},"component":"data2-core-types@ComponentParameter"},"meetingRecord":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","definition":{"params":{"actions":[{"params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"meeting"}},"script":{"component":"data2-core-primitives@String","params":{"content":"(function() {\n  let mediaRecorder;\n  let audioChunks = [];\n  let combinedStream;\n  let audioContext;\n  \n  window.meetingCapture = async function() {\n    try {\n      // Solicitar acesso ao áudio da guia (e vídeo, que será ignorado depois)\n      const tabStream = await navigator.mediaDevices.getDisplayMedia({ \n        video: true, // Necessário para alguns navegadores\n        audio: true\n      });\n      \n      // Remover a trilha de vídeo\n      const tabAudioTrack = tabStream.getAudioTracks()[0];\n      \n      // Solicitar acesso ao microfone\n      const micStream = await navigator.mediaDevices.getUserMedia({ audio: true });\n      const micAudioTrack = micStream.getAudioTracks()[0];\n      \n      // Criar um novo MediaStream com ambas as trilhas de áudio\n      combinedStream = new MediaStream([tabAudioTrack, micAudioTrack]);\n      \n      // Criar um contexto de áudio para misturar os streams\n      audioContext = new AudioContext();\n      const destination = audioContext.createMediaStreamDestination();\n      \n      // Conectar a trilha de áudio da guia\n      const tabSource = audioContext.createMediaStreamSource(new MediaStream([tabAudioTrack]));\n      tabSource.connect(destination);\n      \n      // Conectar a trilha de áudio do microfone\n      const micSource = audioContext.createMediaStreamSource(new MediaStream([micAudioTrack]));\n      micSource.connect(destination);\n      \n      // Iniciar gravação com o stream misturado\n      mediaRecorder = new MediaRecorder(destination.stream);\n      audioChunks = [];\n      mediaRecorder.ondataavailable = (e) => audioChunks.push(e.data);\n      mediaRecorder.start();\n      \n      console.log('Gravação iniciada. Chame meetingCaptureStop() para finalizar.');\n    } catch (error) {\n      console.error('Erro ao iniciar a captura:', error);\n    }\n  };\n  \n  window.meetingCaptureStop = function() {\n    return new Promise((resolve, reject) => {\n      if (!mediaRecorder) {\n        reject('Nenhuma gravação em andamento.');\n        return;\n      }\n      \n      mediaRecorder.onstop = () => {\n        const audioBlob = new Blob(audioChunks, { type: 'audio/webm' });\n        combinedStream.getTracks().forEach(track => track.stop());\n        audioContext.close();\n        \n        resolve(audioBlob);\n        console.log('Gravação finalizada. O arquivo de áudio está pronto para upload.');\n      };\n      \n      mediaRecorder.stop();\n    });\n  };\n})();"}}},"component":"data2-core-web@Script"},{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCapture"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"meetingRecordStop":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"public","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Filename"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Content"}}}},{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Object"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Options"}},"parameters":{"params":{"fields":{"type":{"component":"data2-core-types@ComponentParameter","params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@String"}},"title":{"component":"data2-core-primitives@String","params":{"content":"Mimetype"}}}}}},"component":"data2-core-types@FieldSet"}}}],"definition":{"params":{"actions":[{"component":"data2-core-types@Getter","params":{"module":{"params":{},"component":"data2-core-web@Window"},"prop":{"component":"data2-core-primitives@String","params":{"content":"meetingCaptureStop"}}}}]},"component":"data2-core-flow@Series"}},"component":"data2-core-types@ComponentParameter"},"notify":{"params":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core-primitives@Function"}},"visibility":"private","arguments":[{"component":"data2-core-types@ComponentParameter","params":{"component":"data2-core-primitives@Object","parameters":{"title":{"params":{"component":"data2-core-primitives@String","index":{"component":"data2-core-primitives@Number","params":{"content":0}},"title":{"component":"data2-core-primitives@String","params":{"content":"title"}}},"component":"data2-core-types@ComponentParameter"},"sound":{"params":{"component":"data2-core-types@FileComponentUrlReference","index":{"component":"data2-core-primitives@Number","params":{"content":1}},"title":{"component":"data2-core-primitives@String","params":{"content":"sound"}}},"component":"data2-core-types@ComponentParameter"}},"flat":{"component":"data2-core-primitives@Boolean","params":{"content":true}}}}]},"component":"data2-core-types@ComponentParameter"}}},"component":"data2-core-types@FieldSet"}}},{"_id":"6a7b19211cf9f6f7cf9ff2d4","component":"data2-core-types@Component","system":"6a45d210b5865956b508ba84","params":{"extends":"data2-core-primitives@Block","component":"d5RGnzaKPCoSO7CQgjMZS","package":"tempo","definition":{"preventEvaluation":true,"component":"data2-core-types@Definition","params":{"def":{"component":"data2-code-components@CodeHost","params":{"code":{"component":"data2-core-primitives@String","params":{"content":"const LOGO_URL = 'https://tempobyporsche.com/wp-content/uploads/2026/02/logo_tempo_by_porsche_white_V.svg';\nconst LOGO_SOCIAL_URL = 'https://tempobyporsche.com/wp-content/uploads/2026/03/logo-tempo-social.webp';\nconst PRESS_EMAIL = 'oi@tempobyporsche.com';\nconst MAILTO = 'mailto:oi@tempobyporsche.com?subject=Contato%20de%20imprensa%20%E2%80%94%20TEMPO%20by%20Porsche';\nconst SITE_URL = 'https://tempobyporsche.com';\nconst INSTAGRAM_URL = 'https://www.instagram.com/tempobyporsche/';\nconst WHATSAPP_URL = 'https://wa.me/5511992784331';\nconst ADONIS_URL = 'https://www.adonisalcici.com';\nconst ADONIS_MANIFESTO_URL = 'https://www.adonisalcici.com/pages/manifesto';\nconst ADONIS_MARKS = ['Porsche AG', 'TAG Heuer', 'Motul', 'Hagerty', 'Art Basel — Miami', 'Icons of Porsche — Dubai'];\n\nconst COPY_TEXTS = {\n  short: 'A TEMPO by Porsche é o primeiro hub cultural permanente da Porsche nas Américas. Localizado em Pinheiros, São Paulo, o espaço integra arte, gastronomia, música e cultura automotiva em um mesmo endereço. Idealizado pelo artista plástico Adonis Alcici em parceria com a Porsche Brasil, o projeto propõe uma nova forma de vivenciar o universo Porsche — para quem vive além da velocidade.',\n  long: 'A TEMPO by Porsche é o primeiro hub cultural permanente da Porsche nas Américas. Um espaço que integra arte, gastronomia, música e cultura automotiva, conectando a marca a novos contextos, públicos e experiências. Localizada em São Paulo, a TEMPO foi concebida como um ponto de encontro entre diferentes linguagens criativas, onde cultura, design e lifestyle se cruzam para criar uma experiência que vai além do universo automotivo.\\n\\nMais do que um lugar, a TEMPO funciona como um ecossistema de encontros, curadoria e conteúdo. Ao reunir diferentes linguagens criativas em um mesmo ambiente, o projeto propõe uma nova forma de vivenciar o universo Porsche — onde cultura, design e lifestyle se encontram para criar experiências que vão além do automóvel.\\n\\nIdealizada pelo artista plástico Adonis Alcici em parceria com a Porsche Brasil, a TEMPO foi pensada como um ponto de convergência entre marca, cidade e comunidade criativa. Um espaço onde performance, design e cultura se conectam para gerar novas narrativas e relações.\\n\\nNa TEMPO, a gastronomia nasce da diversidade e da riqueza da culinária brasileira, reinterpretada com uma abordagem contemporânea. O espaço também recebe eventos privados de marcas e empresas e mantém um programa de membership com acesso mediante curadoria.',\n  grafia: 'Na primeira menção, escreva \"TEMPO by Porsche\". Nas menções seguintes, apenas \"TEMPO\". Evite as grafias \"Tempo By Porsche\", \"TEMPO Porsche\" e \"Tempo\".',\n  credito: 'Foto: Divulgação/TEMPO by Porsche',\n  adonis: 'Adonis Alcici é um artista plástico brasileiro apaixonado por velocidade. Suas obras traduzem, nos traços e nas texturas das pinceladas, a sensação de movimento e as emoções que os carros provocam — com as setas, elemento-assinatura do artista, reforçando a aerodinâmica das formas automotivas. Presente no mercado de luxo global, desenvolveu projetos e ações para marcas como Porsche, TAG Heuer, Motul e Hagerty, com apresentações em São Paulo, na Art Basel em Miami, na Califórnia, em Daytona, Dubai, na França e na Alemanha. Entre os trabalhos com a Porsche estão o Macan Art Car, criado na Style Porsche em Weissach, a performance ao vivo no Icons of Porsche, em Dubai, e a idealização da TEMPO by Porsche — primeiro hub cultural permanente da marca nas Américas — em parceria com a Porsche Brasil.',\n};\n\nconst FACTS = [\n  { k: 'Nome oficial', v: 'TEMPO by Porsche' },\n  { k: 'O que é', v: 'O primeiro hub cultural permanente da Porsche nas Américas' },\n  { k: 'Pilares', v: 'Arte · Gastronomia · Música · Cultura automotiva' },\n  { k: 'Endereço', v: 'Rua Maria Carolina, 624 — Pinheiros, São Paulo/SP, Brasil' },\n  { k: 'Funcionamento', v: 'Segunda, 10h às 18h · Terça a sexta, 10h às 23h · Sábado e domingo, 09h às 23h' },\n  { k: 'Idealização', v: 'Adonis Alcici, artista plástico, em parceria com a Porsche Brasil' },\n  { k: 'Gastronomia', v: 'Culinária brasileira em releitura contemporânea, com carta de vinhos, bar e programa de cafés' },\n  { k: 'Eventos privados', v: 'Espaço adaptável para eventos corporativos, com capacidade para até 200 convidados em diferentes configurações' },\n  { k: 'Membership', v: 'Acesso mediante curadoria, para um grupo limitado' },\n  { k: 'Canais', v: 'tempobyporsche.com · @tempobyporsche' },\n];\n\nconst GUIDELINES = [\n  'As fotos e os textos desta página são material oficial de divulgação e podem ser usados livremente em conteúdo editorial (matérias, notas, colunas e redes sociais de veículos de imprensa).',\n  'Crédito obrigatório nas fotos: \"Foto: Divulgação/TEMPO by Porsche\".',\n  'Cada foto tem dois downloads: HD — versão em alta resolução, pronta para publicação digital — e RAW — arquivo original sem compressão, na resolução máxima, ideal para impressão e grandes formatos.',\n  'Não aplique filtros, sobreposições, distorções ou recortes que alterem o logotipo ou descaracterizem as imagens.',\n  'O uso comercial ou publicitário do material — fora do contexto editorial — requer autorização prévia da TEMPO by Porsche.',\n  'Em caso de dúvida sobre um uso específico, escreva para ' + PRESS_EMAIL + '.',\n];\n\nconst FAQ = [\n  {\n    q: 'O que é a TEMPO by Porsche?',\n    a: 'É o primeiro hub cultural permanente da Porsche nas Américas: um espaço em São Paulo que reúne arte, gastronomia, música e cultura automotiva. Foi idealizado pelo artista plástico Adonis Alcici em parceria com a Porsche Brasil.',\n  },\n  {\n    q: 'Onde fica e quais são os horários?',\n    a: 'Rua Maria Carolina, 624 — Pinheiros, São Paulo/SP. Funciona às segundas, das 10h às 18h; de terça a sexta-feira, das 10h às 23h; e aos sábados e domingos, das 09h às 23h.',\n  },\n  {\n    q: 'Posso publicar as fotos desta página?',\n    a: 'Sim. Todas as fotos são material oficial de divulgação, liberadas para uso editorial com o crédito \"Foto: Divulgação/TEMPO by Porsche\". Em cada foto, o botão HD baixa a versão em alta resolução (pronta para publicação digital) e o botão RAW baixa o arquivo original, sem compressão, na resolução máxima.',\n  },\n  {\n    q: 'Como solicito entrevistas, pautas ou informações adicionais?',\n    a: 'Escreva para ' + PRESS_EMAIL + ' com o veículo, o tema da pauta e o prazo. A equipe da TEMPO direciona ao porta-voz adequado.',\n  },\n  {\n    q: 'Como funciona o credenciamento de imprensa para eventos?',\n    a: 'O credenciamento é feito por e-mail, com antecedência, pelo ' + PRESS_EMAIL + '. Informe veículo, nomes completos da equipe (incluindo fotógrafo/vídeo, se houver) e o evento de interesse.',\n  },\n  {\n    q: 'A TEMPO é aberta ao público?',\n    a: 'A experiência gastronômica e a programação cultural recebem o público nos horários de funcionamento (reservas pelo site ou WhatsApp). Já o TEMPO Membership tem acesso mediante curadoria, para um grupo limitado.',\n  },\n  {\n    q: 'O espaço recebe eventos de outras marcas?',\n    a: 'Sim. A TEMPO recebe eventos privados e corporativos de marcas que se conectam com o universo Porsche, com estrutura completa de catering, som, vídeo, iluminação cênica e estacionamento com manobrista. Cotações pelo site ou pelo ' + PRESS_EMAIL + '.',\n  },\n  {\n    q: 'Preciso de uma foto ou informação que não está aqui. E agora?',\n    a: 'Fale com a gente: ' + PRESS_EMAIL + '. Podemos providenciar imagens específicas, dados atualizados e materiais complementares.',\n  },\n];\n\n// the .wrap scroller is rebuilt on every render — keep its position across setState re-renders\nlet savedScroll = 0;\nfunction bindScroll(root){\n  const w = root.querySelector('.wrap');\n  if (!w || w.__scrollBound) return;\n  w.__scrollBound = true;\n  w.addEventListener('scroll', () => {\n    savedScroll = w.scrollTop;\n    const b = root.querySelector('.top-btn');\n    if (b) b.classList.toggle('show', w.scrollTop > 900);\n  }, { passive: true });\n}\n\nfunction rawUrl(url){\n  const m = /^(.*\\/)([A-Za-z0-9]{1,4})\\/([^/]+)-\\2(\\.\\w+)$/.exec(url || '');\n  return m ? `${m[1]}O/${m[3]}-O${m[4]}` : null;\n}\n\nexport default {\n  css: `\n    .wrap{ font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;\n      background:#0a0a0b; padding:0 0 72px; box-sizing:border-box; color:#eae8e3;\n      -webkit-font-smoothing:antialiased;\n      /* own scroller: the host doesn't re-measure height after the 120 photos load async,\n         so page scroll clamps mid-gallery — pin to viewport and scroll internally */\n      position:fixed; inset:0; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; }\n    .inner{ max-width:1360px; margin:0 auto; padding:0 28px; box-sizing:border-box; }\n\n    /* ── top nav ── */\n    .nav{ position:sticky; top:0; z-index:500; background:rgba(10,10,11,.86);\n      backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);\n      border-bottom:1px solid rgba(255,255,255,.08); }\n    .nav-in{ max-width:1360px; margin:0 auto; padding:14px 28px; display:flex; align-items:center;\n      justify-content:space-between; gap:18px; }\n    .nav .logo{ height:24px; width:auto; display:block; }\n    .nav-links{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }\n    .nav-link{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#a8a6a1;\n      cursor:pointer; transition:color .2s ease; white-space:nowrap; }\n    .nav-link:hover{ color:#f3f1ec; }\n    .nav-mail{ font-size:11.5px; letter-spacing:.06em; color:#0a0a0b; background:#eae8e3;\n      padding:8px 16px; border-radius:999px; text-decoration:none; white-space:nowrap;\n      transition:background .2s ease; font-weight:600; }\n    .nav-mail:hover{ background:#fff; }\n\n    /* ── hero ── */\n    .hero{ position:relative; border-bottom:1px solid rgba(255,255,255,.08); overflow:hidden; }\n    .hero .inner{ position:relative; z-index:2; padding-top:96px; padding-bottom:72px; }\n    .hero-bg{ position:absolute; inset:0; z-index:0; }\n    .hero-bg img{ width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.4s ease; filter:saturate(.85); }\n    .hero-bg img.loaded{ opacity:.38; }\n    .hero-veil{ position:absolute; inset:0; z-index:1;\n      background:linear-gradient(180deg, rgba(10,10,11,.5) 0%, rgba(10,10,11,.72) 55%, #0a0a0b 100%); }\n    .eyebrow{ font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#8c8a85; margin-bottom:18px; }\n    .hero h1{ font-size:44px; line-height:1.08; font-weight:600; letter-spacing:.01em; color:#f3f1ec;\n      margin:0 0 14px; max-width:820px; }\n    .hero .tagline{ font-size:16px; color:#a8a6a1; font-style:italic; margin-bottom:22px; }\n    .hero .lede{ font-size:15px; line-height:1.65; color:#c9c7c2; max-width:760px; margin-bottom:34px; }\n    .btn-row{ display:flex; gap:12px; flex-wrap:wrap; }\n    .btn{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:.08em;\n      text-transform:uppercase; font-weight:600; padding:13px 26px; border-radius:999px; cursor:pointer;\n      text-decoration:none; transition:background .2s ease, border-color .2s ease, color .2s ease;\n      border:1px solid transparent; }\n    .btn-solid{ background:#eae8e3; color:#0a0a0b; }\n    .btn-solid:hover{ background:#fff; }\n    .btn-ghost{ background:transparent; color:#eae8e3; border-color:rgba(255,255,255,.24); }\n    .btn-ghost:hover{ border-color:rgba(255,255,255,.5); }\n\n    /* ── adonis ── */\n    .ad-grid{ display:grid; grid-template-columns:5fr 7fr; gap:44px; align-items:start; }\n    .ad-quote{ font-size:26px; line-height:1.45; color:#f3f1ec; font-style:italic;\n      font-family:Georgia,'Times New Roman',serif; border-left:2px solid rgba(255,255,255,.25); padding-left:24px; }\n    .ad-quote .qa{ display:block; margin-top:18px; font-size:11px; letter-spacing:.24em; text-transform:uppercase;\n      color:#8c8a85; font-style:normal; font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif; }\n    .ad-bio p{ font-size:14px; line-height:1.75; color:#c9c7c2; margin:0 0 14px; }\n    .ad-bio b{ color:#f3f1ec; font-weight:600; }\n    .ad-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }\n    .chip{ font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:#a8a6a1;\n      border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:7px 14px; white-space:nowrap; }\n    .ad-manifesto{ margin-top:34px; background:#121214; border:1px solid rgba(255,255,255,.07);\n      border-radius:10px; padding:26px 28px; }\n    .ad-manifesto .amt{ font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:#8c8a85; margin-bottom:12px; }\n    .ad-manifesto p{ font-size:14.5px; line-height:1.75; color:#dcdad5; font-style:italic; margin:0;\n      font-family:Georgia,'Times New Roman',serif; }\n    .ad-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }\n\n    /* ── back to top ── */\n    .top-btn{ position:fixed; right:26px; bottom:26px; width:46px; height:46px; border-radius:50%;\n      background:rgba(20,20,22,.85); border:1px solid rgba(255,255,255,.18); display:flex; align-items:center;\n      justify-content:center; cursor:pointer; z-index:800; color:#eae8e3; opacity:0; pointer-events:none;\n      transform:translateY(8px); transition:opacity .25s ease, transform .25s ease, background .2s ease; }\n    .top-btn.show{ opacity:1; pointer-events:auto; transform:translateY(0); }\n    .top-btn:hover{ background:rgba(42,42,46,.95); }\n    .top-btn svg{ width:16px; height:16px; display:block; }\n\n    /* ── sections ── */\n    .section{ padding:60px 0 8px; scroll-margin-top:76px; }\n    .sec-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px;\n      flex-wrap:wrap; margin-bottom:8px; }\n    .h2{ font-size:22px; font-weight:600; letter-spacing:.02em; color:#f3f1ec; margin:0 0 6px; }\n    .sec-note{ font-size:13px; color:#8c8a85; max-width:760px; line-height:1.6; margin-bottom:26px; }\n\n    /* boilerplate copy boxes */\n    .copy-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }\n    .copybox{ background:#121214; border:1px solid rgba(255,255,255,.07); border-radius:10px;\n      padding:24px; display:flex; flex-direction:column; gap:14px; }\n    .copybox .cb-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }\n    .copybox .cb-title{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#8c8a85; }\n    .copybtn{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#eae8e3;\n      background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:999px;\n      padding:7px 14px; cursor:pointer; transition:background .2s ease, border-color .2s ease;\n      white-space:nowrap; }\n    .copybtn:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.32); }\n    .copybox p{ font-size:13.5px; line-height:1.7; color:#c9c7c2; margin:0 0 10px; }\n    .copybox p:last-child{ margin-bottom:0; }\n\n    /* fact sheet */\n    .facts{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }\n    .fact{ background:#121214; border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:20px 22px; }\n    .fact .fk{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:#8c8a85; margin-bottom:8px; }\n    .fact .fv{ font-size:14px; line-height:1.55; color:#eae8e3; }\n\n    /* logos */\n    .logos-row{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }\n    .logo-card{ background:#121214; border:1px solid rgba(255,255,255,.07); border-radius:10px;\n      overflow:hidden; display:flex; flex-direction:column; }\n    .logo-card .lc-preview{ height:170px; display:flex; align-items:center; justify-content:center;\n      background:radial-gradient(120% 120% at 50% 0%, #1a1a1d 0%, #0e0e10 100%); }\n    .logo-card .lc-preview img{ max-height:64px; max-width:70%; object-fit:contain; }\n    .logo-card .lc-meta{ padding:16px 20px; display:flex; align-items:center; justify-content:space-between;\n      gap:12px; border-top:1px solid rgba(255,255,255,.06); }\n    .logo-card .lc-name{ font-size:13px; color:#eae8e3; }\n    .logo-card .lc-sub{ font-size:11.5px; color:#8c8a85; margin-top:3px; }\n    .lc-dl{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#eae8e3;\n      background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:999px;\n      padding:7px 14px; text-decoration:none; white-space:nowrap; transition:background .2s ease; }\n    .lc-dl:hover{ background:rgba(255,255,255,.12); }\n\n    /* guidelines */\n    .rules{ display:flex; flex-direction:column; gap:0; border:1px solid rgba(255,255,255,.07);\n      border-radius:10px; overflow:hidden; }\n    .rule{ display:flex; gap:18px; padding:18px 22px; background:#121214; align-items:baseline; }\n    .rule + .rule{ border-top:1px solid rgba(255,255,255,.06); }\n    .rule .rn{ font-size:11px; color:#8c8a85; letter-spacing:.1em; min-width:22px; }\n    .rule .rt{ font-size:13.5px; line-height:1.65; color:#c9c7c2; }\n    .rule .rt b{ color:#eae8e3; font-weight:600; }\n    .credit-line{ display:flex; align-items:center; gap:14px; margin-top:14px; flex-wrap:wrap; }\n    .credit-chip{ font-size:13px; color:#eae8e3; background:#121214; border:1px dashed rgba(255,255,255,.22);\n      border-radius:8px; padding:10px 16px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }\n\n    /* gallery (existing) */\n    .grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }\n    .cell{ position:relative; aspect-ratio:4/3; border-radius:8px; overflow:hidden;\n      background:#141416; cursor:pointer; }\n    .cell img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;\n      transition:transform .5s cubic-bezier(.2,.7,.3,1), opacity .5s ease; opacity:0; }\n    .cell img.loaded{ opacity:1; }\n    .cell:hover img{ transform:scale(1.045); }\n    .veil{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.75) 100%);\n      opacity:0; transition:opacity .25s ease; }\n    .cell:hover .veil{ opacity:1; }\n    .cellbar{ position:absolute; right:10px; bottom:10px; display:flex; gap:8px;\n      opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease; }\n    .cell:hover .cellbar{ opacity:1; transform:translateY(0); }\n    .pill{ display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border-radius:999px;\n      background:rgba(10,10,11,.78); border:1px solid rgba(255,255,255,.22); color:#eae8e3;\n      font-size:10.5px; letter-spacing:.12em; font-weight:600; text-decoration:none; cursor:pointer;\n      transition:background .2s ease, border-color .2s ease; white-space:nowrap; }\n    .pill svg{ width:13px; height:13px; display:block; }\n    .pill:hover{ background:rgba(32,32,34,.95); border-color:rgba(255,255,255,.4); }\n    .empty{ margin:80px auto; text-align:center; color:#6f6d68; font-size:13px; letter-spacing:.03em; }\n    .skeleton{ position:absolute; inset:0; background:linear-gradient(100deg,#141416 30%,#1d1d20 50%,#141416 70%);\n      background-size:200% 100%; animation:shimmer 1.4s infinite; border-radius:8px; }\n    @keyframes shimmer{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }\n    .lightbox{ position:fixed; inset:0; background:rgba(6,6,7,.95); display:flex; align-items:center;\n      justify-content:center; z-index:9999; opacity:0; pointer-events:none; transition:opacity .25s ease;\n      padding:56px; box-sizing:border-box; }\n    .lightbox.open{ opacity:1; pointer-events:auto; }\n    .lightbox img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:4px;\n      box-shadow:0 30px 90px rgba(0,0,0,.65); }\n    .lb-btn{ position:absolute; display:flex; align-items:center; justify-content:center;\n      background:rgba(20,20,22,.72); border:1px solid rgba(255,255,255,.16); border-radius:50%;\n      color:#eae8e3; cursor:pointer; transition:background .2s ease, border-color .2s ease; text-decoration:none; }\n    .lb-btn:hover{ background:rgba(42,42,46,.88); border-color:rgba(255,255,255,.34); }\n    .lb-close{ top:26px; right:26px; width:42px; height:42px; }\n    .lb-close svg{ width:16px; height:16px; }\n    .lb-bar{ position:absolute; top:26px; right:84px; display:flex; gap:10px; }\n    .lb-bar .pill{ padding:11px 16px; font-size:11px; }\n    .lb-prev, .lb-next{ width:48px; height:48px; top:50%; transform:translateY(-50%); }\n    .lb-prev{ left:26px; } .lb-prev svg{ width:18px; height:18px; }\n    .lb-next{ right:26px; } .lb-next svg{ width:18px; height:18px; }\n    .lb-count{ position:absolute; bottom:26px; left:50%; transform:translateX(-50%);\n      font-size:12px; letter-spacing:.06em; color:#a8a6a1; }\n\n    /* faq */\n    .faq{ border:1px solid rgba(255,255,255,.07); border-radius:10px; overflow:hidden; }\n    .faq-item{ background:#121214; }\n    .faq-item + .faq-item{ border-top:1px solid rgba(255,255,255,.06); }\n    .faq-q{ display:flex; align-items:center; justify-content:space-between; gap:16px;\n      padding:20px 22px; cursor:pointer; transition:background .2s ease; }\n    .faq-q:hover{ background:#17171a; }\n    .faq-q .qt{ font-size:14.5px; color:#eae8e3; font-weight:500; line-height:1.5; }\n    .faq-q .qi{ font-size:18px; color:#8c8a85; line-height:1; flex-shrink:0; width:18px; text-align:center; }\n    .faq-a{ padding:0 22px 22px; font-size:13.5px; line-height:1.7; color:#c9c7c2; max-width:900px; }\n\n    /* contact */\n    .contact-card{ background:linear-gradient(160deg,#17171a 0%, #101012 100%);\n      border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:44px 40px;\n      display:flex; flex-direction:column; gap:10px; }\n    .contact-card .cc-eyebrow{ font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#8c8a85; }\n    .contact-card .cc-mail{ font-size:30px; font-weight:600; color:#f3f1ec; text-decoration:none;\n      letter-spacing:.01em; word-break:break-all; }\n    .contact-card .cc-mail:hover{ text-decoration:underline; }\n    .contact-card .cc-note{ font-size:13.5px; color:#a8a6a1; line-height:1.65; max-width:680px; }\n    .cc-links{ display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }\n\n    /* footer */\n    .footer{ margin-top:64px; padding-top:26px; border-top:1px solid rgba(255,255,255,.08);\n      display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }\n    .footer .f-left{ display:flex; align-items:center; gap:14px; }\n    .footer .f-logo{ height:18px; width:auto; opacity:.85; }\n    .footer span, .footer a{ font-size:11.5px; color:#8c8a85; text-decoration:none; letter-spacing:.03em; }\n    .footer a:hover{ color:#eae8e3; }\n\n    /* touch devices: no hover, so keep the download affordance visible */\n    @media (hover: none){\n      .cellbar{ opacity:1; transform:translateY(0); }\n    }\n\n    /* tablet */\n    @media (max-width: 900px){\n      .inner{ padding:0 16px; }\n      .nav-in{ padding:12px 16px; }\n      .nav-links{ gap:14px; }\n      .nav-link{ display:none; }\n      .nav-link.nl-keep{ display:block; }\n      .hero .inner{ padding-top:60px; padding-bottom:48px; }\n      .hero h1{ font-size:32px; }\n      .ad-grid{ grid-template-columns:1fr; gap:26px; }\n      .ad-quote{ font-size:21px; }\n      .top-btn{ right:14px; bottom:14px; width:42px; height:42px; }\n      .section{ padding:44px 0 8px; scroll-margin-top:64px; }\n      .copy-grid{ grid-template-columns:1fr; }\n      .contact-card{ padding:32px 24px; }\n      .contact-card .cc-mail{ font-size:22px; }\n      .grid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }\n      .cellbar{ opacity:1; transform:translateY(0); }\n      .lightbox{ padding:18px; }\n      .lb-close{ width:38px; height:38px; top:12px; right:12px; }\n      .lb-close svg{ width:15px; height:15px; }\n      .lb-bar{ top:12px; right:58px; gap:8px; }\n      .lb-bar .pill{ padding:9px 13px; font-size:10.5px; }\n      .lb-prev, .lb-next{ width:40px; height:40px; }\n      .lb-prev{ left:8px; } .lb-next{ right:8px; }\n      .lb-count{ bottom:10px; font-size:11px; }\n    }\n\n    /* mobile */\n    @media (max-width: 480px){\n      .nav .logo{ height:19px; }\n      .nav-mail{ padding:7px 12px; font-size:10.5px; }\n      .hero .inner{ padding-top:48px; padding-bottom:40px; }\n      .hero h1{ font-size:26px; }\n      .ad-quote{ font-size:19px; padding-left:16px; }\n      .ad-manifesto{ padding:20px 18px; }\n      .btn{ padding:11px 20px; font-size:11.5px; }\n      .grid{ grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; }\n      .cell{ border-radius:6px; }\n      .facts, .logos-row{ grid-template-columns:1fr; }\n      .pill{ padding:6px 10px; font-size:9.5px; gap:5px; }\n      .lightbox{ padding:6px; }\n      .lb-close{ width:34px; height:34px; top:8px; right:8px; }\n      .lb-bar{ top:8px; right:48px; gap:6px; }\n      .lb-bar .pill{ padding:7px 11px; font-size:9.5px; }\n      .lb-prev, .lb-next{ width:36px; height:36px; }\n      .lb-prev{ left:4px; } .lb-next{ right:4px; }\n      .lb-prev svg, .lb-next svg{ width:15px; height:15px; }\n      .lb-count{ bottom:8px; font-size:10.5px; }\n    }\n  `,\n  render(d2){\n    const ready = d2.state.ready;\n    const rows = d2.state.rows || [];\n    const openFaq = d2.state.openFaq;\n    const ICON_DOWNLOAD = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3v12\"/><path d=\"M6.5 10.5 12 16l5.5-5.5\"/><path d=\"M5 20h14\"/></svg>`;\n    const ICON_CLOSE = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"><path d=\"M5 5l14 14\"/><path d=\"M19 5 5 19\"/></svg>`;\n    const ICON_PREV = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 5l-7 7 7 7\"/></svg>`;\n    const ICON_NEXT = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 5l7 7-7 7\"/></svg>`;\n\n    let galleryBody;\n    if (!ready) {\n      galleryBody = `<div class=\"grid\">${Array.from({length:10}).map(()=>`<div class=\"cell\"><div class=\"skeleton\"></div></div>`).join('')}</div>`;\n    } else if (!rows.length) {\n      galleryBody = `<div class=\"empty\">Nenhuma foto disponível no momento. Escreva para ${PRESS_EMAIL}.</div>`;\n    } else {\n      const cells = rows.map((r,i) => {\n        const raw = rawUrl(r.full);\n        return `\n        <div class=\"cell\" data-idx=\"${i}\" data-key=\"${r._id}\">\n          <img class=\"ph\" data-src=\"${r.thumb}\" alt=\"\" />\n          <div class=\"veil\"></div>\n          <div class=\"cellbar\">\n            ${raw ? `<a class=\"pill\" href=\"${raw}\" download target=\"_blank\" rel=\"noopener\" title=\"Arquivo original sem compressão — resolução máxima, ideal para impressão\" data-stop=\"1\">${ICON_DOWNLOAD}<span>RAW</span></a>` : ''}\n            <a class=\"pill\" href=\"${r.full}\" download target=\"_blank\" rel=\"noopener\" title=\"Alta resolução — pronta para publicação digital\" data-stop=\"1\">${ICON_DOWNLOAD}<span>HD</span></a>\n          </div>\n        </div>`;\n      }).join('');\n      galleryBody = `<div class=\"grid\">${cells}</div>`;\n    }\n\n    const lb = d2.state.lbIndex;\n    const lbOpen = lb !== null && lb !== undefined;\n    const cur = lbOpen ? rows[lb] : null;\n    const curRaw = cur ? rawUrl(cur.full) : null;\n\n    const factsHtml = FACTS.map(f => `<div class=\"fact\"><div class=\"fk\">${f.k}</div><div class=\"fv\">${f.v}</div></div>`).join('');\n\n    const rulesHtml = GUIDELINES.map((g,i) => `<div class=\"rule\"><div class=\"rn\">0${i+1}</div><div class=\"rt\">${g}</div></div>`).join('');\n\n    const faqHtml = FAQ.map((f,i) => `\n      <div class=\"faq-item\">\n        <div class=\"faq-q\" data-i=\"${i}\">\n          <div class=\"qt\">${f.q}</div>\n          <div class=\"qi\">${openFaq === i ? '−' : '+'}</div>\n        </div>\n        ${openFaq === i ? `<div class=\"faq-a\">${f.a}</div>` : ''}\n      </div>`).join('');\n\n    const photoCount = ready && rows.length ? `${rows.length} fotos em alta resolução` : 'Fotos em alta resolução';\n    const heroBg = ready && rows.length ? rows[0].full : null;\n    const ICON_TOP = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 19V5\"/><path d=\"M5.5 11.5 12 5l6.5 6.5\"/></svg>`;\n\n    return `<div class=\"wrap\">\n\n      <div class=\"nav\">\n        <div class=\"nav-in\">\n          <img class=\"logo\" src=\"${LOGO_URL}\" alt=\"TEMPO by Porsche\" />\n          <div class=\"nav-links\">\n            <div class=\"nav-link\" data-goto=\"sobre\">Sobre</div>\n            <div class=\"nav-link\" data-goto=\"adonis\">Adonis</div>\n            <div class=\"nav-link\" data-goto=\"factsheet\">Fact sheet</div>\n            <div class=\"nav-link nl-keep\" data-goto=\"fotos\">Fotos</div>\n            <div class=\"nav-link\" data-goto=\"marca\">Marca</div>\n            <div class=\"nav-link\" data-goto=\"diretrizes\">Uso</div>\n            <div class=\"nav-link nl-keep\" data-goto=\"faq\">FAQ</div>\n            <a class=\"nav-mail\" href=\"${MAILTO}\">${PRESS_EMAIL}</a>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"hero\">\n        <div class=\"hero-bg\">${heroBg ? `<img class=\"ph\" data-src=\"${heroBg}\" alt=\"\" />` : ''}</div>\n        <div class=\"hero-veil\"></div>\n        <div class=\"inner\">\n          <div class=\"eyebrow\">Sala de Imprensa · Press Kit</div>\n          <h1>TEMPO by Porsche</h1>\n          <div class=\"tagline\">Para quem vive além da velocidade.</div>\n          <div class=\"lede\">Material oficial para jornalistas, veículos e criadores de conteúdo: textos prontos para publicação,\n            fact sheet, fotos em alta resolução e diretrizes de uso da marca. Tudo nesta página é liberado para uso editorial\n            com o devido crédito. Dúvidas, entrevistas e credenciamento: <a href=\"${MAILTO}\" style=\"color:#eae8e3;\">${PRESS_EMAIL}</a>.</div>\n          <div class=\"btn-row\">\n            <div class=\"btn btn-solid\" data-goto=\"fotos\">Ver fotos${ready && rows.length ? ` (${rows.length})` : ''}</div>\n            <a class=\"btn btn-ghost\" href=\"${MAILTO}\">Falar com a equipe</a>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"inner\">\n\n        <div class=\"section\" data-sec=\"sobre\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Sobre a TEMPO</h2></div>\n          <div class=\"sec-note\">Textos oficiais, prontos para citação ou reprodução. Use o botão para copiar.</div>\n          <div class=\"copy-grid\">\n            <div class=\"copybox\">\n              <div class=\"cb-head\"><div class=\"cb-title\">Boilerplate · versão curta</div><button class=\"copybtn\" data-copy=\"short\">Copiar texto</button></div>\n              <div><p>${COPY_TEXTS.short}</p></div>\n            </div>\n            <div class=\"copybox\">\n              <div class=\"cb-head\"><div class=\"cb-title\">Texto institucional · versão completa</div><button class=\"copybtn\" data-copy=\"long\">Copiar texto</button></div>\n              <div>${COPY_TEXTS.long.split('\\n\\n').map(p=>`<p>${p}</p>`).join('')}</div>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"adonis\">\n          <div class=\"sec-head\">\n            <h2 class=\"h2\">O idealizador — Adonis Alcici</h2>\n            <button class=\"copybtn\" data-copy=\"adonis\">Copiar bio</button>\n          </div>\n          <div class=\"sec-note\">Bio oficial do artista, pronta para publicação. Mais em adonisalcici.com.</div>\n          <div class=\"ad-grid\">\n            <div class=\"ad-quote\">“Sou apaixonado por velocidade e por adrenalina e represento isso na minha arte. É isso o que me move.”<span class=\"qa\">Adonis Alcici</span></div>\n            <div class=\"ad-bio\">\n              <p>Artista plástico brasileiro, Adonis Alcici retrata em suas obras o universo da velocidade. Os traços e as texturas das pinceladas expressam a sensação de movimento e as emoções que os carros provocam; as setas, elemento-assinatura do artista, reforçam a sensação de velocidade e a aerodinâmica das formas automotivas. Através da arte, ele reconstrói a visão sólida do produto, multiplica os sentimentos e ressalta o design.</p>\n              <p>Presente no mercado de luxo global, desenvolve projetos e ações para marcas como Porsche, TAG Heuer, Motul e Hagerty, com apresentações em São Paulo, na Art Basel em Miami, na Califórnia, em Daytona, Dubai, na França e na Alemanha.</p>\n              <p>Entre os trabalhos com a Porsche estão o <b>Macan Art Car</b>, criado na Style Porsche em Weissach, a performance ao vivo no <b>Icons of Porsche</b>, em Dubai — e a <b>TEMPO by Porsche</b>, primeiro hub cultural permanente da marca nas Américas, idealizada por ele em parceria com a Porsche Brasil.</p>\n              <div class=\"ad-chips\">${ADONIS_MARKS.map(m => `<span class=\"chip\">${m}</span>`).join('')}</div>\n            </div>\n          </div>\n          <div class=\"ad-manifesto\">\n            <div class=\"amt\">Do manifesto do artista</div>\n            <p>“Velocidade não é apenas movimento. É um estado de espírito. […] Não é apenas sobre chegar. É sobre estar. Sobre viver o momento em que tempo e espaço se fundem, onde o futuro é criado a cada curva.”</p>\n          </div>\n          <div class=\"ad-actions\">\n            <a class=\"btn btn-ghost\" href=\"${ADONIS_URL}\" target=\"_blank\" rel=\"noopener\">adonisalcici.com</a>\n            <a class=\"btn btn-ghost\" href=\"${ADONIS_MANIFESTO_URL}\" target=\"_blank\" rel=\"noopener\">Manifesto completo</a>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"factsheet\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Fact sheet</h2></div>\n          <div class=\"sec-note\">Os fatos essenciais, conferidos pela equipe da TEMPO.</div>\n          <div class=\"facts\">${factsHtml}</div>\n        </div>\n\n        <div class=\"section\" data-sec=\"fotos\">\n          <div class=\"sec-head\">\n            <h2 class=\"h2\">Fotos oficiais</h2>\n            <div class=\"sec-note\" style=\"margin-bottom:0;\">${photoCount}</div>\n          </div>\n          <div class=\"sec-note\">Clique em uma foto para ampliar. <b style=\"color:#eae8e3;\">HD</b> baixa a versão em alta\n            resolução, pronta para publicação digital; <b style=\"color:#eae8e3;\">RAW</b> baixa o arquivo original, sem\n            compressão, na resolução máxima — ideal para impressão. Crédito: <b style=\"color:#eae8e3;\">Foto: Divulgação/TEMPO by Porsche</b>.</div>\n          ${galleryBody}\n        </div>\n\n        <div class=\"section\" data-sec=\"marca\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Logotipo e grafia</h2></div>\n          <div class=\"sec-note\">Aplicações oficiais da marca para uso em matérias e créditos visuais.</div>\n          <div class=\"logos-row\">\n            <div class=\"logo-card\">\n              <div class=\"lc-preview\"><img src=\"${LOGO_URL}\" alt=\"Logo TEMPO by Porsche\" /></div>\n              <div class=\"lc-meta\">\n                <div><div class=\"lc-name\">Logotipo principal — branco</div><div class=\"lc-sub\">SVG · vetor, fundo escuro</div></div>\n                <a class=\"lc-dl\" href=\"${LOGO_URL}\" download target=\"_blank\" rel=\"noopener\">Baixar</a>\n              </div>\n            </div>\n            <div class=\"logo-card\">\n              <div class=\"lc-preview\"><img src=\"${LOGO_SOCIAL_URL}\" alt=\"Logo social TEMPO by Porsche\" style=\"max-height:110px;\" /></div>\n              <div class=\"lc-meta\">\n                <div><div class=\"lc-name\">Logo para redes sociais</div><div class=\"lc-sub\">WebP · 1024×1024</div></div>\n                <a class=\"lc-dl\" href=\"${LOGO_SOCIAL_URL}\" download target=\"_blank\" rel=\"noopener\">Baixar</a>\n              </div>\n            </div>\n            <div class=\"logo-card\">\n              <div class=\"lc-preview\" style=\"padding:0 28px; text-align:center;\">\n                <div style=\"font-size:14px; line-height:1.7; color:#c9c7c2;\">Primeira menção: <b style=\"color:#f3f1ec;\">TEMPO by Porsche</b><br/>Menções seguintes: <b style=\"color:#f3f1ec;\">TEMPO</b></div>\n              </div>\n              <div class=\"lc-meta\">\n                <div><div class=\"lc-name\">Grafia do nome</div><div class=\"lc-sub\">Evite \"Tempo By Porsche\" e \"TEMPO Porsche\"</div></div>\n                <button class=\"lc-dl copybtn-grafia\" data-copy=\"grafia\" style=\"background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); cursor:pointer;\">Copiar</button>\n              </div>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"diretrizes\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Diretrizes de uso</h2></div>\n          <div class=\"sec-note\">O que você precisa saber antes de publicar.</div>\n          <div class=\"rules\">${rulesHtml}</div>\n          <div class=\"credit-line\">\n            <div class=\"credit-chip\">${COPY_TEXTS.credito}</div>\n            <button class=\"copybtn\" data-copy=\"credito\">Copiar crédito</button>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"faq\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Perguntas frequentes</h2></div>\n          <div class=\"sec-note\">Respostas rápidas para as dúvidas mais comuns da imprensa.</div>\n          <div class=\"faq\">${faqHtml}</div>\n        </div>\n\n        <div class=\"section\" data-sec=\"contato\">\n          <div class=\"contact-card\">\n            <div class=\"cc-eyebrow\">Contato de imprensa</div>\n            <a class=\"cc-mail\" href=\"${MAILTO}\">${PRESS_EMAIL}</a>\n            <div class=\"cc-note\">Entrevistas, pautas, credenciamento para eventos, imagens adicionais e qualquer dúvida sobre\n              o uso deste material. Informe o veículo, o tema e o prazo da pauta — a equipe direciona ao porta-voz adequado.</div>\n            <div class=\"cc-links\">\n              <a class=\"btn btn-ghost\" href=\"${SITE_URL}\" target=\"_blank\" rel=\"noopener\">tempobyporsche.com</a>\n              <a class=\"btn btn-ghost\" href=\"${INSTAGRAM_URL}\" target=\"_blank\" rel=\"noopener\">Instagram</a>\n              <a class=\"btn btn-ghost\" href=\"${WHATSAPP_URL}\" target=\"_blank\" rel=\"noopener\">WhatsApp · Reservas</a>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"footer\">\n          <div class=\"f-left\">\n            <img class=\"f-logo\" src=\"${LOGO_URL}\" alt=\"TEMPO by Porsche\" />\n            <span>Rua Maria Carolina, 624 — Pinheiros, São Paulo/SP</span>\n          </div>\n          <div>\n            <a href=\"${MAILTO}\">${PRESS_EMAIL}</a>\n            <span> · </span>\n            <a href=\"${SITE_URL}\" target=\"_blank\" rel=\"noopener\">tempobyporsche.com</a>\n          </div>\n        </div>\n\n      </div>\n\n      <div class=\"top-btn\" title=\"Voltar ao topo\">${ICON_TOP}</div>\n\n      <div class=\"lightbox ${lbOpen ? 'open' : ''}\">\n        ${cur ? `\n          <img src=\"${cur.full}\" alt=\"\" />\n          <div class=\"lb-btn lb-close\" data-act=\"close\">${ICON_CLOSE}</div>\n          <div class=\"lb-bar\">\n            ${curRaw ? `<a class=\"pill\" href=\"${curRaw}\" download target=\"_blank\" rel=\"noopener\" title=\"Arquivo original sem compressão — resolução máxima, ideal para impressão\">${ICON_DOWNLOAD}<span>Baixar RAW</span></a>` : ''}\n            <a class=\"pill\" href=\"${cur.full}\" download target=\"_blank\" rel=\"noopener\" title=\"Alta resolução — pronta para publicação digital\">${ICON_DOWNLOAD}<span>Baixar HD</span></a>\n          </div>\n          <div class=\"lb-btn lb-prev\" data-act=\"prev\">${ICON_PREV}</div>\n          <div class=\"lb-btn lb-next\" data-act=\"next\">${ICON_NEXT}</div>\n          <div class=\"lb-count\">${lb+1} / ${rows.length}</div>\n        ` : ''}\n      </div>\n    </div>`;\n  },\n  mounted(d2, root){\n    d2.state.ready = false;\n    d2.state.rows = [];\n    d2.state.lbIndex = null;\n    d2.state.openFaq = null;\n    savedScroll = 0;\n    bindScroll(root);\n\n    const ds = d2.data();\n    ds.refresh().then(() => ds.loadAll()).then((all) => {\n      const sorted = [...all].sort((a,b) => (a.ordem ?? 0) - (b.ordem ?? 0));\n      d2.setState({ rows: sorted, ready: true });\n    });\n\n    // smooth-scroll nav (anchors don't cross the shadow boundary)\n    d2.on('[data-goto]', 'click', (e, el) => {\n      const t = root.querySelector(`[data-sec=\"${el.dataset.goto}\"]`);\n      if (t) t.scrollIntoView({ behavior:'smooth', block:'start' });\n    });\n\n    // copy-to-clipboard with visual feedback (no setState — avoid re-render wiping the label swap)\n    d2.on('[data-copy]', 'click', (e, el) => {\n      const txt = COPY_TEXTS[el.dataset.copy];\n      if (!txt) return;\n      const done = () => {\n        const orig = el.textContent;\n        el.textContent = 'Copiado ✓';\n        setTimeout(() => { el.textContent = orig; }, 1600);\n      };\n      if (navigator.clipboard && navigator.clipboard.writeText) {\n        navigator.clipboard.writeText(txt).then(done).catch(() => {\n          const ta = document.createElement('textarea');\n          ta.value = txt; document.body.appendChild(ta); ta.select();\n          document.execCommand('copy'); document.body.removeChild(ta); done();\n        });\n      } else {\n        const ta = document.createElement('textarea');\n        ta.value = txt; document.body.appendChild(ta); ta.select();\n        document.execCommand('copy'); document.body.removeChild(ta); done();\n      }\n    });\n\n    d2.on('.top-btn', 'click', () => {\n      const w = root.querySelector('.wrap');\n      if (w) w.scrollTo({ top: 0, behavior: 'smooth' });\n    });\n\n    d2.on('.faq-q', 'click', (e, el) => {\n      const i = Number(el.dataset.i);\n      d2.setState({ openFaq: d2.state.openFaq === i ? null : i });\n    });\n\n    d2.on('.cell', 'click', (e, el) => {\n      if (e.target && e.target.closest && e.target.closest('a')) return; // download pills shouldn't open the lightbox\n      d2.setState({ lbIndex: Number(el.dataset.idx) });\n    });\n    d2.on('.lb-close', 'click', () => d2.setState({ lbIndex: null }));\n    d2.on('.lightbox', 'click', (e) => {\n      if (e.target.classList.contains('lightbox')) d2.setState({ lbIndex: null });\n    });\n    d2.on('.lb-prev', 'click', () => {\n      const rows = d2.state.rows;\n      d2.setState({ lbIndex: (d2.state.lbIndex - 1 + rows.length) % rows.length });\n    });\n    d2.on('.lb-next', 'click', () => {\n      const rows = d2.state.rows;\n      d2.setState({ lbIndex: (d2.state.lbIndex + 1) % rows.length });\n    });\n    d2.on(window, 'keydown', (e) => {\n      if (d2.state.lbIndex === null || d2.state.lbIndex === undefined) return;\n      const rows = d2.state.rows;\n      if (e.key === 'Escape') d2.setState({ lbIndex: null });\n      if (e.key === 'ArrowLeft') d2.setState({ lbIndex: (d2.state.lbIndex - 1 + rows.length) % rows.length });\n      if (e.key === 'ArrowRight') d2.setState({ lbIndex: (d2.state.lbIndex + 1) % rows.length });\n    });\n  },\n  updated(d2, root){\n    const w = root.querySelector('.wrap');\n    if (w) {\n      if (w.scrollTop === 0 && savedScroll > 0) w.scrollTop = savedScroll;\n      const b = root.querySelector('.top-btn');\n      if (b) b.classList.toggle('show', w.scrollTop > 900);\n      bindScroll(root);\n    }\n    root.querySelectorAll('.ph').forEach(img => {\n      if (img.getAttribute('src')) return;\n      const src = img.getAttribute('data-src');\n      if (!src) return;\n      const real = new Image();\n      real.onload = () => { img.setAttribute('src', src); img.classList.add('loaded'); };\n      real.src = src;\n    });\n  },\n}\n"}},"dataset":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"dataset"}}}}}}}},"__d2PrevCode":{"code":"const LOGO_URL = 'https://tempobyporsche.com/wp-content/uploads/2026/02/logo_tempo_by_porsche_white_V.svg';\nconst LOGO_SOCIAL_URL = 'https://tempobyporsche.com/wp-content/uploads/2026/03/logo-tempo-social.webp';\nconst PRESS_EMAIL = 'oi@tempobyporsche.com';\nconst MAILTO = 'mailto:oi@tempobyporsche.com?subject=Contato%20de%20imprensa%20%E2%80%94%20TEMPO%20by%20Porsche';\nconst SITE_URL = 'https://tempobyporsche.com';\nconst INSTAGRAM_URL = 'https://www.instagram.com/tempobyporsche/';\nconst WHATSAPP_URL = 'https://wa.me/5511992784331';\nconst ADONIS_URL = 'https://www.adonisalcici.com';\nconst ADONIS_MANIFESTO_URL = 'https://www.adonisalcici.com/pages/manifesto';\nconst ADONIS_MARKS = ['Porsche AG', 'TAG Heuer', 'Motul', 'Hagerty', 'Art Basel — Miami', 'Icons of Porsche — Dubai'];\n\nconst COPY_TEXTS = {\n  short: 'A TEMPO by Porsche é o primeiro hub cultural permanente da Porsche nas Américas. Localizado em Pinheiros, São Paulo, o espaço integra arte, gastronomia, música e cultura automotiva em um mesmo endereço. Idealizado pelo artista plástico Adonis Alcici em parceria com a Porsche Brasil, o projeto propõe uma nova forma de vivenciar o universo Porsche — para quem vive além da velocidade.',\n  long: 'A TEMPO by Porsche é o primeiro hub cultural permanente da Porsche nas Américas. Um espaço que integra arte, gastronomia, música e cultura automotiva, conectando a marca a novos contextos, públicos e experiências. Localizada em São Paulo, a TEMPO foi concebida como um ponto de encontro entre diferentes linguagens criativas, onde cultura, design e lifestyle se cruzam para criar uma experiência que vai além do universo automotivo.\\n\\nMais do que um lugar, a TEMPO funciona como um ecossistema de encontros, curadoria e conteúdo. Ao reunir diferentes linguagens criativas em um mesmo ambiente, o projeto propõe uma nova forma de vivenciar o universo Porsche — onde cultura, design e lifestyle se encontram para criar experiências que vão além do automóvel.\\n\\nIdealizada pelo artista plástico Adonis Alcici em parceria com a Porsche Brasil, a TEMPO foi pensada como um ponto de convergência entre marca, cidade e comunidade criativa. Um espaço onde performance, design e cultura se conectam para gerar novas narrativas e relações.\\n\\nNa TEMPO, a gastronomia nasce da diversidade e da riqueza da culinária brasileira, reinterpretada com uma abordagem contemporânea. O espaço também recebe eventos privados de marcas e empresas e mantém um programa de membership com acesso mediante curadoria.',\n  grafia: 'Na primeira menção, escreva \"TEMPO by Porsche\". Nas menções seguintes, apenas \"TEMPO\". Evite as grafias \"Tempo By Porsche\", \"TEMPO Porsche\" e \"Tempo\".',\n  credito: 'Foto: Divulgação/TEMPO by Porsche',\n  adonis: 'Adonis Alcici é um artista plástico brasileiro apaixonado por velocidade. Suas obras traduzem, nos traços e nas texturas das pinceladas, a sensação de movimento e as emoções que os carros provocam — com as setas, elemento-assinatura do artista, reforçando a aerodinâmica das formas automotivas. Presente no mercado de luxo global, desenvolveu projetos e ações para marcas como Porsche, TAG Heuer, Motul e Hagerty, com apresentações em São Paulo, na Art Basel em Miami, na Califórnia, em Daytona, Dubai, na França e na Alemanha. Entre os trabalhos com a Porsche estão o Macan Art Car, criado na Style Porsche em Weissach, a performance ao vivo no Icons of Porsche, em Dubai, e a idealização da TEMPO by Porsche — primeiro hub cultural permanente da marca nas Américas — em parceria com a Porsche Brasil.',\n};\n\nconst FACTS = [\n  { k: 'Nome oficial', v: 'TEMPO by Porsche' },\n  { k: 'O que é', v: 'O primeiro hub cultural permanente da Porsche nas Américas' },\n  { k: 'Pilares', v: 'Arte · Gastronomia · Música · Cultura automotiva' },\n  { k: 'Endereço', v: 'Rua Maria Carolina, 624 — Pinheiros, São Paulo/SP, Brasil' },\n  { k: 'Funcionamento', v: 'Segunda, 10h às 18h · Terça a sexta, 10h às 23h · Sábado e domingo, 09h às 23h' },\n  { k: 'Idealização', v: 'Adonis Alcici, artista plástico, em parceria com a Porsche Brasil' },\n  { k: 'Gastronomia', v: 'Culinária brasileira em releitura contemporânea, com carta de vinhos, bar e programa de cafés' },\n  { k: 'Eventos privados', v: 'Espaço adaptável para eventos corporativos, com capacidade para até 200 convidados em diferentes configurações' },\n  { k: 'Membership', v: 'Acesso mediante curadoria, para um grupo limitado' },\n  { k: 'Canais', v: 'tempobyporsche.com · @tempobyporsche' },\n];\n\nconst GUIDELINES = [\n  'As fotos e os textos desta página são material oficial de divulgação e podem ser usados livremente em conteúdo editorial (matérias, notas, colunas e redes sociais de veículos de imprensa).',\n  'Crédito obrigatório nas fotos: \"Foto: Divulgação/TEMPO by Porsche\".',\n  'Cada foto tem dois downloads: HD — versão em alta resolução, pronta para publicação digital — e RAW — arquivo original sem compressão, na resolução máxima, ideal para impressão e grandes formatos.',\n  'Não aplique filtros, sobreposições, distorções ou recortes que alterem o logotipo ou descaracterizem as imagens.',\n  'O uso comercial ou publicitário do material — fora do contexto editorial — requer autorização prévia da TEMPO by Porsche.',\n  'Em caso de dúvida sobre um uso específico, escreva para ' + PRESS_EMAIL + '.',\n];\n\nconst FAQ = [\n  {\n    q: 'O que é a TEMPO by Porsche?',\n    a: 'É o primeiro hub cultural permanente da Porsche nas Américas: um espaço em São Paulo que reúne arte, gastronomia, música e cultura automotiva. Foi idealizado pelo artista plástico Adonis Alcici em parceria com a Porsche Brasil.',\n  },\n  {\n    q: 'Onde fica e quais são os horários?',\n    a: 'Rua Maria Carolina, 624 — Pinheiros, São Paulo/SP. Funciona de terça a domingo, das 12h às 22h, e às segundas, das 12h às 16h.',\n  },\n  {\n    q: 'Posso publicar as fotos desta página?',\n    a: 'Sim. Todas as fotos são material oficial de divulgação, liberadas para uso editorial com o crédito \"Foto: Divulgação/TEMPO by Porsche\". Em cada foto, o botão HD baixa a versão em alta resolução (pronta para publicação digital) e o botão RAW baixa o arquivo original, sem compressão, na resolução máxima.',\n  },\n  {\n    q: 'Como solicito entrevistas, pautas ou informações adicionais?',\n    a: 'Escreva para ' + PRESS_EMAIL + ' com o veículo, o tema da pauta e o prazo. A equipe da TEMPO direciona ao porta-voz adequado.',\n  },\n  {\n    q: 'Como funciona o credenciamento de imprensa para eventos?',\n    a: 'O credenciamento é feito por e-mail, com antecedência, pelo ' + PRESS_EMAIL + '. Informe veículo, nomes completos da equipe (incluindo fotógrafo/vídeo, se houver) e o evento de interesse.',\n  },\n  {\n    q: 'A TEMPO é aberta ao público?',\n    a: 'A experiência gastronômica e a programação cultural recebem o público nos horários de funcionamento (reservas pelo site ou WhatsApp). Já o TEMPO Membership tem acesso mediante curadoria, para um grupo limitado.',\n  },\n  {\n    q: 'O espaço recebe eventos de outras marcas?',\n    a: 'Sim. A TEMPO recebe eventos privados e corporativos de marcas que se conectam com o universo Porsche, com estrutura completa de catering, som, vídeo, iluminação cênica e estacionamento com manobrista. Cotações pelo site ou pelo ' + PRESS_EMAIL + '.',\n  },\n  {\n    q: 'Preciso de uma foto ou informação que não está aqui. E agora?',\n    a: 'Fale com a gente: ' + PRESS_EMAIL + '. Podemos providenciar imagens específicas, dados atualizados e materiais complementares.',\n  },\n];\n\n// the .wrap scroller is rebuilt on every render — keep its position across setState re-renders\nlet savedScroll = 0;\nfunction bindScroll(root){\n  const w = root.querySelector('.wrap');\n  if (!w || w.__scrollBound) return;\n  w.__scrollBound = true;\n  w.addEventListener('scroll', () => {\n    savedScroll = w.scrollTop;\n    const b = root.querySelector('.top-btn');\n    if (b) b.classList.toggle('show', w.scrollTop > 900);\n  }, { passive: true });\n}\n\nfunction rawUrl(url){\n  const m = /^(.*\\/)([A-Za-z0-9]{1,4})\\/([^/]+)-\\2(\\.\\w+)$/.exec(url || '');\n  return m ? `${m[1]}O/${m[3]}-O${m[4]}` : null;\n}\n\nexport default {\n  css: `\n    .wrap{ font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;\n      background:#0a0a0b; padding:0 0 72px; box-sizing:border-box; color:#eae8e3;\n      -webkit-font-smoothing:antialiased;\n      /* own scroller: the host doesn't re-measure height after the 120 photos load async,\n         so page scroll clamps mid-gallery — pin to viewport and scroll internally */\n      position:fixed; inset:0; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; }\n    .inner{ max-width:1360px; margin:0 auto; padding:0 28px; box-sizing:border-box; }\n\n    /* ── top nav ── */\n    .nav{ position:sticky; top:0; z-index:500; background:rgba(10,10,11,.86);\n      backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);\n      border-bottom:1px solid rgba(255,255,255,.08); }\n    .nav-in{ max-width:1360px; margin:0 auto; padding:14px 28px; display:flex; align-items:center;\n      justify-content:space-between; gap:18px; }\n    .nav .logo{ height:24px; width:auto; display:block; }\n    .nav-links{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }\n    .nav-link{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#a8a6a1;\n      cursor:pointer; transition:color .2s ease; white-space:nowrap; }\n    .nav-link:hover{ color:#f3f1ec; }\n    .nav-mail{ font-size:11.5px; letter-spacing:.06em; color:#0a0a0b; background:#eae8e3;\n      padding:8px 16px; border-radius:999px; text-decoration:none; white-space:nowrap;\n      transition:background .2s ease; font-weight:600; }\n    .nav-mail:hover{ background:#fff; }\n\n    /* ── hero ── */\n    .hero{ position:relative; border-bottom:1px solid rgba(255,255,255,.08); overflow:hidden; }\n    .hero .inner{ position:relative; z-index:2; padding-top:96px; padding-bottom:72px; }\n    .hero-bg{ position:absolute; inset:0; z-index:0; }\n    .hero-bg img{ width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.4s ease; filter:saturate(.85); }\n    .hero-bg img.loaded{ opacity:.38; }\n    .hero-veil{ position:absolute; inset:0; z-index:1;\n      background:linear-gradient(180deg, rgba(10,10,11,.5) 0%, rgba(10,10,11,.72) 55%, #0a0a0b 100%); }\n    .eyebrow{ font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#8c8a85; margin-bottom:18px; }\n    .hero h1{ font-size:44px; line-height:1.08; font-weight:600; letter-spacing:.01em; color:#f3f1ec;\n      margin:0 0 14px; max-width:820px; }\n    .hero .tagline{ font-size:16px; color:#a8a6a1; font-style:italic; margin-bottom:22px; }\n    .hero .lede{ font-size:15px; line-height:1.65; color:#c9c7c2; max-width:760px; margin-bottom:34px; }\n    .btn-row{ display:flex; gap:12px; flex-wrap:wrap; }\n    .btn{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:.08em;\n      text-transform:uppercase; font-weight:600; padding:13px 26px; border-radius:999px; cursor:pointer;\n      text-decoration:none; transition:background .2s ease, border-color .2s ease, color .2s ease;\n      border:1px solid transparent; }\n    .btn-solid{ background:#eae8e3; color:#0a0a0b; }\n    .btn-solid:hover{ background:#fff; }\n    .btn-ghost{ background:transparent; color:#eae8e3; border-color:rgba(255,255,255,.24); }\n    .btn-ghost:hover{ border-color:rgba(255,255,255,.5); }\n\n    /* ── adonis ── */\n    .ad-grid{ display:grid; grid-template-columns:5fr 7fr; gap:44px; align-items:start; }\n    .ad-quote{ font-size:26px; line-height:1.45; color:#f3f1ec; font-style:italic;\n      font-family:Georgia,'Times New Roman',serif; border-left:2px solid rgba(255,255,255,.25); padding-left:24px; }\n    .ad-quote .qa{ display:block; margin-top:18px; font-size:11px; letter-spacing:.24em; text-transform:uppercase;\n      color:#8c8a85; font-style:normal; font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif; }\n    .ad-bio p{ font-size:14px; line-height:1.75; color:#c9c7c2; margin:0 0 14px; }\n    .ad-bio b{ color:#f3f1ec; font-weight:600; }\n    .ad-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }\n    .chip{ font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:#a8a6a1;\n      border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:7px 14px; white-space:nowrap; }\n    .ad-manifesto{ margin-top:34px; background:#121214; border:1px solid rgba(255,255,255,.07);\n      border-radius:10px; padding:26px 28px; }\n    .ad-manifesto .amt{ font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:#8c8a85; margin-bottom:12px; }\n    .ad-manifesto p{ font-size:14.5px; line-height:1.75; color:#dcdad5; font-style:italic; margin:0;\n      font-family:Georgia,'Times New Roman',serif; }\n    .ad-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }\n\n    /* ── back to top ── */\n    .top-btn{ position:fixed; right:26px; bottom:26px; width:46px; height:46px; border-radius:50%;\n      background:rgba(20,20,22,.85); border:1px solid rgba(255,255,255,.18); display:flex; align-items:center;\n      justify-content:center; cursor:pointer; z-index:800; color:#eae8e3; opacity:0; pointer-events:none;\n      transform:translateY(8px); transition:opacity .25s ease, transform .25s ease, background .2s ease; }\n    .top-btn.show{ opacity:1; pointer-events:auto; transform:translateY(0); }\n    .top-btn:hover{ background:rgba(42,42,46,.95); }\n    .top-btn svg{ width:16px; height:16px; display:block; }\n\n    /* ── sections ── */\n    .section{ padding:60px 0 8px; scroll-margin-top:76px; }\n    .sec-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px;\n      flex-wrap:wrap; margin-bottom:8px; }\n    .h2{ font-size:22px; font-weight:600; letter-spacing:.02em; color:#f3f1ec; margin:0 0 6px; }\n    .sec-note{ font-size:13px; color:#8c8a85; max-width:760px; line-height:1.6; margin-bottom:26px; }\n\n    /* boilerplate copy boxes */\n    .copy-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }\n    .copybox{ background:#121214; border:1px solid rgba(255,255,255,.07); border-radius:10px;\n      padding:24px; display:flex; flex-direction:column; gap:14px; }\n    .copybox .cb-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }\n    .copybox .cb-title{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#8c8a85; }\n    .copybtn{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#eae8e3;\n      background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:999px;\n      padding:7px 14px; cursor:pointer; transition:background .2s ease, border-color .2s ease;\n      white-space:nowrap; }\n    .copybtn:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.32); }\n    .copybox p{ font-size:13.5px; line-height:1.7; color:#c9c7c2; margin:0 0 10px; }\n    .copybox p:last-child{ margin-bottom:0; }\n\n    /* fact sheet */\n    .facts{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }\n    .fact{ background:#121214; border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:20px 22px; }\n    .fact .fk{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:#8c8a85; margin-bottom:8px; }\n    .fact .fv{ font-size:14px; line-height:1.55; color:#eae8e3; }\n\n    /* logos */\n    .logos-row{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }\n    .logo-card{ background:#121214; border:1px solid rgba(255,255,255,.07); border-radius:10px;\n      overflow:hidden; display:flex; flex-direction:column; }\n    .logo-card .lc-preview{ height:170px; display:flex; align-items:center; justify-content:center;\n      background:radial-gradient(120% 120% at 50% 0%, #1a1a1d 0%, #0e0e10 100%); }\n    .logo-card .lc-preview img{ max-height:64px; max-width:70%; object-fit:contain; }\n    .logo-card .lc-meta{ padding:16px 20px; display:flex; align-items:center; justify-content:space-between;\n      gap:12px; border-top:1px solid rgba(255,255,255,.06); }\n    .logo-card .lc-name{ font-size:13px; color:#eae8e3; }\n    .logo-card .lc-sub{ font-size:11.5px; color:#8c8a85; margin-top:3px; }\n    .lc-dl{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#eae8e3;\n      background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:999px;\n      padding:7px 14px; text-decoration:none; white-space:nowrap; transition:background .2s ease; }\n    .lc-dl:hover{ background:rgba(255,255,255,.12); }\n\n    /* guidelines */\n    .rules{ display:flex; flex-direction:column; gap:0; border:1px solid rgba(255,255,255,.07);\n      border-radius:10px; overflow:hidden; }\n    .rule{ display:flex; gap:18px; padding:18px 22px; background:#121214; align-items:baseline; }\n    .rule + .rule{ border-top:1px solid rgba(255,255,255,.06); }\n    .rule .rn{ font-size:11px; color:#8c8a85; letter-spacing:.1em; min-width:22px; }\n    .rule .rt{ font-size:13.5px; line-height:1.65; color:#c9c7c2; }\n    .rule .rt b{ color:#eae8e3; font-weight:600; }\n    .credit-line{ display:flex; align-items:center; gap:14px; margin-top:14px; flex-wrap:wrap; }\n    .credit-chip{ font-size:13px; color:#eae8e3; background:#121214; border:1px dashed rgba(255,255,255,.22);\n      border-radius:8px; padding:10px 16px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }\n\n    /* gallery (existing) */\n    .grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }\n    .cell{ position:relative; aspect-ratio:4/3; border-radius:8px; overflow:hidden;\n      background:#141416; cursor:pointer; }\n    .cell img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;\n      transition:transform .5s cubic-bezier(.2,.7,.3,1), opacity .5s ease; opacity:0; }\n    .cell img.loaded{ opacity:1; }\n    .cell:hover img{ transform:scale(1.045); }\n    .veil{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.75) 100%);\n      opacity:0; transition:opacity .25s ease; }\n    .cell:hover .veil{ opacity:1; }\n    .cellbar{ position:absolute; right:10px; bottom:10px; display:flex; gap:8px;\n      opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease; }\n    .cell:hover .cellbar{ opacity:1; transform:translateY(0); }\n    .pill{ display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border-radius:999px;\n      background:rgba(10,10,11,.78); border:1px solid rgba(255,255,255,.22); color:#eae8e3;\n      font-size:10.5px; letter-spacing:.12em; font-weight:600; text-decoration:none; cursor:pointer;\n      transition:background .2s ease, border-color .2s ease; white-space:nowrap; }\n    .pill svg{ width:13px; height:13px; display:block; }\n    .pill:hover{ background:rgba(32,32,34,.95); border-color:rgba(255,255,255,.4); }\n    .empty{ margin:80px auto; text-align:center; color:#6f6d68; font-size:13px; letter-spacing:.03em; }\n    .skeleton{ position:absolute; inset:0; background:linear-gradient(100deg,#141416 30%,#1d1d20 50%,#141416 70%);\n      background-size:200% 100%; animation:shimmer 1.4s infinite; border-radius:8px; }\n    @keyframes shimmer{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }\n    .lightbox{ position:fixed; inset:0; background:rgba(6,6,7,.95); display:flex; align-items:center;\n      justify-content:center; z-index:9999; opacity:0; pointer-events:none; transition:opacity .25s ease;\n      padding:56px; box-sizing:border-box; }\n    .lightbox.open{ opacity:1; pointer-events:auto; }\n    .lightbox img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:4px;\n      box-shadow:0 30px 90px rgba(0,0,0,.65); }\n    .lb-btn{ position:absolute; display:flex; align-items:center; justify-content:center;\n      background:rgba(20,20,22,.72); border:1px solid rgba(255,255,255,.16); border-radius:50%;\n      color:#eae8e3; cursor:pointer; transition:background .2s ease, border-color .2s ease; text-decoration:none; }\n    .lb-btn:hover{ background:rgba(42,42,46,.88); border-color:rgba(255,255,255,.34); }\n    .lb-close{ top:26px; right:26px; width:42px; height:42px; }\n    .lb-close svg{ width:16px; height:16px; }\n    .lb-bar{ position:absolute; top:26px; right:84px; display:flex; gap:10px; }\n    .lb-bar .pill{ padding:11px 16px; font-size:11px; }\n    .lb-prev, .lb-next{ width:48px; height:48px; top:50%; transform:translateY(-50%); }\n    .lb-prev{ left:26px; } .lb-prev svg{ width:18px; height:18px; }\n    .lb-next{ right:26px; } .lb-next svg{ width:18px; height:18px; }\n    .lb-count{ position:absolute; bottom:26px; left:50%; transform:translateX(-50%);\n      font-size:12px; letter-spacing:.06em; color:#a8a6a1; }\n\n    /* faq */\n    .faq{ border:1px solid rgba(255,255,255,.07); border-radius:10px; overflow:hidden; }\n    .faq-item{ background:#121214; }\n    .faq-item + .faq-item{ border-top:1px solid rgba(255,255,255,.06); }\n    .faq-q{ display:flex; align-items:center; justify-content:space-between; gap:16px;\n      padding:20px 22px; cursor:pointer; transition:background .2s ease; }\n    .faq-q:hover{ background:#17171a; }\n    .faq-q .qt{ font-size:14.5px; color:#eae8e3; font-weight:500; line-height:1.5; }\n    .faq-q .qi{ font-size:18px; color:#8c8a85; line-height:1; flex-shrink:0; width:18px; text-align:center; }\n    .faq-a{ padding:0 22px 22px; font-size:13.5px; line-height:1.7; color:#c9c7c2; max-width:900px; }\n\n    /* contact */\n    .contact-card{ background:linear-gradient(160deg,#17171a 0%, #101012 100%);\n      border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:44px 40px;\n      display:flex; flex-direction:column; gap:10px; }\n    .contact-card .cc-eyebrow{ font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#8c8a85; }\n    .contact-card .cc-mail{ font-size:30px; font-weight:600; color:#f3f1ec; text-decoration:none;\n      letter-spacing:.01em; word-break:break-all; }\n    .contact-card .cc-mail:hover{ text-decoration:underline; }\n    .contact-card .cc-note{ font-size:13.5px; color:#a8a6a1; line-height:1.65; max-width:680px; }\n    .cc-links{ display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }\n\n    /* footer */\n    .footer{ margin-top:64px; padding-top:26px; border-top:1px solid rgba(255,255,255,.08);\n      display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }\n    .footer .f-left{ display:flex; align-items:center; gap:14px; }\n    .footer .f-logo{ height:18px; width:auto; opacity:.85; }\n    .footer span, .footer a{ font-size:11.5px; color:#8c8a85; text-decoration:none; letter-spacing:.03em; }\n    .footer a:hover{ color:#eae8e3; }\n\n    /* touch devices: no hover, so keep the download affordance visible */\n    @media (hover: none){\n      .cellbar{ opacity:1; transform:translateY(0); }\n    }\n\n    /* tablet */\n    @media (max-width: 900px){\n      .inner{ padding:0 16px; }\n      .nav-in{ padding:12px 16px; }\n      .nav-links{ gap:14px; }\n      .nav-link{ display:none; }\n      .nav-link.nl-keep{ display:block; }\n      .hero .inner{ padding-top:60px; padding-bottom:48px; }\n      .hero h1{ font-size:32px; }\n      .ad-grid{ grid-template-columns:1fr; gap:26px; }\n      .ad-quote{ font-size:21px; }\n      .top-btn{ right:14px; bottom:14px; width:42px; height:42px; }\n      .section{ padding:44px 0 8px; scroll-margin-top:64px; }\n      .copy-grid{ grid-template-columns:1fr; }\n      .contact-card{ padding:32px 24px; }\n      .contact-card .cc-mail{ font-size:22px; }\n      .grid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }\n      .cellbar{ opacity:1; transform:translateY(0); }\n      .lightbox{ padding:18px; }\n      .lb-close{ width:38px; height:38px; top:12px; right:12px; }\n      .lb-close svg{ width:15px; height:15px; }\n      .lb-bar{ top:12px; right:58px; gap:8px; }\n      .lb-bar .pill{ padding:9px 13px; font-size:10.5px; }\n      .lb-prev, .lb-next{ width:40px; height:40px; }\n      .lb-prev{ left:8px; } .lb-next{ right:8px; }\n      .lb-count{ bottom:10px; font-size:11px; }\n    }\n\n    /* mobile */\n    @media (max-width: 480px){\n      .nav .logo{ height:19px; }\n      .nav-mail{ padding:7px 12px; font-size:10.5px; }\n      .hero .inner{ padding-top:48px; padding-bottom:40px; }\n      .hero h1{ font-size:26px; }\n      .ad-quote{ font-size:19px; padding-left:16px; }\n      .ad-manifesto{ padding:20px 18px; }\n      .btn{ padding:11px 20px; font-size:11.5px; }\n      .grid{ grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; }\n      .cell{ border-radius:6px; }\n      .facts, .logos-row{ grid-template-columns:1fr; }\n      .pill{ padding:6px 10px; font-size:9.5px; gap:5px; }\n      .lightbox{ padding:6px; }\n      .lb-close{ width:34px; height:34px; top:8px; right:8px; }\n      .lb-bar{ top:8px; right:48px; gap:6px; }\n      .lb-bar .pill{ padding:7px 11px; font-size:9.5px; }\n      .lb-prev, .lb-next{ width:36px; height:36px; }\n      .lb-prev{ left:4px; } .lb-next{ right:4px; }\n      .lb-prev svg, .lb-next svg{ width:15px; height:15px; }\n      .lb-count{ bottom:8px; font-size:10.5px; }\n    }\n  `,\n  render(d2){\n    const ready = d2.state.ready;\n    const rows = d2.state.rows || [];\n    const openFaq = d2.state.openFaq;\n    const ICON_DOWNLOAD = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3v12\"/><path d=\"M6.5 10.5 12 16l5.5-5.5\"/><path d=\"M5 20h14\"/></svg>`;\n    const ICON_CLOSE = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"><path d=\"M5 5l14 14\"/><path d=\"M19 5 5 19\"/></svg>`;\n    const ICON_PREV = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 5l-7 7 7 7\"/></svg>`;\n    const ICON_NEXT = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 5l7 7-7 7\"/></svg>`;\n\n    let galleryBody;\n    if (!ready) {\n      galleryBody = `<div class=\"grid\">${Array.from({length:10}).map(()=>`<div class=\"cell\"><div class=\"skeleton\"></div></div>`).join('')}</div>`;\n    } else if (!rows.length) {\n      galleryBody = `<div class=\"empty\">Nenhuma foto disponível no momento. Escreva para ${PRESS_EMAIL}.</div>`;\n    } else {\n      const cells = rows.map((r,i) => {\n        const raw = rawUrl(r.full);\n        return `\n        <div class=\"cell\" data-idx=\"${i}\" data-key=\"${r._id}\">\n          <img class=\"ph\" data-src=\"${r.thumb}\" alt=\"\" />\n          <div class=\"veil\"></div>\n          <div class=\"cellbar\">\n            ${raw ? `<a class=\"pill\" href=\"${raw}\" download target=\"_blank\" rel=\"noopener\" title=\"Arquivo original sem compressão — resolução máxima, ideal para impressão\" data-stop=\"1\">${ICON_DOWNLOAD}<span>RAW</span></a>` : ''}\n            <a class=\"pill\" href=\"${r.full}\" download target=\"_blank\" rel=\"noopener\" title=\"Alta resolução — pronta para publicação digital\" data-stop=\"1\">${ICON_DOWNLOAD}<span>HD</span></a>\n          </div>\n        </div>`;\n      }).join('');\n      galleryBody = `<div class=\"grid\">${cells}</div>`;\n    }\n\n    const lb = d2.state.lbIndex;\n    const lbOpen = lb !== null && lb !== undefined;\n    const cur = lbOpen ? rows[lb] : null;\n    const curRaw = cur ? rawUrl(cur.full) : null;\n\n    const factsHtml = FACTS.map(f => `<div class=\"fact\"><div class=\"fk\">${f.k}</div><div class=\"fv\">${f.v}</div></div>`).join('');\n\n    const rulesHtml = GUIDELINES.map((g,i) => `<div class=\"rule\"><div class=\"rn\">0${i+1}</div><div class=\"rt\">${g}</div></div>`).join('');\n\n    const faqHtml = FAQ.map((f,i) => `\n      <div class=\"faq-item\">\n        <div class=\"faq-q\" data-i=\"${i}\">\n          <div class=\"qt\">${f.q}</div>\n          <div class=\"qi\">${openFaq === i ? '−' : '+'}</div>\n        </div>\n        ${openFaq === i ? `<div class=\"faq-a\">${f.a}</div>` : ''}\n      </div>`).join('');\n\n    const photoCount = ready && rows.length ? `${rows.length} fotos em alta resolução` : 'Fotos em alta resolução';\n    const heroBg = ready && rows.length ? rows[0].full : null;\n    const ICON_TOP = `<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 19V5\"/><path d=\"M5.5 11.5 12 5l6.5 6.5\"/></svg>`;\n\n    return `<div class=\"wrap\">\n\n      <div class=\"nav\">\n        <div class=\"nav-in\">\n          <img class=\"logo\" src=\"${LOGO_URL}\" alt=\"TEMPO by Porsche\" />\n          <div class=\"nav-links\">\n            <div class=\"nav-link\" data-goto=\"sobre\">Sobre</div>\n            <div class=\"nav-link\" data-goto=\"adonis\">Adonis</div>\n            <div class=\"nav-link\" data-goto=\"factsheet\">Fact sheet</div>\n            <div class=\"nav-link nl-keep\" data-goto=\"fotos\">Fotos</div>\n            <div class=\"nav-link\" data-goto=\"marca\">Marca</div>\n            <div class=\"nav-link\" data-goto=\"diretrizes\">Uso</div>\n            <div class=\"nav-link nl-keep\" data-goto=\"faq\">FAQ</div>\n            <a class=\"nav-mail\" href=\"${MAILTO}\">${PRESS_EMAIL}</a>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"hero\">\n        <div class=\"hero-bg\">${heroBg ? `<img class=\"ph\" data-src=\"${heroBg}\" alt=\"\" />` : ''}</div>\n        <div class=\"hero-veil\"></div>\n        <div class=\"inner\">\n          <div class=\"eyebrow\">Sala de Imprensa · Press Kit</div>\n          <h1>TEMPO by Porsche</h1>\n          <div class=\"tagline\">Para quem vive além da velocidade.</div>\n          <div class=\"lede\">Material oficial para jornalistas, veículos e criadores de conteúdo: textos prontos para publicação,\n            fact sheet, fotos em alta resolução e diretrizes de uso da marca. Tudo nesta página é liberado para uso editorial\n            com o devido crédito. Dúvidas, entrevistas e credenciamento: <a href=\"${MAILTO}\" style=\"color:#eae8e3;\">${PRESS_EMAIL}</a>.</div>\n          <div class=\"btn-row\">\n            <div class=\"btn btn-solid\" data-goto=\"fotos\">Ver fotos${ready && rows.length ? ` (${rows.length})` : ''}</div>\n            <a class=\"btn btn-ghost\" href=\"${MAILTO}\">Falar com a equipe</a>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"inner\">\n\n        <div class=\"section\" data-sec=\"sobre\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Sobre a TEMPO</h2></div>\n          <div class=\"sec-note\">Textos oficiais, prontos para citação ou reprodução. Use o botão para copiar.</div>\n          <div class=\"copy-grid\">\n            <div class=\"copybox\">\n              <div class=\"cb-head\"><div class=\"cb-title\">Boilerplate · versão curta</div><button class=\"copybtn\" data-copy=\"short\">Copiar texto</button></div>\n              <div><p>${COPY_TEXTS.short}</p></div>\n            </div>\n            <div class=\"copybox\">\n              <div class=\"cb-head\"><div class=\"cb-title\">Texto institucional · versão completa</div><button class=\"copybtn\" data-copy=\"long\">Copiar texto</button></div>\n              <div>${COPY_TEXTS.long.split('\\n\\n').map(p=>`<p>${p}</p>`).join('')}</div>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"adonis\">\n          <div class=\"sec-head\">\n            <h2 class=\"h2\">O idealizador — Adonis Alcici</h2>\n            <button class=\"copybtn\" data-copy=\"adonis\">Copiar bio</button>\n          </div>\n          <div class=\"sec-note\">Bio oficial do artista, pronta para publicação. Mais em adonisalcici.com.</div>\n          <div class=\"ad-grid\">\n            <div class=\"ad-quote\">“Sou apaixonado por velocidade e por adrenalina e represento isso na minha arte. É isso o que me move.”<span class=\"qa\">Adonis Alcici</span></div>\n            <div class=\"ad-bio\">\n              <p>Artista plástico brasileiro, Adonis Alcici retrata em suas obras o universo da velocidade. Os traços e as texturas das pinceladas expressam a sensação de movimento e as emoções que os carros provocam; as setas, elemento-assinatura do artista, reforçam a sensação de velocidade e a aerodinâmica das formas automotivas. Através da arte, ele reconstrói a visão sólida do produto, multiplica os sentimentos e ressalta o design.</p>\n              <p>Presente no mercado de luxo global, desenvolve projetos e ações para marcas como Porsche, TAG Heuer, Motul e Hagerty, com apresentações em São Paulo, na Art Basel em Miami, na Califórnia, em Daytona, Dubai, na França e na Alemanha.</p>\n              <p>Entre os trabalhos com a Porsche estão o <b>Macan Art Car</b>, criado na Style Porsche em Weissach, a performance ao vivo no <b>Icons of Porsche</b>, em Dubai — e a <b>TEMPO by Porsche</b>, primeiro hub cultural permanente da marca nas Américas, idealizada por ele em parceria com a Porsche Brasil.</p>\n              <div class=\"ad-chips\">${ADONIS_MARKS.map(m => `<span class=\"chip\">${m}</span>`).join('')}</div>\n            </div>\n          </div>\n          <div class=\"ad-manifesto\">\n            <div class=\"amt\">Do manifesto do artista</div>\n            <p>“Velocidade não é apenas movimento. É um estado de espírito. […] Não é apenas sobre chegar. É sobre estar. Sobre viver o momento em que tempo e espaço se fundem, onde o futuro é criado a cada curva.”</p>\n          </div>\n          <div class=\"ad-actions\">\n            <a class=\"btn btn-ghost\" href=\"${ADONIS_URL}\" target=\"_blank\" rel=\"noopener\">adonisalcici.com</a>\n            <a class=\"btn btn-ghost\" href=\"${ADONIS_MANIFESTO_URL}\" target=\"_blank\" rel=\"noopener\">Manifesto completo</a>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"factsheet\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Fact sheet</h2></div>\n          <div class=\"sec-note\">Os fatos essenciais, conferidos pela equipe da TEMPO.</div>\n          <div class=\"facts\">${factsHtml}</div>\n        </div>\n\n        <div class=\"section\" data-sec=\"fotos\">\n          <div class=\"sec-head\">\n            <h2 class=\"h2\">Fotos oficiais</h2>\n            <div class=\"sec-note\" style=\"margin-bottom:0;\">${photoCount}</div>\n          </div>\n          <div class=\"sec-note\">Clique em uma foto para ampliar. <b style=\"color:#eae8e3;\">HD</b> baixa a versão em alta\n            resolução, pronta para publicação digital; <b style=\"color:#eae8e3;\">RAW</b> baixa o arquivo original, sem\n            compressão, na resolução máxima — ideal para impressão. Crédito: <b style=\"color:#eae8e3;\">Foto: Divulgação/TEMPO by Porsche</b>.</div>\n          ${galleryBody}\n        </div>\n\n        <div class=\"section\" data-sec=\"marca\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Logotipo e grafia</h2></div>\n          <div class=\"sec-note\">Aplicações oficiais da marca para uso em matérias e créditos visuais.</div>\n          <div class=\"logos-row\">\n            <div class=\"logo-card\">\n              <div class=\"lc-preview\"><img src=\"${LOGO_URL}\" alt=\"Logo TEMPO by Porsche\" /></div>\n              <div class=\"lc-meta\">\n                <div><div class=\"lc-name\">Logotipo principal — branco</div><div class=\"lc-sub\">SVG · vetor, fundo escuro</div></div>\n                <a class=\"lc-dl\" href=\"${LOGO_URL}\" download target=\"_blank\" rel=\"noopener\">Baixar</a>\n              </div>\n            </div>\n            <div class=\"logo-card\">\n              <div class=\"lc-preview\"><img src=\"${LOGO_SOCIAL_URL}\" alt=\"Logo social TEMPO by Porsche\" style=\"max-height:110px;\" /></div>\n              <div class=\"lc-meta\">\n                <div><div class=\"lc-name\">Logo para redes sociais</div><div class=\"lc-sub\">WebP · 1024×1024</div></div>\n                <a class=\"lc-dl\" href=\"${LOGO_SOCIAL_URL}\" download target=\"_blank\" rel=\"noopener\">Baixar</a>\n              </div>\n            </div>\n            <div class=\"logo-card\">\n              <div class=\"lc-preview\" style=\"padding:0 28px; text-align:center;\">\n                <div style=\"font-size:14px; line-height:1.7; color:#c9c7c2;\">Primeira menção: <b style=\"color:#f3f1ec;\">TEMPO by Porsche</b><br/>Menções seguintes: <b style=\"color:#f3f1ec;\">TEMPO</b></div>\n              </div>\n              <div class=\"lc-meta\">\n                <div><div class=\"lc-name\">Grafia do nome</div><div class=\"lc-sub\">Evite \"Tempo By Porsche\" e \"TEMPO Porsche\"</div></div>\n                <button class=\"lc-dl copybtn-grafia\" data-copy=\"grafia\" style=\"background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); cursor:pointer;\">Copiar</button>\n              </div>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"diretrizes\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Diretrizes de uso</h2></div>\n          <div class=\"sec-note\">O que você precisa saber antes de publicar.</div>\n          <div class=\"rules\">${rulesHtml}</div>\n          <div class=\"credit-line\">\n            <div class=\"credit-chip\">${COPY_TEXTS.credito}</div>\n            <button class=\"copybtn\" data-copy=\"credito\">Copiar crédito</button>\n          </div>\n        </div>\n\n        <div class=\"section\" data-sec=\"faq\">\n          <div class=\"sec-head\"><h2 class=\"h2\">Perguntas frequentes</h2></div>\n          <div class=\"sec-note\">Respostas rápidas para as dúvidas mais comuns da imprensa.</div>\n          <div class=\"faq\">${faqHtml}</div>\n        </div>\n\n        <div class=\"section\" data-sec=\"contato\">\n          <div class=\"contact-card\">\n            <div class=\"cc-eyebrow\">Contato de imprensa</div>\n            <a class=\"cc-mail\" href=\"${MAILTO}\">${PRESS_EMAIL}</a>\n            <div class=\"cc-note\">Entrevistas, pautas, credenciamento para eventos, imagens adicionais e qualquer dúvida sobre\n              o uso deste material. Informe o veículo, o tema e o prazo da pauta — a equipe direciona ao porta-voz adequado.</div>\n            <div class=\"cc-links\">\n              <a class=\"btn btn-ghost\" href=\"${SITE_URL}\" target=\"_blank\" rel=\"noopener\">tempobyporsche.com</a>\n              <a class=\"btn btn-ghost\" href=\"${INSTAGRAM_URL}\" target=\"_blank\" rel=\"noopener\">Instagram</a>\n              <a class=\"btn btn-ghost\" href=\"${WHATSAPP_URL}\" target=\"_blank\" rel=\"noopener\">WhatsApp · Reservas</a>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"footer\">\n          <div class=\"f-left\">\n            <img class=\"f-logo\" src=\"${LOGO_URL}\" alt=\"TEMPO by Porsche\" />\n            <span>Rua Maria Carolina, 624 — Pinheiros, São Paulo/SP</span>\n          </div>\n          <div>\n            <a href=\"${MAILTO}\">${PRESS_EMAIL}</a>\n            <span> · </span>\n            <a href=\"${SITE_URL}\" target=\"_blank\" rel=\"noopener\">tempobyporsche.com</a>\n          </div>\n        </div>\n\n      </div>\n\n      <div class=\"top-btn\" title=\"Voltar ao topo\">${ICON_TOP}</div>\n\n      <div class=\"lightbox ${lbOpen ? 'open' : ''}\">\n        ${cur ? `\n          <img src=\"${cur.full}\" alt=\"\" />\n          <div class=\"lb-btn lb-close\" data-act=\"close\">${ICON_CLOSE}</div>\n          <div class=\"lb-bar\">\n            ${curRaw ? `<a class=\"pill\" href=\"${curRaw}\" download target=\"_blank\" rel=\"noopener\" title=\"Arquivo original sem compressão — resolução máxima, ideal para impressão\">${ICON_DOWNLOAD}<span>Baixar RAW</span></a>` : ''}\n            <a class=\"pill\" href=\"${cur.full}\" download target=\"_blank\" rel=\"noopener\" title=\"Alta resolução — pronta para publicação digital\">${ICON_DOWNLOAD}<span>Baixar HD</span></a>\n          </div>\n          <div class=\"lb-btn lb-prev\" data-act=\"prev\">${ICON_PREV}</div>\n          <div class=\"lb-btn lb-next\" data-act=\"next\">${ICON_NEXT}</div>\n          <div class=\"lb-count\">${lb+1} / ${rows.length}</div>\n        ` : ''}\n      </div>\n    </div>`;\n  },\n  mounted(d2, root){\n    d2.state.ready = false;\n    d2.state.rows = [];\n    d2.state.lbIndex = null;\n    d2.state.openFaq = null;\n    savedScroll = 0;\n    bindScroll(root);\n\n    const ds = d2.data();\n    ds.refresh().then(() => ds.loadAll()).then((all) => {\n      const sorted = [...all].sort((a,b) => (a.ordem ?? 0) - (b.ordem ?? 0));\n      d2.setState({ rows: sorted, ready: true });\n    });\n\n    // smooth-scroll nav (anchors don't cross the shadow boundary)\n    d2.on('[data-goto]', 'click', (e, el) => {\n      const t = root.querySelector(`[data-sec=\"${el.dataset.goto}\"]`);\n      if (t) t.scrollIntoView({ behavior:'smooth', block:'start' });\n    });\n\n    // copy-to-clipboard with visual feedback (no setState — avoid re-render wiping the label swap)\n    d2.on('[data-copy]', 'click', (e, el) => {\n      const txt = COPY_TEXTS[el.dataset.copy];\n      if (!txt) return;\n      const done = () => {\n        const orig = el.textContent;\n        el.textContent = 'Copiado ✓';\n        setTimeout(() => { el.textContent = orig; }, 1600);\n      };\n      if (navigator.clipboard && navigator.clipboard.writeText) {\n        navigator.clipboard.writeText(txt).then(done).catch(() => {\n          const ta = document.createElement('textarea');\n          ta.value = txt; document.body.appendChild(ta); ta.select();\n          document.execCommand('copy'); document.body.removeChild(ta); done();\n        });\n      } else {\n        const ta = document.createElement('textarea');\n        ta.value = txt; document.body.appendChild(ta); ta.select();\n        document.execCommand('copy'); document.body.removeChild(ta); done();\n      }\n    });\n\n    d2.on('.top-btn', 'click', () => {\n      const w = root.querySelector('.wrap');\n      if (w) w.scrollTo({ top: 0, behavior: 'smooth' });\n    });\n\n    d2.on('.faq-q', 'click', (e, el) => {\n      const i = Number(el.dataset.i);\n      d2.setState({ openFaq: d2.state.openFaq === i ? null : i });\n    });\n\n    d2.on('.cell', 'click', (e, el) => {\n      if (e.target && e.target.closest && e.target.closest('a')) return; // download pills shouldn't open the lightbox\n      d2.setState({ lbIndex: Number(el.dataset.idx) });\n    });\n    d2.on('.lb-close', 'click', () => d2.setState({ lbIndex: null }));\n    d2.on('.lightbox', 'click', (e) => {\n      if (e.target.classList.contains('lightbox')) d2.setState({ lbIndex: null });\n    });\n    d2.on('.lb-prev', 'click', () => {\n      const rows = d2.state.rows;\n      d2.setState({ lbIndex: (d2.state.lbIndex - 1 + rows.length) % rows.length });\n    });\n    d2.on('.lb-next', 'click', () => {\n      const rows = d2.state.rows;\n      d2.setState({ lbIndex: (d2.state.lbIndex + 1) % rows.length });\n    });\n    d2.on(window, 'keydown', (e) => {\n      if (d2.state.lbIndex === null || d2.state.lbIndex === undefined) return;\n      const rows = d2.state.rows;\n      if (e.key === 'Escape') d2.setState({ lbIndex: null });\n      if (e.key === 'ArrowLeft') d2.setState({ lbIndex: (d2.state.lbIndex - 1 + rows.length) % rows.length });\n      if (e.key === 'ArrowRight') d2.setState({ lbIndex: (d2.state.lbIndex + 1) % rows.length });\n    });\n  },\n  updated(d2, root){\n    const w = root.querySelector('.wrap');\n    if (w) {\n      if (w.scrollTop === 0 && savedScroll > 0) w.scrollTop = savedScroll;\n      const b = root.querySelector('.top-btn');\n      if (b) b.classList.toggle('show', w.scrollTop > 900);\n      bindScroll(root);\n    }\n    root.querySelectorAll('.ph').forEach(img => {\n      if (img.getAttribute('src')) return;\n      const src = img.getAttribute('data-src');\n      if (!src) return;\n      const real = new Image();\n      real.onload = () => { img.setAttribute('src', src); img.classList.add('loaded'); };\n      real.src = src;\n    });\n  },\n}\n","at":"2026-08-14T15:26:15.339Z"}}},{"_id":"5ed9bed7b9e0891ce913e884","component":"data2-core-types@Component","params":{"package":"data2-core","component":"DataSource","renderable":{"dimensions":{"disabled":false,"component":"data2-core-types@Dimensions","params":{"width":1366,"exactWidth":false,"exactHeight":false,"height":768}}}}},{"_id":"5f472ae463c680de4ff296e9","component":"data2-core-types@Component","params":{"package":"data2-core","component":"Data2TableDataSource","extends":"data2-core@DataSource","renderable":{"dimensions":{"disabled":false,"component":"data2-core-types@Dimensions","params":{"width":1366,"exactWidth":false,"exactHeight":false,"height":768}}}}}]}},{"reference":"ExternalComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"_id":"5f060d9b1ca96def42f3c40a","displayName":"Builder AuthStrategy","component":"data2-core@AuthenticationStrategy","system":"5e3b796d6228227ca637d0f4","params":{"credentials":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"verifier":{"component":"data2-core-types@DataSetReference","params":{"reference":"UsersDataSet"}},"sessionShared":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"password":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},"email":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},"resetPassword":{"resetEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"nR6Q9d7qdaPtZhJ28Q8Dy"},"component":"data2-core-types@ArtboardReference"}},"resetSuccessEmail":{"artboard":{"params":{"preventEvaluation":true,"reference":"yPCJBTKo8q1Mw0B_3Kpwl"},"component":"data2-core-types@ArtboardReference"}}},"session":[{"component":"data2-core-types@DataSetColumnReference","params":{"column":"name"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"email"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"password"}},{"component":"data2-core-types@DataSetColumnReference","params":{"column":"status"}}],"sessionMetadata":{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},{"params":{"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"active"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.status"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is active user"}]},"component":"data2-core-logical-operators@And","displayName":"is active and has _id"}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $user"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-primitives@String","params":{"content":"@data2.app"}},"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user.email"}}}}},"component":"data2-core-functions@Includes","displayName":"isData2User"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}},"component":"data2-core-flow@Step"},{"params":{"action":{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.d2_app"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"management"}}]},"component":"data2-core-functions@Includes","displayName":"isData2App Exception"},"resultName":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}},"component":"data2-core-flow@Step"},{"params":{"resultName":{"component":"data2-core-primitives@String","params":{"content":"has_access"}},"action":{"params":{"compare":{"params":{"components":[{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_user"}}}},{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"is_data2_app_exception"}}}}]},"component":"data2-core-logical-operators@Or"},"else":{"params":{"actions":[{"params":{"actions":[{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"component":"data2-core-logical-operators@Not"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check $metadata.system"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":"filter","args":[{"_id":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"compare":{"params":{"subject":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records.length"}}}}},"component":"data2-core-logical-operators@Not","displayName":"systems not found"},"then":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"}},"component":"data2-core-flow@If","displayName":"check system found"},{"params":{"actions":[{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"organization":{"component":"data2-core-types@Getter","params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"cursor.current.organization._id"}}}}}]},"component":"data2-core-types@Interaction"},{"params":{"module":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":"filter","args":[{"user":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$user._id"}}}},"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}}]},"component":"data2-core-types@Interaction"}]},"component":"data2-core-flow@Parallel"}]},"component":"data2-core-flow@Series","displayName":"common setup"},{"params":{"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"},"else":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"compare":{"params":{"components":{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"WuUa-VKHhW9uYU0E3-mJ8"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"mapper":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"system"}}],"body":{"params":{"expression":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.visibility"}}}},"defaultCase":{"params":{"content":false},"component":"data2-core-primitives@Boolean"},"cases":[{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"public"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"billing-owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}},{"component":"data2-core-primitives@String","params":{"content":"member"}}]},"component":"data2-core-functions@Includes","displayName":"has role with access"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"comparisonSubject":{"component":"data2-core-primitives@String","params":{"content":"collaborator"}}},"component":"data2-core-comparison-operators@Equal","displayName":"is collaborator"}]},"component":"data2-core-logical-operators@And","displayName":"is org member and collaborator"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is collaborator"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is collaborator and has system access"}]},"component":"data2-core-logical-operators@Or"}}},{"component":"data2-core-flow@Case","params":{"expression":{"component":"data2-core-primitives@String","params":{"content":"private"}},"value":{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"components":[{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal","displayName":"is org member"},{"params":{"pattern":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.role"}}}},"subject":[{"component":"data2-core-primitives@String","params":{"content":"owner"}},{"component":"data2-core-primitives@String","params":{"content":"admin"}}]},"component":"data2-core-functions@Includes","displayName":"is owner/admin"}]},"component":"data2-core-logical-operators@And","displayName":"has org member role with access"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is owner/admin"},{"params":{"components":[{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"Ok6Tsu5XkS7r8PyW_7TyW"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"member"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"member.organization._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system.organization._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"is org member"},{"params":{"array":{"params":{"module":{"disabled":false,"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"NqKAY34n2ffFL64zamp7t"}},"prop":{"component":"data2-core-primitives@String","params":{"content":"data.records"}}},"component":"data2-core-types@Getter"},"filter":{"disabled":false,"component":"data2-core-functions@Function","params":{"parameters":[{"component":"data2-core-primitives@String","params":{"content":"access"}}],"body":{"params":{"subject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"access.system._id"}}}},"comparisonSubject":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"system._id"}}}}},"component":"data2-core-comparison-operators@Equal"}}}},"component":"data2-core-functions@ArrayFind","displayName":"has system access"}]},"component":"data2-core-logical-operators@And","displayName":"is member and has system access"}]},"component":"data2-core-logical-operators@Or","displayName":"is owner/admin or has system access"}}}]},"component":"data2-core-flow@Switch"}}}},"component":"data2-core-functions@ArrayMap"}},"component":"data2-core-logical-operators@And","displayName":"has org member for all systems in request"}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"then":{"params":{"content":true},"component":"data2-core-primitives@Boolean"}},"component":"data2-core-flow@If"}},"component":"data2-core-flow@Step"},{"params":{"then":{"system":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"$metadata.system"}}}}},"else":{"params":{"message":{"component":"data2-core-primitives@String","params":{"content":"Invalid Credentials"}},"code":{"component":"data2-core-primitives@String","params":{"content":"401"}}},"component":"data2-core-types@Error"},"compare":{"component":"data2-core-types@Reference","params":{"reference":{"component":"data2-core-primitives@String","params":{"content":"has_access"}}}}},"component":"data2-core-flow@If"}]},"component":"data2-core-flow@Series"},"sessionExpiresIn":{"component":"data2-core-primitives@Number","params":{"content":604800}},"sessionRenewal":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"identityProviders":[{"provider":{"component":"data2-core-primitives@String","params":{"content":"GOOGLE"}},"clientId":{"component":"data2-core-primitives@String","params":{"content":"55470861603-22pvfc1t49lp8cjnbfk71s5ct9hp1q1v.apps.googleusercontent.com"}}}]},"reference":"Data2BuilderAuthentication","updatedAt":"2026-08-06T19:31:23.557Z"},{"_id":"5f060ee51ca96def42f3fbd1","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"UsersTableDataSource"}},"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":1}}}},"reference":"UsersDataSet","updatedAt":"2026-03-04T21:16:40.291Z"},{"_id":"68f938cf5fb002e33752a43d","displayName":"InternalApplicationsAuthenticationStrategy","component":"data2-core@AuthenticationStrategy","system":"5e3b796d6228227ca637d0f4","params":{"resetPassword":{"resetEmail":{"artboard":{"params":{"preventEvaluation":true},"component":"data2-core-types@ArtboardReference"}},"resetSuccessEmail":{"artboard":{"params":{"preventEvaluation":true},"component":"data2-core-types@ArtboardReference"}}},"verifier":{"disabled":false,"component":"data2-core-types@DataSetReference","params":{"reference":"InternalApplicationsVerifierDataSet"}},"password":{"disabled":false,"component":"data2-core-types@DataSetColumnReference","params":{"column":"secret"}},"credentials":[{"component":"data2-core-types@FieldReference","params":{"key":"application"}},{"component":"data2-core-types@FieldReference","params":{"key":"secret"}},{"component":"data2-core-types@FieldReference","params":{"key":"status"}}],"session":[{"component":"data2-core-types@FieldReference","params":{"key":"application"}},{"component":"data2-core-types@FieldReference","params":{"key":"secret"}},{"component":"data2-core-types@FieldReference","params":{"key":"status"}}]},"reference":"InternalApplicationsAuthenticationStrategy","updatedAt":"2025-10-22T20:08:54.442Z","createdAt":"2025-10-22T20:04:31.198Z"},{"component":"data2-core@DataSet","reference":"SessionsDataSet","params":{"requiresConfirmation":false,"pk":"key","datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"data2sessionsdatasource"}}}},{"reference":"UsersTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"component":"data2-core@ServerSessionsDataSource","reference":"data2sessionsdatasource","params":{}},{"_id":"5f1600b70528b92601890f75","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ServiceComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ServiceComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:20.208Z","createdAt":"2020-07-20T20:38:15.436Z"},{"_id":"5f1602190528b92601890f7d","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":40000},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ComponentInstancesTableDataSource"}},"sort":{"_id":1},"pk":"_id","autoEdit":true,"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"ComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:07.089Z","createdAt":"2020-07-20T20:44:09.350Z"},{"_id":"5f16017f0528b92601890f7a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"FileComponentInstancesDataSet","updatedAt":"2023-08-03T16:08:18.193Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"5f1601990528b92601890f7b","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"ApplicationsTableDataSource"}},"pk":"_id","autoEdit":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"master":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"params":{"column":"_id"},"component":"data2-core-types@DataSetColumnReference"}},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"ApplicationsDataSet","updatedAt":"2022-12-13T21:51:13.995Z","createdAt":"2020-07-20T20:42:01.657Z"},{"_id":"5f16172a0528b92601890f85","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"pagination":{"size":{"component":"data2-core-primitives@Number","params":{"content":10000}}},"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"DataComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}},"policies":{"params":{"allowGet":{"component":"data2-core-primitives@Boolean","params":{"content":true}}},"component":"data2@hkXy-UhMjhyfptdE6_fpW"}},"reference":"DataComponentInstancesDataSet","updatedAt":"2025-11-06T21:07:12.831Z","createdAt":"2020-07-20T22:14:02.097Z"},{"_id":"60ddc1bbda3861ca65407c5a","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"domain":{"component":"data2-core-types@Reference","params":{"reference":"clientApplicationDomain"}}},"pagination":{"size":1},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"}},"reference":"OneFileComponentInstancesDataSet","updatedAt":"2022-02-09T19:44:38.036Z","createdAt":"2020-07-20T20:41:35.797Z"},{"_id":"63ee3d38b8c9838c62fb05fb","displayName":"DriveFileComponentInstancesDataSet","component":"data2-core@DataSet","system":"5e3b796d6228227ca637d0f4","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"FileComponentInstancesTableDataSource"}},"pk":"_id","autoEdit":true,"filter":{"component":{"component":"data2-core-primitives@String","params":{"content":"data2-core@Drive"}}},"master":{"params":{"dataset":{"component":"data2-core-types@DataSetReference","params":{"reference":"SystemsDataSet"}},"localField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"system"}},"masterField":{"component":"data2-core-types@DataSetColumnReference","params":{"column":"_id"}}},"component":"data2-core-types@DataSetMaster"},"autoSelect":{"component":"data2-core-primitives@Boolean","params":{"content":false}}},"reference":"DriveFileComponentInstancesDataSet","updatedAt":"2025-12-04T21:58:32.367Z","createdAt":"2023-02-16T14:27:07.797Z"},{"reference":"ServiceComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}},{"reference":"ComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a7b18fdc2af0d8811066219","component":"data2-core-primitives@Artboard","system":"6a45d210b5865956b508ba84","displayName":"Press Gallery","params":{"title":{"component":"data2-core-primitives@String","params":{"content":"Press Gallery"}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1440,"height":900}},"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0}}},"reference":"uQSYVO5rop0bvGneCENo_"},{"_id":"8581ea6d3e5497c850f4ac98","parent":"6a7b18fdc2af0d8811066219","component":"tempo@d5RGnzaKPCoSO7CQgjMZS","system":"6a45d210b5865956b508ba84","displayName":"Gallery","params":{"dataset":{"component":"data2-core-types@InteractiveModuleReference","params":{"reference":"gallery-photosDataSet"}},"super":{"position":{"component":"data2-core-types@Position","params":{"x":0,"y":0,"freeTransform":true,"left":true,"right":true,"top":true,"bottom":true}},"dimensions":{"component":"data2-core-types@Dimensions","params":{"width":1440,"height":900}},"scroll":{"component":"data2-core-types@Scroll","params":{"y":true}}}},"reference":"BcHQmMFGve-y0l-qU9K7S"}]}},{"_id":"5fc4faeec8da12be8bf3d08a","component":"data2-core@Data2TableDataSource","system":"5e3b796d6228227ca637d0f4","params":{"paginate":{"default":1000},"super":{},"table":"fileComponentInstances","schema":[{"component":"data2-core-types@Field","params":{"key":"component","title":"Component","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"system","title":"System","component":"data2-core-primitives@ObjectId"}},{"component":"data2-core-types@Field","params":{"key":"displayName","title":"Display Name","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"params","title":"Params","component":"data2-core-primitives@Object"}},{"component":"data2-core-types@Field","params":{"key":"reference","title":"Reference","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":{"component":"data2-core-primitives@String","params":{"content":"fileId"}},"title":"File ID","component":"data2-core-primitives@ObjectId"},"break":true}],"hooks":{"before":{"all":[{"hook":"softDelete"}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"timestamp","options":{"fields":["createdAt","updatedAt"]}}],"update":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}],"patch":[{"hook":"timestamp","options":{"fields":["updatedAt"]}}]},"after":{"all":[{"hook":"fileUrl","options":{"downloadField":"params.fileUrl","uploadField":"params.uploadFileUrl","enhanceSchema":false}}],"find":[{"hook":"useCache","options":{"additionalGroupKeys":["$and.0.system","$and.1.system"],"skipCache":true}}],"create":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"update":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"patch":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}],"remove":[{"hook":"invalidateCache","options":{"additionalGroupKeys":["system"],"secondaryUniqueKeys":["reference"]}},{"hook":"invalidateEnvCache"}]}},"multi":["create"],"useEstimatedDocumentCount":true},"reference":"FileComponentInstancesTableDataSource","updatedAt":"2022-12-19T20:42:51.837Z","createdAt":"2020-11-30T13:59:52.294Z"},{"reference":"ApplicationsTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a7b192efd6bd0a3b4a21442","displayName":"Tempo Press Gallery","reference":"cCqe3dMBgGiCgLa3xrSD8","params":{"name":{"component":"data2-core-primitives@String","params":{"content":"Tempo Press Gallery"}},"shortName":{"component":"data2-core-primitives@String","params":{"content":"Tempo Press Gallery"}},"domain":{"component":"data2-core-primitives@String","params":{"content":"press"}},"serverSideRendering":{"component":"data2-core-primitives@Boolean","params":{"content":true}},"entryPoint":{"component":"data2-core-types@ComponentInstanceReference","params":{"component":"data2-core-primitives@Artboard","reference":"uQSYVO5rop0bvGneCENo_"}},"responseHeaders":{"X-Frame-Options":{"component":"data2-core-primitives@String","params":{"content":""}},"Content-Security-Policy":{"component":"data2-core-primitives@String","params":{"content":""}},"X-XSS-Protection":{"component":"data2-core-primitives@String","params":{"content":""}}}},"system":"6a45d210b5865956b508ba84","component":"data2-core-primitives@Application"}]}},{"reference":"DataComponentInstancesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[{"_id":"6a45d668fb4b5485eb7116c1","component":"data2-core@DataSet","system":"6a45d210b5865956b508ba84","params":{"datasource":{"component":"data2-core-types@DataSourceReference","params":{"reference":"gallery-photos"}}},"reference":"gallery-photosDataSet"},{"_id":"6a45d668b0a857d0aa5c3b7b","component":"data2-core@Data2TableDataSource","system":"6a45d210b5865956b508ba84","params":{"table":"gallery-photos","schema":[{"component":"data2-core-types@Field","params":{"key":"full","title":"Full URL","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"thumb","title":"Thumb URL","component":"data2-core-primitives@String"}},{"component":"data2-core-types@Field","params":{"key":"ordem","title":"Ordem","component":"data2-core-primitives@Number"}},{"component":"data2-core-types@Field","params":{"key":"source","title":"Source","component":"data2-core-primitives@String"}}]},"reference":"gallery-photos"}]}},{"reference":"BundlesTableDataSource","component":"data2-core@MemoryDataSource","params":{"initialData":[]}}],"processesParams":{}}}}