1616 --max-w : 1160px ;
1717 --nav-h : 64px ;
1818 --term-bg : # 1a1a24 ;
19+ --glow-sm : 0 0 20px rgba (199 , 70 , 52 , .15 );
20+ --glow-md : 0 0 40px rgba (199 , 70 , 52 , .12 );
1921}
2022/* Light theme */
2123[data-theme = "light" ]{
2527 --text : # 1a1a2e ;--text-dim : # 5a5a70 ;--text-muted : # 8a8a9e ;
2628 --green : # 1a8a4a ;--blue : # 2a6ac0 ;
2729 --term-bg : # 1a1a24 ;
30+ --glow-sm : 0 0 20px rgba (199 , 70 , 52 , .08 );
31+ --glow-md : 0 0 40px rgba (199 , 70 , 52 , .06 );
2832}
2933/* Keep terminal areas dark in light mode */
3034[data-theme = "light" ] .cmd-code ,
4246[data-theme = "light" ] .hero-terminal {background : # 1a1a24 ;border-color : # 2a2a38 }
4347[data-theme = "light" ] .hero-term-bar {background : # 2a2a34 ;border-color : # 2a2a38 }
4448[data-theme = "light" ] .hero-term-title {color : # 5a5a6e }
45- [data-theme = "light" ] .nav {background : rgba (244 , 244 , 247 , .88 );border-bottom-color : var (--border )}
49+ [data-theme = "light" ] .nav {background : rgba (244 , 244 , 247 , .82 );border-bottom-color : var (--border )}
4650[data-theme = "light" ] .nav-links a : hover {color : var (--text )}
4751[data-theme = "light" ] .nav-cta {color : # fff!important }
52+ [data-theme = "light" ] .noise-overlay {opacity : .03 }
4853html {scroll-behavior : smooth;font-size : 15px ;scroll-padding-top : 80px }
4954body {font-family : var (--font );background : var (--bg );color : var (--text );line-height : 1.65 ;
5055 overflow-x : hidden;min-height : 100vh ;padding-top : var (--nav-h )}
5156a {color : var (--red );text-decoration : none;transition : color .2s }
5257a : hover {color : var (--red-glow )}
5358img {max-width : 100% ;display : block}
59+
60+ /* === NOISE TEXTURE OVERLAY === */
61+ .noise-overlay {position : fixed;inset : 0 ;z-index : 9999 ;pointer-events : none;opacity : .04 ;
62+ background-image : url ("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E" );
63+ background-repeat : repeat;background-size : 256px 256px }
64+
65+ /* === SCROLLBAR === */
5466::-webkit-scrollbar {width : 5px }
5567::-webkit-scrollbar-track {background : var (--bg2 )}
5668::-webkit-scrollbar-thumb {background : var (--border-light );border-radius : 3px }
5769::-webkit-scrollbar-thumb : hover {background : var (--red )}
5870
5971/* === NAV === */
6072.nav {position : fixed;top : 0 ;left : 0 ;right : 0 ;height : var (--nav-h );z-index : 1000 ;
61- background : rgba (10 , 10 , 14 , .85 );backdrop-filter : blur (16 px ) ;-webkit-backdrop-filter : blur (16 px );
62- border-bottom : 1px solid var ( --border );transition : box-shadow .3s }
63- .nav .scrolled {box-shadow : 0 4px 30px rgba (0 , 0 , 0 , .4 )}
73+ background : rgba (10 , 10 , 14 , .75 );backdrop-filter : blur (20 px ) saturate ( 1.8 ) ;-webkit-backdrop-filter : blur (20 px ) saturate ( 1.8 );
74+ border-bottom : 1px solid rgba ( 255 , 255 , 255 , .06 );transition : box-shadow .3 s , border-color .3s }
75+ .nav .scrolled {box-shadow : 0 4px 30px rgba (0 , 0 , 0 , .4 ); border-bottom-color : var ( --border ) }
6476.nav-inner {max-width : var (--max-w );margin : 0 auto;padding : 0 24px ;height : 100% ;
6577 display : flex;align-items : center;justify-content : space-between}
6678.nav-logo {display : flex;align-items : center;gap : 10px ;font-weight : 900 ;font-size : 1.05rem ;
67- color : var (--text );letter-spacing : .5px ;text-decoration : none}
79+ color : var (--text );letter-spacing : .5px ;text-decoration : none;transition : opacity .2s }
80+ .nav-logo : hover {opacity : .85 }
6881.nav-logo .logo-icon {width : 32px ;height : 32px ;background : var (--red );border-radius : 8px ;
6982 display : flex;align-items : center;justify-content : center;font-family : var (--display );
70- font-size : .8rem ;font-weight : 900 ;color : # fff ;letter-spacing : -1px }
83+ font-size : .8rem ;font-weight : 900 ;color : # fff ;letter-spacing : -1px ;
84+ box-shadow : 0 2px 12px rgba (199 , 70 , 52 , .3 )}
7185.nav-logo span {color : var (--red )}
7286.nav-links {display : flex;align-items : center;gap : 4px }
7387.nav-links a {padding : 8px 16px ;font-size : .85rem ;color : var (--text-dim );border-radius : 8px ;
@@ -77,82 +91,103 @@ img{max-width:100%;display:block}
7791.nav-links a .active {color : var (--red );background : rgba (199 , 70 , 52 , .12 )}
7892.nav-links a .active ::after {content : '' ;display : none}
7993.nav-cta {background : var (--red );color : # fff!important ;padding : 8px 20px !important ;
80- border-radius : 8px !important ;font-weight : 600 !important ;font-size : .82rem !important }
81- .nav-cta : hover {background : var (--red-glow )!important }
94+ border-radius : 8px !important ;font-weight : 600 !important ;font-size : .82rem !important ;
95+ box-shadow : 0 2px 12px rgba (199 , 70 , 52 , .25 );transition : all .25s !important }
96+ .nav-cta : hover {background : var (--red-glow )!important ;box-shadow : 0 4px 20px rgba (199 , 70 , 52 , .35 )!important ;
97+ transform : translateY (-1px )!important }
8298.nav-hamburger {display : none;background : none;border : none;color : var (--text );font-size : 1.4rem ;cursor : pointer;padding : 8px }
8399.nav-actions {display : flex;align-items : center;gap : 6px }
84100.nav-toggle {background : var (--bg3 );border : 1px solid var (--border );border-radius : 8px ;
85101 padding : 6px 10px ;font-size : .78rem ;color : var (--text-dim );cursor : pointer;transition : all .2s ;
86102 font-family : var (--font );display : flex;align-items : center;gap : 4px ;white-space : nowrap}
87- .nav-toggle : hover {border-color : var (--red );color : var (--text )}
103+ .nav-toggle : hover {border-color : var (--red );color : var (--text ); box-shadow : var ( --glow-sm ) }
88104[data-theme = "light" ] .nav-toggle {background : var (--card )}
89105
90106/* === CONTAINER === */
91107.container {max-width : var (--max-w );margin : 0 auto;padding : 0 24px }
92108.section {padding : 80px 0 }
93109.section-sm {padding : 50px 0 }
94110
111+ /* === GRADIENT TEXT UTILITY === */
112+ .grad-text {background : linear-gradient (135deg , var (--red-glow ), var (--accent2 ));
113+ -webkit-background-clip : text;-webkit-text-fill-color : transparent;background-clip : text}
114+
95115/* === COMMON TYPOGRAPHY === */
96116.section-eyebrow {font-size : .72rem ;text-transform : uppercase;letter-spacing : 3px ;color : var (--red );
97- font-weight : 600 ;margin-bottom : 12px }
117+ font-weight : 600 ;margin-bottom : 12px ;display : flex;align-items : center;gap : 10px }
118+ .section-eyebrow ::before {content : '' ;width : 24px ;height : 1px ;background : var (--red )}
119+ .section-center .section-eyebrow {justify-content : center}
120+ .section-center .section-eyebrow ::before {display : none}
98121.section-title {font-size : clamp (1.6rem , 3.5vw , 2.2rem );font-weight : 900 ;color : var (--text );line-height : 1.3 ;margin-bottom : 12px }
99122.section-desc {font-size : 1rem ;color : var (--text-dim );max-width : 600px ;line-height : 1.7 ;font-weight : 300 }
100123.section-center {text-align : center}
101124.section-center .section-desc {margin : 0 auto}
102125
103126/* === BUTTONS === */
104127.btn {display : inline-flex;align-items : center;gap : 8px ;padding : 12px 28px ;border-radius : 10px ;
105- font-size : .9rem ;font-weight : 600 ;cursor : pointer;transition : all .25s ;border : none;
106- font-family : var (--font );text-decoration : none}
107- .btn-primary {background : var (--red );color : # fff }
108- .btn-primary : hover {background : var (--red-glow );color : # fff ;transform : translateY (-1px );box-shadow : 0 8px 30px rgba (199 , 70 , 52 , .25 )}
128+ font-size : .9rem ;font-weight : 600 ;cursor : pointer;transition : all .3s ;border : none;
129+ font-family : var (--font );text-decoration : none;position : relative}
130+ .btn-primary {background : var (--red );color : # fff ;box-shadow : 0 4px 20px rgba (199 , 70 , 52 , .2 )}
131+ .btn-primary : hover {background : var (--red-glow );color : # fff ;transform : translateY (-2px );
132+ box-shadow : 0 8px 30px rgba (199 , 70 , 52 , .35 )}
109133.btn-ghost {background : transparent;color : var (--text );border : 1px solid var (--border-light )}
110- .btn-ghost : hover {border-color : var (--red );color : var (--text );transform : translateY (-1px )}
134+ .btn-ghost : hover {border-color : var (--red );color : var (--text );transform : translateY (-2px );
135+ box-shadow : var (--glow-sm )}
111136.btn-sm {padding : 8px 18px ;font-size : .82rem ;border-radius : 8px }
112137
113138/* === CARDS === */
114139.card {background : var (--card );border : 1px solid var (--border );border-radius : var (--r-lg );
115- padding : 28px 24px ;transition : all .3s }
116- .card : hover {border-color : var (--border-light );transform : translateY (-2px );
117- box-shadow : 0 8px 30px rgba (0 , 0 , 0 , .12 )}
140+ padding : 28px 24px ;transition : all .35s cubic-bezier (.4 , 0 , .2 , 1 );position : relative}
141+ .card : hover {border-color : rgba (199 , 70 , 52 , .3 );transform : translateY (-3px );
142+ box-shadow : 0 12px 40px rgba (0 , 0 , 0 , .15 ), var (--glow-sm )}
143+ [data-theme = "light" ] .card : hover {box-shadow : 0 12px 40px rgba (0 , 0 , 0 , .08 ), 0 0 20px rgba (199 , 70 , 52 , .06 )}
118144
119145/* === TAGS === */
120146.tag {display : inline-flex;align-items : center;background : var (--bg3 );border : 1px solid var (--border );
121147 border-radius : 6px ;padding : 5px 12px ;font-size : .78rem ;color : var (--text-dim );font-weight : 500 ;transition : all .2s }
122- .tag : hover {border-color : var (--red );color : var (--text )}
148+ .tag : hover {border-color : var (--red );color : var (--text ); box-shadow : var ( --glow-sm ) }
123149.tag-red {border-color : var (--border-red );color : var (--red-glow );background : rgba (199 , 70 , 52 , .06 )}
124150
125151/* === GRID BACKGROUNDS === */
126152.bg-grid {position : relative}
127153.bg-grid ::after {content : '' ;position : absolute;inset : 0 ;
128154 background-image : linear-gradient (rgba (199 , 70 , 52 , .03 ) 1px , transparent 1px ),
129155 linear-gradient (90deg , rgba (199 , 70 , 52 , .03 ) 1px , transparent 1px );
130- background-size : 50px 50px ;pointer-events : none;z-index : 0 }
156+ background-size : 50px 50px ;pointer-events : none;z-index : 0 ;
157+ mask-image : radial-gradient (ellipse 80% 60% at 50% 40% , black 30% , transparent 70% );
158+ -webkit-mask-image : radial-gradient (ellipse 80% 60% at 50% 40% , black 30% , transparent 70% )}
131159.bg-grid > * {position : relative;z-index : 1 }
132160.bg-glow-top {position : relative}
133161.bg-glow-top ::before {content : '' ;position : absolute;top : -200px ;left : 50% ;transform : translateX (-50% );
134162 width : 800px ;height : 500px ;background : radial-gradient (ellipse, rgba (199 , 70 , 52 , .08 ), transparent 70% );
135163 pointer-events : none}
136164
165+ /* === SECTION DIVIDER === */
166+ .section-divider {height : 1px ;border : none;margin : 0 ;
167+ background : linear-gradient (90deg , transparent, var (--border-light ) 20% , var (--border ) 50% , var (--border-light ) 80% , transparent)}
168+
137169/* === FOOTER === */
138- .footer {border-top : 1px solid var (--border );padding : 40px 0 }
170+ .footer {border-top : none;padding : 50px 0 40px ;position : relative}
171+ .footer ::before {content : '' ;position : absolute;top : 0 ;left : 0 ;right : 0 ;height : 1px ;
172+ background : linear-gradient (90deg , transparent, rgba (199 , 70 , 52 , .3 ) 30% , rgba (199 , 70 , 52 , .4 ) 50% , rgba (199 , 70 , 52 , .3 ) 70% , transparent)}
139173.footer-inner {display : grid;grid-template-columns : 1.5fr 1fr 1fr 1fr ;gap : 40px }
140174.footer-brand .footer-logo {font-weight : 900 ;font-size : 1.1rem ;color : var (--text );margin-bottom : 8px }
141175.footer-brand .footer-logo span {color : var (--red )}
142176.footer-brand p {font-size : .82rem ;color : var (--text-muted );line-height : 1.6 }
143177.footer-col h4 {font-size : .78rem ;text-transform : uppercase;letter-spacing : 2px ;color : var (--text-muted );
144178 font-weight : 600 ;margin-bottom : 14px }
145- .footer-col a {display : block;font-size : .85rem ;color : var (--text-dim );padding : 4px 0 ;transition : color .2s }
146- .footer-col a : hover {color : var (--red-glow )}
179+ .footer-col a {display : block;font-size : .85rem ;color : var (--text-dim );padding : 4px 0 ;transition : all .2s }
180+ .footer-col a : hover {color : var (--red-glow ); padding-left : 4 px }
147181.footer-bottom {border-top : 1px solid var (--border );margin-top : 30px ;padding-top : 20px ;
148182 display : flex;justify-content : space-between;align-items : center;flex-wrap : wrap;gap : 12px }
149183.footer-bottom span {font-size : .75rem ;color : var (--text-muted )}
150184
151185/* === ANIMATIONS === */
152- @keyframes fadeUp{from {opacity : 0 ;transform : translateY (20 px )}to {opacity : 1 ;transform : translateY (0 )}}
186+ @keyframes fadeUp{from {opacity : 0 ;transform : translateY (24 px )}to {opacity : 1 ;transform : translateY (0 )}}
153187@keyframes fadeIn{from {opacity : 0 }to {opacity : 1 }}
154188@keyframes pulse{0% , 100%{opacity : 1 }50% {opacity : .5 }}
155- .anim-up {animation : fadeUp .6s ease both}
189+ @keyframes shimmer{0% {background-position : -200% 0 }100% {background-position : 200% 0 }}
190+ .anim-up {animation : fadeUp .7s cubic-bezier (.4 , 0 , .2 , 1 ) both}
156191.anim-d1 {animation-delay : .1s }.anim-d2 {animation-delay : .2s }.anim-d3 {animation-delay : .3s }.anim-d4 {animation-delay : .4s }
157192
158193/* === BACK TO TOP === */
@@ -183,4 +218,5 @@ img{max-width:100%;display:block}
183218 .section {padding : 50px 0 }
184219 .btn {padding : 10px 22px ;font-size : .85rem }
185220 .nav-toggle {padding : 5px 8px ;font-size : .72rem }
221+ .section-eyebrow ::before {width : 16px }
186222}
0 commit comments