|
16 | 16 | background: var(--dark-card-hover-bg); |
17 | 17 | box-shadow: var(--dark-shadow-lg); |
18 | 18 | } |
| 19 | +/* CTA buttons row (top hero) */ |
19 | 20 | .buttons { |
20 | | - display: flex; |
| 21 | + display: inline-flex; |
21 | 22 | justify-content: center; |
22 | 23 | align-items: center; |
23 | | - gap: 1.5rem; |
24 | | - margin: 3rem 0 4rem; |
25 | | - width: 100%; |
| 24 | + gap: 1rem; |
| 25 | + margin: 2rem 0 0; |
26 | 26 | position: relative; |
27 | | - z-index: 1; |
| 27 | + z-index: 2; |
| 28 | +} |
| 29 | + |
| 30 | +/* Hero-only buttons container: keeps buttons compact instead of full width */ |
| 31 | +.heroButtons { |
| 32 | + display: flex; |
| 33 | + flex-direction: column; |
| 34 | + align-items: center; |
| 35 | + justify-content: center; |
| 36 | + gap: 0.8rem; |
| 37 | + margin-top: 1.5rem; |
| 38 | +} |
| 39 | + |
| 40 | +.heroButtons .button { |
| 41 | + width: 100%; |
| 42 | + max-width: 360px; |
| 43 | + min-width: 0; |
| 44 | + padding: 0.9rem 1.25rem; |
| 45 | + border-radius: 999px; |
| 46 | +} |
| 47 | + |
| 48 | +@media (max-width: 480px) { |
| 49 | + .heroButtons { gap: 0.75rem; width: 100%; padding: 0; } |
| 50 | + .heroButtons .button { width: 100%; max-width: 320px; } |
28 | 51 | } |
29 | 52 |
|
30 | 53 | .button { |
31 | 54 | display: inline-flex; |
32 | 55 | align-items: center; |
33 | 56 | justify-content: center; |
34 | | - padding: 0.9rem 2rem; |
35 | | - border-radius: 8px; |
| 57 | + padding: 0.9rem 1.6rem; |
| 58 | + border-radius: 10px; |
36 | 59 | font-weight: 600; |
37 | 60 | font-size: 1.05rem; |
38 | 61 | transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
|
41 | 64 | overflow: hidden; |
42 | 65 | box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); |
43 | 66 | transform: translateY(0); |
| 67 | + width: auto; |
44 | 68 | } |
45 | 69 |
|
| 70 | +/* Primary CTA */ |
46 | 71 | .buttonPrimary { |
47 | 72 | background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); |
48 | | - color: white; |
| 73 | + color: #fff !important; |
49 | 74 | border: none; |
| 75 | + border-radius: 12px; |
50 | 76 | } |
51 | | -.buttonPrimary { |
52 | | - background: rgba(255, 255, 255, 0.05); |
53 | | - color: #fff !important; |
54 | | - border: 2px solid #4CC9F0; |
55 | | - backdrop-filter: blur(8px); |
56 | | - border-image:linear-gradient(to right, #4CC9F0,#60a5fa)1; |
57 | | - } |
58 | | - .buttonPrimary{ |
59 | | - animation: pulse-glow 4s infinite; |
60 | | -} |
61 | | -@keyframes pulse-glow { |
62 | | - 0%{ box-shadow: 0 0 0 0 rgba(76,201,240,0.3); } |
63 | | - 70% { box-shadow: 0 0 0 15px rgba(76,201,240 ,0); } 100% { box-shadow: 0 0 0 0 rgba(76 ,201 ,240,0); } } |
64 | 77 |
|
65 | 78 |
|
66 | 79 | .buttonPrimary:hover { |
67 | 80 | transform: translateY(-3px); |
68 | | - background: #4CC9F0; |
69 | | - box-shadow: 0 8px 24px rgba(76,201,240,0.4); border-color: rgba(255, 255, 255, 0.3); color: #0a0a0a !important; |
70 | | - } |
| 81 | + filter: brightness(1.05); |
| 82 | + box-shadow: 0 10px 24px rgba(37, 99, 235, 0.35); |
| 83 | +} |
71 | 84 |
|
| 85 | +.buttonPrimary:focus-visible, |
| 86 | +.buttonOutline:focus-visible, |
| 87 | +.heroButtons .button:focus-visible { |
| 88 | + outline: none; |
| 89 | + box-shadow: 0 0 0 3px rgba(59,130,246,0.45), 0 0 0 6px rgba(59,130,246,0.2); |
| 90 | +} |
| 91 | + |
| 92 | +/* Secondary CTA */ |
72 | 93 | .buttonOutline { |
73 | | - background: rgba(255, 255, 255, 0.05); |
74 | | - color: #fff !important; |
75 | | - border: 2px solid #4CC9F0; |
| 94 | + background: rgba(255, 255, 255, 0.06); |
| 95 | + color: #e5e7eb !important; |
| 96 | + border: 1px solid rgba(255, 255, 255, 0.25); |
76 | 97 | backdrop-filter: blur(8px); |
77 | | - } |
| 98 | + border-radius: 12px; |
| 99 | +} |
78 | 100 |
|
79 | 101 | .buttonOutline:hover { |
80 | 102 | transform: translateY(-3px); |
81 | | - background:#4CC9F0; |
82 | | - box-shadow: 0 8px 24px rgba(76, 201,240,0.4); |
83 | | - border-color: rgba(255, 255, 255, 0.3); |
84 | | - color: #0a0a0a !important; |
| 103 | + background: rgba(255, 255, 255, 0.12); |
| 104 | + border-color: rgba(255, 255, 255, 0.35); |
| 105 | + color: #ffffff !important; |
85 | 106 | } |
86 | 107 |
|
87 | | -.buttonIcon { |
88 | | - margin-left: 0.6rem; |
89 | | - display: inline-flex; |
90 | | - transition: transform 0.3s ease; |
| 108 | +.buttonOutline:hover { |
| 109 | + box-shadow: 0 8px 22px rgba(148, 163, 184, 0.15); |
91 | 110 | } |
92 | 111 |
|
| 112 | +.buttonIcon { margin-left: 0.6rem; display: inline-flex; transition: transform 0.3s ease; } |
| 113 | + |
93 | 114 | .button:hover .buttonIcon { |
94 | | - transform: translateX(4px); |
| 115 | + transform: translateX(3px); |
95 | 116 | } |
96 | 117 |
|
97 | 118 | @media (max-width: 480px) { |
98 | | - .buttons { |
99 | | - flex-direction: column; |
100 | | - gap: 1rem; |
101 | | - margin: 2.5rem 0 3rem; |
102 | | - } |
103 | | - |
104 | | - .button { |
105 | | - width: 100%; |
106 | | - max-width: 280px; |
107 | | - margin: 0 auto; |
108 | | - } |
| 119 | + .buttons { flex-direction: column; gap: 0.75rem; margin: 1.75rem 0 0; width: 100%; } |
| 120 | + .button { width: 100%; max-width: 320px; margin: 0 auto; } |
109 | 121 | } |
110 | 122 |
|
111 | 123 | .mouse { |
|
136 | 148 | } |
137 | 149 |
|
138 | 150 | .heroBanner { |
139 | | - padding: 6rem 2rem; |
| 151 | + padding: 6rem 1.5rem 4rem; |
140 | 152 | text-align: center; |
141 | 153 | position: relative; |
142 | 154 | overflow: hidden; |
143 | | - background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); |
| 155 | + background: radial-gradient(1200px 500px at 50% -100px, #1e3a8a 0%, transparent 70%), linear-gradient(135deg, #0b1220 0%, #13233f 100%); |
144 | 156 | color: white; |
145 | 157 | z-index: 1; |
146 | 158 | } |
|
165 | 177 | padding: 7rem 2rem; |
166 | 178 | } |
167 | 179 | } |
168 | | -.heroOverlay { |
169 | | - position: absolute; |
170 | | - top: 0; |
171 | | - left: 0; |
172 | | - width: 100%; |
173 | | - height:100%; |
174 | | - background: rgba(0,0,40,0.4); |
175 | | -} |
| 180 | +.heroOverlay { position: absolute; top: 0; left: 0; width: 100%; height:100%; background: radial-gradient(800px 400px at 15% 10%, rgba(59,130,246,0.15), transparent 60%), radial-gradient(800px 400px at 85% 20%, rgba(147,51,234,0.12), transparent 60%); } |
176 | 181 | .heroBanner::before { |
177 | 182 | content: ''; |
178 | 183 | position: absolute; |
|
883 | 888 | opacity: 0.9; |
884 | 889 | } |
885 | 890 |
|
| 891 | +/* Cleaner, compact hero ticker */ |
886 | 892 | .typingContainer { |
887 | | - display: flex; |
888 | | - align-items: center; |
889 | | - justify-content: center; |
890 | | - margin-top: 4rem; |
891 | | - font-size: 2.8rem; |
892 | | - font-weight: 700; |
893 | | - color: white; |
894 | | - z-index: 2; |
895 | | - line-height: 1.5; |
896 | | - gap: 2rem; |
897 | | - padding: 1.5rem 2.5rem; |
898 | | - border-radius: 1.5rem; |
899 | | - background: rgba(255, 255, 255, 0.08); |
900 | | - backdrop-filter: blur(14px) saturate(180%); |
901 | | - -webkit-backdrop-filter: blur(14px) saturate(180%); |
902 | | - border: 1px solid rgba(255, 255, 255, 0.18); |
903 | | - box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35); |
904 | | - flex-wrap: nowrap; |
905 | | -} |
906 | | - |
907 | | -.staticText { |
908 | | - font-weight: 700; |
909 | | - font-size: 2rem; |
910 | | - background: linear-gradient(90deg, #4CC9F0, #A29BFE, #4CC9F0); |
911 | | - -webkit-background-clip: text; |
912 | | - -webkit-text-fill-color: transparent; |
913 | | - text-transform: uppercase; |
914 | | - letter-spacing: 1px; |
915 | | - margin: 0; |
916 | | - white-space: nowrap; |
917 | | - flex: 0 0 auto; |
918 | | -} |
919 | | - |
920 | | -.dynamicText { |
921 | | - position: relative; |
922 | | - display: inline-flex; |
923 | | - justify-content: center; |
924 | | - align-items: center; |
925 | | - text-align: left; /* align dynamic text horizontally */ |
926 | | - min-width: 10ch; |
927 | | - font-size: 2rem; |
928 | | - height: 1.7rem; |
929 | | - overflow: hidden; |
930 | | - padding: 0 0.4rem; |
931 | | - flex: 0 1 auto; |
932 | | -} |
933 | | - |
934 | | -.typingWord { |
935 | | - position: absolute; |
936 | | - top: 50%; |
937 | | - left: 50%; |
938 | | - transform: translate(-50%, -50%); |
939 | | - opacity: 0; |
940 | | - animation: typing 12s ease-in-out infinite; |
941 | | - white-space: nowrap; |
942 | | - background: linear-gradient(90deg, #00f2fe, #4facfe); |
943 | | - -webkit-background-clip: text; |
944 | | - -webkit-text-fill-color: transparent; |
945 | | - font-weight: 700; |
946 | | - letter-spacing: 0.5px; |
| 893 | + display: inline-flex; |
| 894 | + align-items: center; |
| 895 | + justify-content: center; |
| 896 | + margin: 1.25rem 0 0; |
| 897 | + font-size: 2.2rem; |
| 898 | + font-weight: 700; |
| 899 | + color: white; |
| 900 | + z-index: 2; |
| 901 | + line-height: 1.3; |
| 902 | + gap: 0.75rem; |
| 903 | + padding: 0.6rem 1rem; |
| 904 | + border-radius: 999px; |
| 905 | + background: rgba(255,255,255,0.06); |
| 906 | + border: 1px solid rgba(255,255,255,0.16); |
| 907 | + backdrop-filter: blur(10px); |
947 | 908 | } |
948 | 909 |
|
| 910 | +.staticText { font-weight: 700; font-size: 1.2rem; background: linear-gradient(90deg, #67e8f9, #93c5fd); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-transform: uppercase; letter-spacing: 1px; margin: 0; white-space: nowrap; flex: 0 0 auto; } |
| 911 | + |
| 912 | +.dynamicText { position: relative; display: inline-flex; justify-content: center; align-items: center; text-align: left; min-width: 9ch; font-size: 1.2rem; height: 1.4rem; overflow: hidden; padding: 0 0.2rem; flex: 0 1 auto; } |
| 913 | + |
| 914 | +.typingWord { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0; animation: typing 12s ease-in-out infinite; white-space: nowrap; background: linear-gradient(90deg, #22d3ee, #60a5fa); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight: 800; letter-spacing: 0.5px; } |
| 915 | + |
949 | 916 | .typingWord:nth-child(1) { animation-delay: 0s; } |
950 | 917 | .typingWord:nth-child(2) { animation-delay: 3s; } |
951 | 918 | .typingWord:nth-child(3) { animation-delay: 6s; } |
|
959 | 926 | 100% { opacity: 0; } |
960 | 927 | } |
961 | 928 |
|
962 | | -.dynamicText::after { |
963 | | - content: '|'; |
964 | | - position: absolute; |
965 | | - right: -1ch; |
966 | | - top: 50%; |
967 | | - transform: translateY(-50%); |
968 | | - background: linear-gradient(90deg, #4CC9F0, #A29BFE); |
969 | | - -webkit-background-clip: text; |
970 | | - -webkit-text-fill-color: transparent; |
971 | | - animation: blink 1s infinite; |
972 | | - font-weight: 400; |
973 | | - font-size: 1.9rem; |
974 | | - line-height: 2.6rem; |
975 | | -} |
| 929 | +.dynamicText::after { content: '|'; position: absolute; right: -0.6ch; top: 50%; transform: translateY(-50%); background: linear-gradient(90deg, #67e8f9, #a78bfa); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: blink 1s infinite; font-weight: 500; font-size: 1.2rem; line-height: 1.4rem; } |
976 | 930 |
|
977 | 931 | @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } |
978 | 932 |
|
979 | 933 | @media (max-width: 1024px) { |
980 | | - .typingContainer { |
981 | | - font-size: 2rem; |
982 | | - gap: 1rem; |
983 | | - padding: 1rem 1.5rem; |
984 | | - } |
985 | | - .typingContainer { font-size: 2rem; gap: 0.5rem; padding: 1rem 1.5rem; } |
986 | | - .staticText { font-size: 1.6rem; } |
987 | | - .dynamicText { font-size: 1.6rem; height: 2rem; } |
988 | | - .typingWord { font-size: 1.6rem; line-height: 2rem; } |
989 | | - .dynamicText::after { font-size: 1.6rem; line-height: 2rem; } |
| 934 | + .typingContainer { font-size: 1.6rem; gap: 0.5rem; padding: 0.5rem 0.8rem; } |
| 935 | + .staticText { font-size: 1rem; } |
| 936 | + .dynamicText { font-size: 1rem; height: 1.2rem; } |
| 937 | + .typingWord { font-size: 1rem; line-height: 1.2rem; } |
| 938 | + .dynamicText::after { font-size: 1rem; line-height: 1.2rem; } |
990 | 939 | } |
991 | 940 |
|
992 | 941 | /* Small screens (mobile) */ |
993 | 942 | @media (max-width: 600px) { |
994 | | - .typingContainer { |
995 | | - font-size: 1.4rem; |
996 | | - flex-direction: column; |
997 | | - gap: 0.4rem; |
998 | | - padding: 0.8rem 1rem; |
999 | | - } |
1000 | | - .staticText { font-size: 1.2rem; text-align: center; } |
1001 | | - .dynamicText { font-size: 1.2rem; height: 1.8rem; } |
1002 | | - .typingWord { font-size: 1.2rem; line-height: 1.8rem; } |
1003 | | - .dynamicText::after { font-size: 1.2rem; line-height: 1.8rem; } |
1004 | | - |
| 943 | + .typingContainer { font-size: 1.25rem; flex-direction: row; gap: 0.4rem; padding: 0.45rem 0.75rem; } |
| 944 | + .staticText { font-size: 0.9rem; text-align: center; } |
| 945 | + .dynamicText { font-size: 0.95rem; height: 1.1rem; } |
| 946 | + .typingWord { font-size: 0.95rem; line-height: 1.1rem; } |
| 947 | + .dynamicText::after { font-size: 0.95rem; line-height: 1.1rem; } |
1005 | 948 | } |
1006 | 949 | /* Ensure touch targets are large enough for mobile */ |
1007 | 950 | .button, .pathLink { |
|
0 commit comments