@@ -53,65 +53,70 @@ const GetInTouchSection = () => {
5353
5454 return (
5555 < section className = "px-6 pt-2 pb-12" >
56- < div className = "max-w-6xl mx-auto" >
57- < div className = "backdrop-blur-xl bg-white/10 rounded-3xl border border-white/20 p-8 shadow-2xl " >
56+ < div className = "max-w-4xl mx-auto" >
57+ < div className = "bg-stone-900 rounded-2xl border border-stone-800 p-8" >
5858 < div className = "grid grid-cols-1 lg:grid-cols-2 gap-10" >
5959 { /* Form side */ }
6060 < div >
61- < h2 className = "text-3xl font-bold bg-gradient-to-r from-white to-cyan-400 bg-clip-text text-transparent mb-2 " >
61+ < h2 className = "text-2xl font-bold text-stone-100 mb-1.5 tracking-tight " >
6262 Get in Touch
6363 </ h2 >
64- { /* mailto notice */ }
65- < p className = "text-slate-400 text-sm mb-6 flex items-center gap-1.5" >
66- < ExternalLink size = { 13 } className = "shrink-0 text-slate-500" />
64+ < p className = "text-stone-500 text-sm mb-6 flex items-center gap-1.5" >
65+ < ExternalLink size = { 12 } className = "shrink-0" />
6766 Clicking "Send" will open your default email client with the form pre-filled.
6867 </ p >
6968
70- < form onSubmit = { handleSubmit } className = "space-y-5 " >
71- < div className = "grid grid-cols-1 sm:grid-cols-2 gap-4 " >
69+ < form onSubmit = { handleSubmit } className = "space-y-4 " >
70+ < div className = "grid grid-cols-1 sm:grid-cols-2 gap-3 " >
7271 < div >
73- < label className = "block text-slate-300 text-sm mb-1.5 font-medium" > Name < span className = "text-red-400" > *</ span > </ label >
72+ < label className = "block text-stone-400 text-sm mb-1.5 font-medium" >
73+ Name < span className = "text-red-500" > *</ span >
74+ </ label >
7475 < Input
7576 placeholder = "Your name"
7677 value = { form . name }
7778 onChange = { ( e ) => setForm ( { ...form , name : e . target . value } ) }
78- className = "bg-slate -800/60 border-white/10 text-white placeholder:text-slate-500 focus-visible:ring-cyan-500/50 "
79+ className = "bg-stone -800 border-stone-700 text-stone-100 placeholder:text-stone-600 focus-visible:ring-[#cf6b47]/40 focus-visible:border-stone-600 "
7980 />
8081 </ div >
8182 < div >
82- < label className = "block text-slate-300 text-sm mb-1.5 font-medium" > Company</ label >
83+ < label className = "block text-stone-400 text-sm mb-1.5 font-medium" > Company</ label >
8384 < Input
8485 placeholder = "Company (optional)"
8586 value = { form . company }
8687 onChange = { ( e ) => setForm ( { ...form , company : e . target . value } ) }
87- className = "bg-slate -800/60 border-white/10 text-white placeholder:text-slate-500 focus-visible:ring-cyan-500/50 "
88+ className = "bg-stone -800 border-stone-700 text-stone-100 placeholder:text-stone-600 focus-visible:ring-[#cf6b47]/40 focus-visible:border-stone-600 "
8889 />
8990 </ div >
9091 </ div >
9192 < div >
92- < label className = "block text-slate-300 text-sm mb-1.5 font-medium" > Email < span className = "text-red-400" > *</ span > </ label >
93+ < label className = "block text-stone-400 text-sm mb-1.5 font-medium" >
94+ Email < span className = "text-red-500" > *</ span >
95+ </ label >
9396 < Input
9497 type = "email"
9598 placeholder = "you@example.com"
9699 value = { form . email }
97100 onChange = { ( e ) => setForm ( { ...form , email : e . target . value } ) }
98- className = "bg-slate -800/60 border-white/10 text-white placeholder:text-slate-500 focus-visible:ring-cyan-500/50 "
101+ className = "bg-stone -800 border-stone-700 text-stone-100 placeholder:text-stone-600 focus-visible:ring-[#cf6b47]/40 focus-visible:border-stone-600 "
99102 />
100103 </ div >
101104 < div >
102- < label className = "block text-slate-300 text-sm mb-1.5 font-medium" > Message < span className = "text-red-400" > *</ span > </ label >
105+ < label className = "block text-stone-400 text-sm mb-1.5 font-medium" >
106+ Message < span className = "text-red-500" > *</ span >
107+ </ label >
103108 < Textarea
104109 placeholder = "Tell me about your needs and how I can help..."
105110 rows = { 5 }
106111 value = { form . message }
107112 onChange = { ( e ) => setForm ( { ...form , message : e . target . value } ) }
108- className = "bg-slate -800/60 border-white/10 text-white placeholder:text-slate-500 focus-visible:ring-cyan-500/50 resize-none"
113+ className = "bg-stone -800 border-stone-700 text-stone-100 placeholder:text-stone-600 focus-visible:ring-[#cf6b47]/40 focus-visible:border-stone-600 resize-none"
109114 />
110115 </ div >
111116 < Button
112117 type = "submit"
113118 disabled = { submitting }
114- className = "bg-cyan-600 /20 hover:bg-cyan-600 /30 text-cyan-300 border border-cyan-500 /30 rounded-xl px-6 transition-all duration-200 hover:scale-[1.02] "
119+ className = "bg-[#cf6b47] /20 hover:bg-[#cf6b47] /30 text-[#cf6b47] border border-[#cf6b47] /30 hover:border-[#cf6b47]/50 rounded-xl px-5 transition-all duration-150 "
115120 >
116121 { submitting ? "Opening email client…" : "Send Message" }
117122 </ Button >
@@ -121,36 +126,44 @@ const GetInTouchSection = () => {
121126 { /* Contact info side */ }
122127 < div className = "space-y-6" >
123128 < div >
124- < h3 className = "text-2xl font-semibold text-white mb-2" > Let's Start a Conversation</ h3 >
125- < p className = "text-slate-400 text-sm" >
129+ < h3 className = "text-xl font-semibold text-stone-100 mb-2" > Let's Start a Conversation</ h3 >
130+ < p className = "text-stone-500 text-sm" >
126131 Happy to connect about opportunities, collaboration, or any interesting ideas.
127132 </ p >
128133 </ div >
129- < div className = "space-y-3 " >
134+ < div className = "space-y-2.5 " >
130135 { [
131136 {
132- icon : < Mail className = "text-cyan-400" /> ,
133- bg : "bg-cyan-600/20" ,
137+ icon : < Mail size = { 16 } className = "text-stone-400" /> ,
134138 label : "Email" ,
135- content : < a href = "mailto:baoyifei@bu.edu" className = "text-white hover:text-cyan-300 transition-colors text-sm" > baoyifei@bu.edu</ a > ,
139+ content : (
140+ < a href = "mailto:baoyifei@bu.edu" className = "text-stone-300 hover:text-stone-100 transition-colors text-sm" >
141+ baoyifei@bu.edu
142+ </ a >
143+ ) ,
136144 } ,
137145 {
138- icon : < Phone className = "text-emerald-400" /> ,
139- bg : "bg-emerald-600/20" ,
146+ icon : < Phone size = { 16 } className = "text-stone-400" /> ,
140147 label : "Phone" ,
141- content : < a href = "tel:+18573403064" className = "text-white hover:text-emerald-300 transition-colors text-sm" > +1 857 340 3064</ a > ,
148+ content : (
149+ < a href = "tel:+18573403064" className = "text-stone-300 hover:text-stone-100 transition-colors text-sm" >
150+ +1 857 340 3064
151+ </ a >
152+ ) ,
142153 } ,
143154 {
144- icon : < MapPin className = "text-blue-400" /> ,
145- bg : "bg-blue-600/20" ,
155+ icon : < MapPin size = { 16 } className = "text-stone-400" /> ,
146156 label : "Location" ,
147- content : < span className = "text-white text-sm" > Boston, MA</ span > ,
157+ content : < span className = "text-stone-300 text-sm" > Boston, MA</ span > ,
148158 } ,
149- ] . map ( ( { icon, bg, label, content } ) => (
150- < div key = { label } className = "flex items-center gap-4 p-4 rounded-xl bg-white/5 border border-white/10 hover:border-white/20 transition-all duration-200" >
151- < div className = { `p-2.5 rounded-lg ${ bg } shrink-0` } > { icon } </ div >
159+ ] . map ( ( { icon, label, content } ) => (
160+ < div
161+ key = { label }
162+ className = "flex items-center gap-3.5 p-3.5 rounded-xl bg-stone-800/60 border border-stone-700/60 hover:border-stone-700 transition-all duration-150"
163+ >
164+ < div className = "shrink-0" > { icon } </ div >
152165 < div >
153- < div className = "text-slate-500 text-xs mb-0.5" > { label } </ div >
166+ < div className = "text-stone-600 text-xs mb-0.5" > { label } </ div >
154167 { content }
155168 </ div >
156169 </ div >
0 commit comments