+
+
+
+
+
+ Safenet is coming 2025
+
+
+
Builder mode on.
+
+
+
+
+
+ {items.map(({ title, features }, index) => (
+
+ {title}
+
+
+ {features.map((item) => (
+ {item}
+ ))}
+
+
+ ))}
+
+
+
+
+
+
+
+ Stay in the loop for all the latest insights!
+
+
+
+
+ )
+}
+
+export default Roadmap
diff --git a/src/components/Safenet/Roadmap/styles.module.css b/src/components/Safenet/Roadmap/styles.module.css
new file mode 100644
index 00000000..fd78c1a0
--- /dev/null
+++ b/src/components/Safenet/Roadmap/styles.module.css
@@ -0,0 +1,125 @@
+.container {
+ margin-top: 300px;
+
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.contentWrapper {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 24px;
+}
+
+.title {
+ max-width: 1042px;
+ text-transform: uppercase;
+ text-align: center;
+
+ font-size: 40px;
+ line-height: 44px;
+}
+
+.titleGradient {
+ background: radial-gradient(129.11% 259.78% at 103.1% -21.2%, #ff5f00 0%, #ffd200 50%, #12ff80 100%);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ font-style: italic;
+}
+
+.gradientButton {
+ border-radius: 12px;
+ background: radial-gradient(129.11% 259.78% at 103.1% -21.2%, #ff5f00 0%, #ffd200 50%, #12ff80 100%);
+}
+
+.gridContainer {
+ margin-top: 80px;
+ justify-content: center;
+ gap: 80px;
+}
+
+.blockItem {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 24px;
+}
+
+.blockTitle {
+ font-size: 32px;
+ line-height: 36px;
+ text-transform: uppercase;
+
+ background: radial-gradient(129.11% 259.78% at 103.1% -21.2%, #ff5f00 0%, #ffd200 50%, #12ff80 100%);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+
+.blockText {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+
+ align-items: center;
+ text-align: center;
+}
+
+.buttonWrapper {
+ margin-top: 70px;
+ display: flex;
+ flex-direction: column;
+ text-align: center;
+ align-items: center;
+ gap: 24px;
+ width: 214px;
+}
+
+.hook,
+.timelineImage {
+ display: none;
+}
+
+@media (min-width: 900px) {
+ .hook {
+ display: block;
+ position: absolute;
+ left: -260px;
+ top: 6px;
+ }
+
+ .title {
+ font-size: 56px;
+ line-height: 60px;
+ }
+
+ .timelineImage {
+ width: 100%;
+ margin-top: 108px;
+ }
+
+ .gridContainer {
+ margin-top: 40px;
+ justify-content: space-around;
+ }
+
+ .buttonWrapper {
+ width: 100%;
+ }
+}
+
+@media (min-width: 1200px) {
+ .hook {
+ left: -112px;
+ }
+}
+
+@media (min-width: 1630px) {
+ .hook {
+ left: 104px;
+ }
+}
diff --git a/src/components/Safenet/index.tsx b/src/components/Safenet/index.tsx
index efc76116..3b5ee916 100644
--- a/src/components/Safenet/index.tsx
+++ b/src/components/Safenet/index.tsx
@@ -1,6 +1,7 @@
import ChainAbstraction from '@/components/Safenet/ChainAbstraction'
import Hero from '@/components/Safenet/Hero'
import Metadata from '@/components/Safenet/Metatags'
+import Roadmap from '@/components/Safenet/Roadmap'
const Safenet = () => {
return (
@@ -8,6 +9,7 @@ const Safenet = () => {