1313 --bg-hover : # 21262d ;
1414 --accent : # 58a6ff ;
1515 --accent-secondary : # f78166 ;
16+ --accent-gold : # fbbf24 ;
1617 --text-primary : # e6edf3 ;
1718 --text-secondary : # 8b949e ;
1819 --border : # 30363d ;
1920 --gradient-1 : # 7c3aed ;
2021 --gradient-2 : # 2563eb ;
22+ --seam-cyan : # 06b6d4 ;
23+ --seam-purple : # a855f7 ;
2124 }
2225
2326 * {
3336 line-height : 1.6 ;
3437 }
3538
36- /* Hero Section */
39+ /* Hero Section - Architectural Seam Engineering Banner */
3740 .hero {
38- background : linear-gradient (135deg , var ( --gradient-1 ) 0% , var ( --gradient-2 ) 100% );
39- padding : 80 px 20px ;
41+ background : linear-gradient (135deg , # 0a0a12 0% , # 0d1117 50 % , # 0f0a1a 100% );
42+ padding : 100 px 20px 80 px ;
4043 text-align : center;
4144 position : relative;
4245 overflow : hidden;
46+ min-height : 480px ;
4347 }
4448
49+ /* Animated seam grid background */
4550 .hero ::before {
4651 content : '' ;
4752 position : absolute;
4853 top : 0 ;
4954 left : 0 ;
5055 right : 0 ;
5156 bottom : 0 ;
52- background : url ("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" );
53- opacity : 0.5 ;
57+ background :
58+ linear-gradient (90deg , transparent 49% , rgba (6 , 182 , 212 , 0.08 ) 50% , transparent 51% ),
59+ linear-gradient (0deg , transparent 49% , rgba (168 , 85 , 247 , 0.06 ) 50% , transparent 51% );
60+ background-size : 80px 80px ;
61+ animation : seamPulse 8s ease-in-out infinite;
62+ }
63+
64+ /* Glowing seam lines */
65+ .hero ::after {
66+ content : '' ;
67+ position : absolute;
68+ top : 0 ;
69+ left : 0 ;
70+ right : 0 ;
71+ bottom : 0 ;
72+ background : url ("data:image/svg+xml,%3Csvg width='400' height='400' viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='seam1' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%2306b6d4' stop-opacity='0'/%3E%3Cstop offset='50%25' stop-color='%2306b6d4' stop-opacity='0.4'/%3E%3Cstop offset='100%25' stop-color='%2306b6d4' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='seam2' x1='100%25' y1='0%25' x2='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23a855f7' stop-opacity='0'/%3E%3Cstop offset='50%25' stop-color='%23a855f7' stop-opacity='0.3'/%3E%3Cstop offset='100%25' stop-color='%23a855f7' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 200 L100 150 L200 200 L300 100 L400 180' stroke='url(%23seam1)' stroke-width='2' fill='none'/%3E%3Cpath d='M0 100 L150 200 L250 120 L400 220' stroke='url(%23seam2)' stroke-width='1.5' fill='none'/%3E%3Cpath d='M50 0 L80 80 L160 100 L200 200 L180 300 L250 400' stroke='url(%23seam1)' stroke-width='1' fill='none'/%3E%3Ccircle cx='100' cy='150' r='4' fill='%2306b6d4' opacity='0.6'/%3E%3Ccircle cx='200' cy='200' r='5' fill='%23fbbf24' opacity='0.8'/%3E%3Ccircle cx='300' cy='100' r='4' fill='%23a855f7' opacity='0.6'/%3E%3Ccircle cx='250' cy='120' r='3' fill='%2306b6d4' opacity='0.5'/%3E%3Crect x='195' y='195' width='10' height='10' fill='none' stroke='%23fbbf24' stroke-width='1' opacity='0.6'/%3E%3C/svg%3E" );
73+ opacity : 0.7 ;
74+ animation : seamFloat 20s linear infinite;
75+ }
76+
77+ @keyframes seamPulse {
78+ 0% , 100% { opacity : 0.6 ; }
79+ 50% { opacity : 1 ; }
80+ }
81+
82+ @keyframes seamFloat {
83+ 0% { background-position : 0 0 ; }
84+ 100% { background-position : 400px 400px ; }
85+ }
86+
87+ /* Module boundary boxes */
88+ .seam-module {
89+ position : absolute;
90+ border : 1px solid;
91+ border-radius : 8px ;
92+ opacity : 0.15 ;
93+ animation : moduleGlow 4s ease-in-out infinite;
94+ }
95+
96+ .seam-module : nth-child (1 ) {
97+ width : 180px ;
98+ height : 120px ;
99+ top : 15% ;
100+ left : 8% ;
101+ border-color : var (--seam-cyan );
102+ animation-delay : 0s ;
103+ }
104+
105+ .seam-module : nth-child (2 ) {
106+ width : 140px ;
107+ height : 160px ;
108+ top : 55% ;
109+ left : 5% ;
110+ border-color : var (--seam-purple );
111+ animation-delay : 1s ;
112+ }
113+
114+ .seam-module : nth-child (3 ) {
115+ width : 200px ;
116+ height : 100px ;
117+ top : 20% ;
118+ right : 6% ;
119+ border-color : var (--accent-gold );
120+ animation-delay : 2s ;
121+ }
122+
123+ .seam-module : nth-child (4 ) {
124+ width : 160px ;
125+ height : 140px ;
126+ top : 60% ;
127+ right : 8% ;
128+ border-color : var (--seam-cyan );
129+ animation-delay : 1.5s ;
130+ }
131+
132+ @keyframes moduleGlow {
133+ 0% , 100% { opacity : 0.1 ; transform : scale (1 ); }
134+ 50% { opacity : 0.25 ; transform : scale (1.02 ); }
135+ }
136+
137+ /* Connection node points */
138+ .seam-node {
139+ position : absolute;
140+ width : 12px ;
141+ height : 12px ;
142+ border-radius : 50% ;
143+ background : radial-gradient (circle, var (--accent-gold ) 0% , transparent 70% );
144+ animation : nodeFlicker 3s ease-in-out infinite;
145+ }
146+
147+ .seam-node ::before {
148+ content : '' ;
149+ position : absolute;
150+ top : 50% ;
151+ left : 50% ;
152+ width : 4px ;
153+ height : 4px ;
154+ margin : -2px ;
155+ background : var (--accent-gold );
156+ border-radius : 50% ;
157+ }
158+
159+ .seam-node : nth-child (5 ) { top : 30% ; left : 20% ; animation-delay : 0.5s ; }
160+ .seam-node : nth-child (6 ) { top : 70% ; left : 15% ; animation-delay : 1.2s ; }
161+ .seam-node : nth-child (7 ) { top : 25% ; right : 18% ; animation-delay : 0.8s ; }
162+ .seam-node : nth-child (8 ) { top : 65% ; right : 22% ; animation-delay : 1.8s ; }
163+ .seam-node : nth-child (9 ) { top : 45% ; left : 35% ; animation-delay : 2.2s ; }
164+ .seam-node : nth-child (10 ) { top : 50% ; right : 30% ; animation-delay : 0.3s ; }
165+
166+ @keyframes nodeFlicker {
167+ 0% , 100% { opacity : 0.4 ; transform : scale (1 ); }
168+ 50% { opacity : 1 ; transform : scale (1.3 ); }
54169 }
55170
56171 .hero-content {
57172 position : relative;
58- z-index : 1 ;
59- max-width : 800 px ;
173+ z-index : 10 ;
174+ max-width : 900 px ;
60175 margin : 0 auto;
61176 }
62177
178+ .hero-tagline {
179+ font-size : 0.85rem ;
180+ text-transform : uppercase;
181+ letter-spacing : 0.25em ;
182+ color : var (--seam-cyan );
183+ margin-bottom : 12px ;
184+ font-weight : 500 ;
185+ }
186+
63187 .hero h1 {
64- font-size : 3.5 rem ;
188+ font-size : 4 rem ;
65189 font-weight : 800 ;
66- margin-bottom : 16 px ;
190+ margin-bottom : 8 px ;
67191 letter-spacing : -0.02em ;
192+ background : linear-gradient (135deg , # fff 0% , # e6edf3 50% , var (--seam-cyan ) 100% );
193+ -webkit-background-clip : text;
194+ -webkit-text-fill-color : transparent;
195+ background-clip : text;
196+ text-shadow : 0 0 80px rgba (6 , 182 , 212 , 0.3 );
197+ }
198+
199+ .hero-subtitle {
200+ font-size : 1.5rem ;
201+ font-weight : 300 ;
202+ color : var (--seam-purple );
203+ margin-bottom : 20px ;
204+ letter-spacing : 0.02em ;
68205 }
69206
70207 .hero p {
71- font-size : 1.25rem ;
72- opacity : 0.9 ;
73- max-width : 600px ;
74- margin : 0 auto 32px ;
208+ font-size : 1.1rem ;
209+ opacity : 0.85 ;
210+ max-width : 650px ;
211+ margin : 0 auto 36px ;
212+ line-height : 1.7 ;
75213 }
76214
77215 .hero-stats {
78216 display : flex;
79217 justify-content : center;
80- gap : 48px ;
81- margin-top : 32px ;
218+ gap : 60px ;
219+ margin-top : 40px ;
220+ padding-top : 30px ;
221+ border-top : 1px solid rgba (255 , 255 , 255 , 0.1 );
82222 }
83223
84224 .stat {
85225 text-align : center;
226+ position : relative;
227+ }
228+
229+ .stat ::after {
230+ content : '' ;
231+ position : absolute;
232+ bottom : -8px ;
233+ left : 50% ;
234+ transform : translateX (-50% );
235+ width : 40px ;
236+ height : 2px ;
237+ background : linear-gradient (90deg , transparent, var (--seam-cyan ), transparent);
86238 }
87239
88240 .stat-value {
89241 font-size : 2.5rem ;
90242 font-weight : 700 ;
243+ background : linear-gradient (180deg , # fff, var (--accent-gold ));
244+ -webkit-background-clip : text;
245+ -webkit-text-fill-color : transparent;
246+ background-clip : text;
91247 }
92248
93249 .stat-label {
94- font-size : 0.875 rem ;
95- opacity : 0.8 ;
250+ font-size : 0.8 rem ;
251+ opacity : 0.7 ;
96252 text-transform : uppercase;
97- letter-spacing : 0.05em ;
253+ letter-spacing : 0.08em ;
254+ margin-top : 4px ;
98255 }
99256
100257 /* Navigation */
284441
285442 /* Responsive */
286443 @media (max-width : 768px ) {
444+ .hero {
445+ padding : 60px 20px 50px ;
446+ min-height : auto;
447+ }
448+
287449 .hero h1 {
288450 font-size : 2.5rem ;
289451 }
290452
453+ .hero-subtitle {
454+ font-size : 1.1rem ;
455+ }
456+
457+ .hero-tagline {
458+ font-size : 0.75rem ;
459+ }
460+
461+ .hero p {
462+ font-size : 1rem ;
463+ }
464+
291465 .hero-stats {
292466 gap : 24px ;
467+ flex-wrap : wrap;
293468 }
294469
295470 .stat-value {
296- font-size : 2rem ;
471+ font-size : 1.8rem ;
472+ }
473+
474+ .seam-module ,
475+ .seam-node {
476+ display : none;
297477 }
298478
299479 .projects {
304484</ head >
305485< body >
306486 < section class ="hero ">
487+ <!-- Architectural seam module boundaries -->
488+ < div class ="seam-module "> </ div >
489+ < div class ="seam-module "> </ div >
490+ < div class ="seam-module "> </ div >
491+ < div class ="seam-module "> </ div >
492+ <!-- Connection nodes at seam intersections -->
493+ < div class ="seam-node "> </ div >
494+ < div class ="seam-node "> </ div >
495+ < div class ="seam-node "> </ div >
496+ < div class ="seam-node "> </ div >
497+ < div class ="seam-node "> </ div >
498+ < div class ="seam-node "> </ div >
499+
307500 < div class ="hero-content ">
501+ < div class ="hero-tagline "> Architectural Seam Engineering</ div >
308502 < h1 > Hyperpolymath</ h1 >
309- < p > Open source projects spanning programming languages, developer tools, AI integrations, and infrastructure</ p >
503+ < div class ="hero-subtitle "> Where Boundaries Become Features</ div >
504+ < p > Building software where module interfaces, system boundaries, and integration points are first-class architectural artifacts — documented, checkable, and evolvable.</ p >
310505 < div class ="hero-stats ">
311506 < div class ="stat ">
312507 < div class ="stat-value "> 60+</ div >
@@ -317,8 +512,8 @@ <h1>Hyperpolymath</h1>
317512 < div class ="stat-label "> Languages</ div >
318513 </ div >
319514 < div class ="stat ">
320- < div class ="stat-value "> AGPL </ div >
321- < div class ="stat-label "> Licensed </ div >
515+ < div class ="stat-value "> MPL-2.0 </ div >
516+ < div class ="stat-label "> + Palimpsest </ div >
322517 </ div >
323518 </ div >
324519 </ div >
@@ -832,7 +1027,7 @@ <h2>Standards & Frameworks</h2>
8321027 < a href ="https://bitbucket.org/hyperpolymath "> Bitbucket</ a >
8331028 </ p >
8341029 < p style ="margin-top: 12px; font-size: 0.875rem; ">
835- All projects licensed under AGPL-3.0-or-later unless otherwise noted
1030+ All projects licensed under < a href =" https://opensource.org/license/mpl-2-0 " > MPL-2.0 </ a > + < a href =" https://github.com/hyperpolymath/palimpsest-license " > Palimpsest </ a > unless otherwise noted
8361031 </ p >
8371032 </ footer >
8381033</ body >
0 commit comments