@@ -124,23 +124,34 @@ nav.visible {
124124 padding : 4px 0 ;
125125}
126126
127- .nav-links a ::after {
127+ .nav-links a : hover {
128+ color : var (--black );
129+ }
130+
131+ /* Shared link underline treatment */
132+ .link-underline {
133+ position : relative;
134+ display : inline-block;
135+ padding-bottom : 2px ;
136+ }
137+
138+ .link-underline ::after {
128139 content : '' ;
129140 position : absolute;
130- bottom : 0 ;
131141 left : 0 ;
132- width : 0 ;
142+ bottom : 0 ;
143+ width : 100% ;
133144 height : 1px ;
134- background : var (--black );
135- transition : width 0.3s var (--ease-out-expo );
145+ background : currentColor;
146+ transform : scaleX (0 );
147+ transform-origin : left;
148+ opacity : 0.5 ;
149+ transition : transform 0.3s var (--ease-out-expo ), opacity 0.3s var (--ease-out-expo );
136150}
137151
138- .nav-links a : hover {
139- color : var (--black );
140- }
141-
142- .nav-links a : hover ::after {
143- width : 100% ;
152+ .link-underline : hover ::after {
153+ transform : scaleX (1 );
154+ opacity : 1 ;
144155}
145156
146157/* Hero Section - Clean, minimal */
@@ -152,7 +163,10 @@ nav.visible {
152163 align-items : center;
153164 position : relative;
154165 overflow : hidden;
155- background : var (--white );
166+ background :
167+ radial-gradient (1200px 600px at 15% -10% , rgba (22 , 163 , 74 , 0.08 ), transparent 60% ),
168+ radial-gradient (900px 500px at 90% 5% , rgba (16 , 185 , 129 , 0.07 ), transparent 55% ),
169+ var (--white );
156170}
157171
158172.hero-bg {
@@ -161,6 +175,31 @@ nav.visible {
161175 overflow : hidden;
162176}
163177
178+ .hero-bg ::before {
179+ content : '' ;
180+ position : absolute;
181+ inset : -20% ;
182+ background : radial-gradient (600px 400px at 50% 20% , rgba (15 , 118 , 110 , 0.08 ), transparent 60% );
183+ opacity : 0.7 ;
184+ pointer-events : none;
185+ }
186+
187+ .hero-bg ::after {
188+ content : '' ;
189+ position : absolute;
190+ inset : 0 ;
191+ background-image : radial-gradient (circle at 1px 1px , rgba (17 , 17 , 17 , 0.04 ) 1px , transparent 0 );
192+ background-size : 3px 3px ;
193+ opacity : 0.12 ;
194+ pointer-events : none;
195+ }
196+
197+ .hero-bg canvas {
198+ position : relative;
199+ z-index : 1 ;
200+ display : block;
201+ }
202+
164203.hero-bg svg {
165204 width : 100% ;
166205 height : 100% ;
@@ -192,9 +231,10 @@ nav.visible {
192231
193232.hero-sub {
194233 font-family : var (--font-mono );
195- font-size : clamp (0.9rem , 2vw , 1.1rem );
234+ font-size : clamp (1rem , 2.2vw , 1.25rem );
235+ font-weight : 500 ;
196236 color : var (--gray-500 );
197- letter-spacing : 0.15 em ;
237+ letter-spacing : 0.08 em ;
198238 text-transform : uppercase;
199239 margin-bottom : 48px ;
200240}
@@ -213,13 +253,11 @@ nav.visible {
213253 letter-spacing : 0.1em ;
214254 text-transform : uppercase;
215255 padding : 12px 0 ;
216- border-bottom : 1px solid transparent;
217- transition : all 0.3s ;
256+ transition : color 0.3s var (--ease-out-expo );
218257}
219258
220259.hero-affiliations a : hover {
221260 color : var (--black );
222- border-color : var (--accent-green );
223261}
224262
225263.scroll-hint {
@@ -336,7 +374,7 @@ section {
336374 display : grid;
337375 grid-template-columns : 240px 1fr ;
338376 gap : calc (var (--space-unit ) * 6 );
339- padding : calc (var (--space-unit ) * 5 );
377+ padding : calc (var (--space-unit ) * 6 );
340378 background : var (--white );
341379 border : 1px solid var (--gray-200 );
342380 border-radius : 8px ;
@@ -347,7 +385,8 @@ section {
347385 width : 240px ;
348386 height : 300px ;
349387 object-fit : cover;
350- border-radius : 4px ;
388+ border-radius : 12px ;
389+ border : 1px solid var (--gray-200 );
351390 filter : grayscale (20% );
352391 transition : filter 0.4s ease;
353392}
@@ -423,14 +462,15 @@ section {
423462}
424463
425464.member-photo {
426- width : 100px ;
427- height : 100px ;
428- border-radius : 50% ;
465+ width : 120px ;
466+ height : 150px ;
467+ aspect-ratio : 4 / 5 ;
468+ border-radius : 12px ;
429469 object-fit : cover;
430470 margin : 0 auto calc (var (--space-unit ) * 1.5 );
431471 filter : grayscale (30% );
432472 transition : all 0.3s ease;
433- border : 2 px solid var (--gray-200 );
473+ border : 1 px solid var (--gray-200 );
434474}
435475
436476.member : hover .member-photo {
@@ -442,7 +482,7 @@ section {
442482.member-name {
443483 font-size : 0.9rem ;
444484 font-weight : 500 ;
445- margin-bottom : 2 px ;
485+ margin-bottom : 4 px ;
446486}
447487
448488.member-role {
@@ -466,14 +506,11 @@ section {
466506 font-family : var (--font-mono );
467507 font-size : 0.8rem ;
468508 color : var (--gray-500 );
469- padding-bottom : 2px ;
470- border-bottom : 1px solid var (--gray-300 );
471509 transition : all 0.2s ease;
472510}
473511
474512.pub-header a : hover {
475513 color : var (--black );
476- border-color : var (--black );
477514}
478515
479516.pub-list {
@@ -724,7 +761,7 @@ section {
724761# contact {
725762 background : var (--white );
726763 text-align : center;
727- padding : calc (var (--space-unit ) * 16 ) calc (var (--space-unit ) * 4 );
764+ padding : calc (var (--space-unit ) * 12 ) calc (var (--space-unit ) * 4 );
728765}
729766
730767# contact h2 {
@@ -737,7 +774,7 @@ section {
737774# contact > .section-inner > p {
738775 font-size : 1.1rem ;
739776 color : var (--gray-600 );
740- margin-bottom : calc (var (--space-unit ) * 5 );
777+ margin-bottom : calc (var (--space-unit ) * 6 );
741778 max-width : 500px ;
742779 margin-left : auto;
743780 margin-right : auto;
@@ -844,6 +881,10 @@ footer {
844881 padding : calc (var (--space-unit ) * 8 ) calc (var (--space-unit ) * 3 );
845882 }
846883
884+ # contact {
885+ padding : calc (var (--space-unit ) * 8 ) calc (var (--space-unit ) * 3 );
886+ }
887+
847888 .nav-inner {
848889 padding : 0 calc (var (--space-unit ) * 3 );
849890 }
@@ -863,7 +904,7 @@ footer {
863904
864905 .pi-photo {
865906 width : 180px ;
866- height : 220 px ;
907+ height : 225 px ;
867908 margin : 0 auto;
868909 }
869910
@@ -905,8 +946,8 @@ footer {
905946 }
906947
907948 .member-photo {
908- width : 70 px ;
909- height : 70 px ;
949+ width : 84 px ;
950+ height : 105 px ;
910951 }
911952
912953 .member-name {
0 commit comments