@@ -62,13 +62,12 @@ const bounceAnimation = {
6262 } ,
6363} ;
6464
65- // 배경 그라데이션 애니메이션 추가
6665const backgroundVariants = {
6766 initial : {
68- background : "linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%)" ,
67+ background : "linear-gradient(135deg, #2B3A67 0%, #1E2B4D 100%)" ,
6968 } ,
7069 animate : {
71- background : "linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%)" ,
70+ background : "linear-gradient(135deg, #2B3A67 0%, #1E2B4D 100%)" ,
7271 transition : {
7372 duration : 20 ,
7473 repeat : Infinity ,
@@ -167,7 +166,7 @@ export default function LandingPage() {
167166 animate = "animate"
168167 exit = { { opacity : 0 } }
169168 ref = { containerRef }
170- className = "relative h-[400vh] min-h-[768px] overflow-hidden bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 "
169+ className = "relative h-[400vh] min-h-[768px] overflow-hidden"
171170 >
172171 < motion . div
173172 className = { `fixed inset-0 ${ isLargeScreen ? "flex" : "flex flex-col" } ` }
@@ -176,7 +175,6 @@ export default function LandingPage() {
176175 WebkitBackdropFilter : "blur(16px)" ,
177176 } }
178177 >
179- { /* Hero Section */ }
180178 < motion . div
181179 className = { `relative ${ isLargeScreen ? "w-1/2" : "h-1/2 w-full" } ` }
182180 animate = { {
@@ -197,9 +195,16 @@ export default function LandingPage() {
197195 initial = { { y : 30 , opacity : 0 } }
198196 animate = { { y : 0 , opacity : 1 } }
199197 transition = { { delay : 0.4 , duration : 0.8 } }
200- className = "md:h-400 md:w-400 h-200 w-200 relative "
198+ className = "relative h-[300px] w-[300px] md:h-[400px] md:w-[400px] "
201199 >
202- < Image src = "/brand.png" alt = "Brand Logo" className = "" priority width = { 800 } height = { 800 } />
200+ < Image
201+ src = "/brand.png"
202+ alt = "Brand Logo"
203+ className = "drop-shadow-2xl"
204+ priority
205+ fill
206+ style = { { objectFit : "contain" } }
207+ />
203208 </ motion . div >
204209 </ div >
205210 ) : (
@@ -210,40 +215,42 @@ export default function LandingPage() {
210215 animate = { { opacity : 1 } }
211216 exit = { { opacity : 0 } }
212217 >
213- < div className = "relative h-full w-full overflow-hidden rounded-3xl bg-gradient-to-br from-[#1e3c72] to-[#2a5298] p-8 shadow-[0_8px_32px_rgba(0,0,0,0.3)]" >
218+ < div className = "group relative h-full w-full overflow-hidden rounded-3xl bg-gradient-to-br from-blue-900 to-blue-700 p-8 shadow-[0_8px_32px_rgba(0,0,0,0.3)] transition-all duration-500" >
219+ < div className = "absolute inset-0 bg-gradient-to-br from-blue-600/30 to-transparent opacity-0 transition-opacity duration-500 group-hover:opacity-100" />
214220 < Image
215221 src = { slides [ currentSlide ] . image }
216222 alt = { slides [ currentSlide ] . title }
217223 fill
218- className = "object-contain p-6 transition-all duration-700 ease-out hover:scale-105 hover:brightness-110"
224+ className = "object-contain p-6 transition-all duration-700 ease-out group- hover:scale-105 group- hover:brightness-110"
219225 sizes = "(max-width: 768px) 100vw, 50vw"
220226 />
221227 </ div >
222228 </ motion . div >
223229 ) }
224230 </ motion . div >
225231
226- { /* 스크롤 인디케이터 개선 */ }
227232 { currentSlide === 0 && (
228233 < motion . div
229234 className = "absolute bottom-5 left-0 right-0 flex flex-col items-center"
230235 animate = { bounceAnimation }
231236 >
232- < div className = "flex flex-col items-center space-y-1 rounded-full p-5 backdrop-blur-lg transition-all duration-300 hover:bg-white/10" >
233- < IoIosArrowDown className = "text-4xl text-primary-orange-300" />
234- < span className = "text-sm font-medium tracking-wide text-primary-orange-300" > scroll</ span >
235- </ div >
237+ < motion . div
238+ className = "flex flex-col items-center space-y-1 rounded-full bg-white/5 p-5 backdrop-blur-lg transition-all duration-300 hover:bg-white/15"
239+ whileHover = { { scale : 1.1 } }
240+ >
241+ < IoIosArrowDown className = "text-4xl text-orange-400" />
242+ < span className = "text-sm font-medium tracking-wide text-orange-400" > scroll</ span >
243+ </ motion . div >
236244 </ motion . div >
237245 ) }
238246 </ motion . div >
239247
240- { /* Content Section */ }
241248 < AnimatePresence mode = "wait" >
242249 { currentSlide > 0 && (
243250 < motion . div
244251 className = { `relative z-40 flex ${ isLargeScreen ? "w-1/2" : "h-1/2 w-full" } ` }
245252 style = { {
246- background : "linear-gradient(135deg, #66d06b 0%, #56c45d 100%)" ,
253+ background : "linear-gradient(135deg, #4CAF50 0%, #45A049 100%)" ,
247254 } }
248255 initial = { { width : 0 } }
249256 animate = { { width : isLargeScreen ? "50%" : "100%" } }
@@ -257,10 +264,10 @@ export default function LandingPage() {
257264 exit = { { opacity : 0 , y : - 20 } }
258265 transition = { { duration : 0.6 } }
259266 >
260- < h2 className = "text-center font-sans text-4xl font-bold tracking-tight text-white drop-shadow-[0_2px_4px_rgba(0,0,0,0.2)] md:text-5xl" >
267+ < h2 className = "text-center font-sans text-4xl font-bold tracking-tight text-white drop-shadow-lg md:text-5xl" >
261268 { slides [ currentSlide ] . title }
262269 </ h2 >
263- < p className = "max-w-2xl text-center font-sans text-xl leading-relaxed text-white/95 drop-shadow-[0_1px_2px_rgba(0,0,0,0.1)] md:text-2xl" >
270+ < p className = "max-w-2xl text-center font-sans text-xl leading-relaxed text-white/95 drop-shadow-md md:text-2xl" >
264271 < TypewriterText text = { slides [ currentSlide ] . content } />
265272 </ p >
266273 </ motion . div >
@@ -269,7 +276,6 @@ export default function LandingPage() {
269276 </ AnimatePresence >
270277 </ motion . div >
271278
272- { /* Navigation Dots 개선 */ }
273279 < motion . div
274280 className = { `fixed ${
275281 isLargeScreen
@@ -279,13 +285,16 @@ export default function LandingPage() {
279285 >
280286 { slides . slice ( 1 ) . map ( ( _ , index ) => (
281287 < motion . div key = { index + 1 } className = "group relative h-3 w-3" whileHover = { { scale : 1.2 } } >
282- < motion . div className = "absolute -inset-2 rounded-full bg-white/10 opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100" />
288+ < motion . div className = "absolute -inset-2 rounded-full bg-white/10 opacity-0 backdrop-blur-sm transition-opacity duration-300 group-hover:opacity-100" />
283289 < motion . div
284- className = "h-full w-full cursor-pointer rounded-full border-2 border-white/50"
290+ className = "h-full w-full cursor-pointer rounded-full border-2 border-white/50 transition-colors duration-300 "
285291 animate = { {
286- backgroundColor : index + 1 === currentSlide ? "#108b2d " : "transparent" ,
292+ backgroundColor : index + 1 === currentSlide ? "#4CAF50 " : "transparent" ,
287293 scale : index + 1 === currentSlide ? 1.2 : 1 ,
288294 } }
295+ whileHover = { {
296+ borderColor : "rgba(255, 255, 255, 0.8)" ,
297+ } }
289298 onClick = { ( ) => {
290299 const targetSlide = index + 1 ;
291300 const totalSlides = slides . length ;
0 commit comments