@@ -121,103 +121,92 @@ export function Home() {
121121 < Learn />
122122 </ motion . div >
123123
124- { /* PhD Recruitment Card */ }
124+ { /* Prospective Students Section */ }
125125 < motion . div
126- className = "phd-recruitment-section "
127- variants = { fadeUp }
126+ className = "home-content "
127+ variants = { staggerContainer }
128128 initial = "hidden"
129129 whileInView = "visible"
130- viewport = { { once : true } }
130+ viewport = { { once : true , amount : 0.2 } }
131131 >
132- < div className = "phd-recruitment-card" >
133- < div className = "phd-recruitment-content" >
134- < div className = "phd-recruitment-header" >
135- < div className = "phd-title-group" >
136- < Title order = { 2 } className = "phd-main-title" > 🎓 PhD Students for Fall 2026</ Title >
137- < span className = "phd-badge" > Now Recruiting</ span >
138- </ div >
139- </ div >
140- < Text className = "phd-recruitment-description" >
141- Apply to one of these three PhD programs to join our lab and work on cutting-edge research in NeuroAI, vision, and computational neuroscience.
132+ < motion . div variants = { fadeUp } >
133+ < Title order = { 2 } className = "section-title" >
134+ Prospective Students
135+ </ Title >
136+ </ motion . div >
137+
138+ < motion . div variants = { fadeUp } className = "student-cards-container" >
139+ < div className = "student-card" onClick = { ( ) => setShowUndergradDetails ( ! showUndergradDetails ) } style = { { cursor : "pointer" } } >
140+ < Title order = { 3 } className = "student-card-title" > 🎓 Undergraduate & MSc Students </ Title >
141+ < Text className = "student-card-text" >
142+ Brown undergrad and MSc students interested in research
143+ should email Prof. Serre with a transcript and resume/CV.
144+ </ Text >
145+ { showUndergradDetails && (
146+ < >
147+ < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
148+ < strong > Requirements:</ strong >
149+ </ Text >
150+ < ul className = "student-requirements" >
151+ < li > CS intro sequence</ li >
152+ < li > At least one ML, vision, or deep learning course</ li >
153+ < li > Strongly encouraged: CPSY 1291 or CPSY 1950 with Prof. Serre</ li >
154+ < li > Familiarity with our research and ability to articulate a specific project interest</ li >
155+ </ ul >
156+ </ >
157+ ) }
158+ < Text className = "student-card-expand" >
159+ { showUndergradDetails ? "Click to show less ▲" : "Click to see requirements ▼" }
142160 </ Text >
143- < div className = "phd-bottom-row" >
144- < div className = "phd-info-stats" >
145- < a
146- href = "https://graduateprograms.brown.edu/graduate-program/cognitive-science-phd"
147- target = "_blank"
148- rel = "noopener noreferrer"
149- className = "phd-stat-item phd-stat-link"
150- onClick = { ( e ) => {
151- e . stopPropagation ( ) ;
152- if ( typeof window !== 'undefined' && ( window as any ) . gtag ) {
153- ( window as any ) . gtag ( 'event' , 'click' , {
154- 'event_category' : 'recruitment' ,
155- 'event_label' : 'phd_cognitive_science_link' ,
156- 'value' : 1
157- } ) ;
158- }
159- } }
160- >
161- < span className = "phd-stat-text" > Cognitive Science</ span >
162- </ a >
163- < a
164- href = "https://graduateprograms.brown.edu/graduate-program/computer-science-phd"
165- target = "_blank"
166- rel = "noopener noreferrer"
167- className = "phd-stat-item phd-stat-link"
168- onClick = { ( e ) => {
169- e . stopPropagation ( ) ;
170- if ( typeof window !== 'undefined' && ( window as any ) . gtag ) {
171- ( window as any ) . gtag ( 'event' , 'click' , {
172- 'event_category' : 'recruitment' ,
173- 'event_label' : 'phd_computer_science_link' ,
174- 'value' : 1
175- } ) ;
176- }
177- } }
178- >
179- < span className = "phd-stat-text" > Computer Science</ span >
180- </ a >
181- < a
182- href = "https://graduateprograms.brown.edu/graduate-program/biomed-neuroscience-phd"
183- target = "_blank"
184- rel = "noopener noreferrer"
185- className = "phd-stat-item phd-stat-link"
186- onClick = { ( e ) => {
187- e . stopPropagation ( ) ;
188- if ( typeof window !== 'undefined' && ( window as any ) . gtag ) {
189- ( window as any ) . gtag ( 'event' , 'click' , {
190- 'event_category' : 'recruitment' ,
191- 'event_label' : 'phd_neuroscience_link' ,
192- 'value' : 1
193- } ) ;
194- }
195- } }
196- >
197- < span className = "phd-stat-text" > Neuroscience</ span >
198- </ a >
199- </ div >
200- < button
201- className = "phd-learn-more-button"
202- onClick = { ( ) => {
203- const phdSection = document . querySelector ( '.student-card' ) as HTMLElement ;
204- if ( phdSection ) {
205- phdSection . scrollIntoView ( { behavior : 'smooth' , block : 'center' } ) ;
206- phdSection . style . transition = 'all 0.3s ease' ;
207- phdSection . style . transform = 'scale(1.02)' ;
208- phdSection . style . boxShadow = '0 8px 24px rgba(52, 152, 219, 0.3)' ;
209- setTimeout ( ( ) => {
210- phdSection . style . transform = '' ;
211- phdSection . style . boxShadow = '' ;
212- } , 1000 ) ;
213- }
214- } }
215- >
216- Learn More →
217- </ button >
218- </ div >
219161 </ div >
220- </ div >
162+
163+ < div className = "student-card" onClick = { ( ) => setShowPhdDetails ( ! showPhdDetails ) } style = { { cursor : "pointer" } } >
164+ < Title order = { 3 } className = "student-card-title" > 📚 PhD Students</ Title >
165+ < Text className = "student-card-text" >
166+ PhD applicants can apply through cognitive science, computer science, or neuroscience
167+ graduate programs.
168+ </ Text >
169+ { showPhdDetails && (
170+ < >
171+ < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
172+ < strong > Requirements:</ strong >
173+ </ Text >
174+ < ul className = "student-requirements" >
175+ < li > Strong quantitative skills including math and programming</ li >
176+ < li > Prior work in vision (required)</ li >
177+ < li > Prior experience in brain and cognitive science (a plus but not required)</ li >
178+ </ ul >
179+ < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
180+ Due to the large volume of applicants, Prof. Serre can only meet with applicants after they have been invited for an interview.
181+ </ Text >
182+ </ >
183+ ) }
184+ < Text className = "student-card-expand" >
185+ { showPhdDetails ? "Click to show less ▲" : "Click to see requirements ▼" }
186+ </ Text >
187+ </ div >
188+
189+ < div className = "student-card" onClick = { ( ) => setShowPostdocDetails ( ! showPostdocDetails ) } style = { { cursor : "pointer" } } >
190+ < Title order = { 3 } className = "student-card-title" > 🔬 Postdoctoral Researchers</ Title >
191+ < Text className = "student-card-text" >
192+ Prospective postdocs should email Prof. Serre directly with their CV, research statement, and references.
193+ </ Text >
194+ { showPostdocDetails && (
195+ < >
196+ < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
197+ < strong > Requirements:</ strong >
198+ </ Text >
199+ < ul className = "student-requirements" >
200+ < li > Graduate training in computational neuroscience or AI</ li >
201+ < li > Strong track record publishing at top venues including NeurIPS, ICML, ICLR, and/or CVPR</ li >
202+ </ ul >
203+ </ >
204+ ) }
205+ < Text className = "student-card-expand" >
206+ { showPostdocDetails ? "Click to show less ▲" : "Click to see requirements ▼" }
207+ </ Text >
208+ </ div >
209+ </ motion . div >
221210 </ motion . div >
222211
223212 { /* Featured Projects Section */ }
@@ -455,85 +444,6 @@ export function Home() {
455444 </ Text >
456445 </ motion . div >
457446
458- < motion . div variants = { fadeUp } >
459- < Title order = { 2 } className = "section-title" >
460- Prospective Students
461- </ Title >
462- </ motion . div >
463-
464- < motion . div variants = { fadeUp } className = "student-cards-container" >
465- < div className = "student-card" onClick = { ( ) => setShowUndergradDetails ( ! showUndergradDetails ) } style = { { cursor : "pointer" } } >
466- < Title order = { 3 } className = "student-card-title" > 🎓 Undergraduate & MSc Students </ Title >
467- < Text className = "student-card-text" >
468- Brown undergrad and MSc students interested in research
469- should email Prof. Serre with a transcript and resume/CV.
470- </ Text >
471- { showUndergradDetails && (
472- < >
473- < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
474- < strong > Requirements:</ strong >
475- </ Text >
476- < ul className = "student-requirements" >
477- < li > CS intro sequence</ li >
478- < li > At least one ML, vision, or deep learning course</ li >
479- < li > Strongly encouraged: CPSY 1291 or CPSY 1950 with Prof. Serre</ li >
480- < li > Familiarity with our research and ability to articulate a specific project interest</ li >
481- </ ul >
482- </ >
483- ) }
484- < Text className = "student-card-expand" >
485- { showUndergradDetails ? "Click to show less ▲" : "Click to see requirements ▼" }
486- </ Text >
487- </ div >
488-
489- < div className = "student-card" onClick = { ( ) => setShowPhdDetails ( ! showPhdDetails ) } style = { { cursor : "pointer" } } >
490- < Title order = { 3 } className = "student-card-title" > 📚 PhD Students</ Title >
491- < Text className = "student-card-text" >
492- PhD applicants can apply through cognitive science, computer science, or neuroscience
493- graduate programs.
494- </ Text >
495- { showPhdDetails && (
496- < >
497- < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
498- < strong > Requirements:</ strong >
499- </ Text >
500- < ul className = "student-requirements" >
501- < li > Strong quantitative skills including math and programming</ li >
502- < li > Prior work in vision (required)</ li >
503- < li > Prior experience in brain and cognitive science (a plus but not required)</ li >
504- </ ul >
505- < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
506- Due to the large volume of applicants, Prof. Serre can only meet with applicants after they have been invited for an interview.
507- </ Text >
508- </ >
509- ) }
510- < Text className = "student-card-expand" >
511- { showPhdDetails ? "Click to show less ▲" : "Click to see requirements ▼" }
512- </ Text >
513- </ div >
514-
515- < div className = "student-card" onClick = { ( ) => setShowPostdocDetails ( ! showPostdocDetails ) } style = { { cursor : "pointer" } } >
516- < Title order = { 3 } className = "student-card-title" > 🔬 Postdoctoral Researchers</ Title >
517- < Text className = "student-card-text" >
518- Prospective postdocs should email Prof. Serre directly with their CV, research statement, and references.
519- </ Text >
520- { showPostdocDetails && (
521- < >
522- < Text className = "student-card-text" style = { { marginTop : "0.5rem" } } >
523- < strong > Requirements:</ strong >
524- </ Text >
525- < ul className = "student-requirements" >
526- < li > Graduate training in computational neuroscience or AI</ li >
527- < li > Strong track record publishing at top venues including NeurIPS, ICML, ICLR, and/or CVPR</ li >
528- </ ul >
529- </ >
530- ) }
531- < Text className = "student-card-expand" >
532- { showPostdocDetails ? "Click to show less ▲" : "Click to see requirements ▼" }
533- </ Text >
534- </ div >
535- </ motion . div >
536-
537447 { /* Funding Section */ }
538448 < motion . div variants = { fadeUp } >
539449 < Title order = { 2 } className = "section-title" style = { { marginTop : "2rem" } } >
0 commit comments