@font-face { font-family: "AutumnMoon"; src: url(../fonts/AutumnMoon/AutumnMoon.ttf); } @font-face { font-family: "Inter"; src: url(../fonts/Inter/Inter.ttf); } /* CSS Custom Properties for Theme */ :root { --bg-primary: #ffffff; --bg-secondary: #f8f9fa; --bg-tertiary: #ffffff; --text-primary: #0a0a0a; --text-secondary: #5e5e5e; --accent-color: #e93e34; --border-color: #eeeeee; --card-bg: #ffffff; --shadow-light: rgba(0, 0, 0, 0.1); --shadow-medium: rgba(0, 0, 0, 0.2); --navbar-bg: rgba(255, 255, 255, 0.95); --navbar-bg-scrolled: rgba(255, 255, 255, 0.98); --footer-bg: #0a0a0a; --footer-text: #ffffff; --base-font-size: 16px; } [data-theme="dark"] { --bg-primary: #1a1a1a; --bg-secondary: #222222; --bg-tertiary: #1a1a1a; --text-primary: #ffffff; --text-secondary: #cccccc; --accent-color: #e93e34; --border-color: #404040; --card-bg: #2d2d2d; --shadow-light: rgba(0, 0, 0, 0.3); --shadow-medium: rgba(0, 0, 0, 0.5); --navbar-bg: rgba(26, 26, 26, 0.95); --navbar-bg-scrolled: rgba(26, 26, 26, 0.98); --footer-bg: #0a0a0a; --footer-text: #cccccc; } /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: var(--base-font-size); scroll-behavior: smooth; overflow-x: hidden; width: 100%; } body { font-family: Inter, -apple-system, sans-serif; line-height: 1.6; color: var(--text-primary); background-color: var(--bg-primary); overflow-x: hidden; transition: background-color 0.3s ease, color 0.3s ease; width: 100%; min-height: 100vh; display: flex; flex-direction: column; } .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; width: 100%; } /* Navigation */ .navbar { position: fixed; top: 0; width: 100%; background: var(--navbar-bg); backdrop-filter: blur(10px); z-index: 1000; padding: 1.5rem 0; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: none; } .navbar.scrolled { background: var(--navbar-bg-scrolled); padding: 0.8rem 0; box-shadow: 0 2px 8px var(--shadow-light); border-bottom: 1px solid var(--border-color); } [data-theme="dark"] .navbar { box-shadow: 0 2px 3px var(--shadow-medium); } [data-theme="dark"] .navbar.scrolled { box-shadow: 0 2px 8px var(--shadow-medium); } .nav-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } /* Logo */ .logo { position: relative; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); z-index: 1001; } .navbar.scrolled .logo { transform: translateY(-2px); } .logo-text { position: relative; display: flex; flex-direction: column; align-items: flex-start; line-height: 0.8; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .logo-name { font-size: clamp(1.4rem, 4vw, 1.8rem); font-weight: bolder; color: var(--accent-color); position: relative; z-index: 2; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .navbar.scrolled .logo-name { font-size: clamp(1.3rem, 4vw, 1.6rem); } .logo-surname { font-family: AutumnMoon; font-size: clamp(1.4rem, 4vw, 1.8rem); font-weight: 500; color: var(--text-primary); position: relative; z-index: 1; margin-top: -0.2rem; margin-left: 2rem; opacity: 0.8; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .navbar.scrolled .logo-surname { font-size: clamp(1.3rem, 4vw, 1.6rem); } .nav-menu { display: flex; list-style: none; gap: 2.5rem; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); transform: translateY(0); } .navbar.scrolled .nav-menu { transform: translateY(-3px); gap: 2rem; } .nav-item { position: relative; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .nav-link { text-decoration: none; color: var(--text-secondary); font-weight: 500; font-size: 0.9rem; letter-spacing: 0.5px; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; padding: 0.8rem 0; position: relative; display: block; } .navbar.scrolled .nav-link { padding: 0.5rem 0; font-size: 0.85rem; } .nav-link::before { content: ""; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background: var(--accent-color); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); transform: translateX(-50%); border-radius: 1px; } .nav-link:hover::before, .nav-link.active::before { width: 100%; } .nav-link:hover, .nav-link.active { color: var(--text-primary); } /* Navigation Actions */ .nav-actions { display: flex; align-items: center; gap: 1rem; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .navbar.scrolled .nav-actions { transform: translateY(-2px); } .theme-toggle { background: none; border: 2px solid var(--border-color); color: var(--text-primary); width: 40px; height: 40px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; } .navbar.scrolled .theme-toggle { width: 36px; height: 36px; } .theme-toggle::before { content: ""; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: var(--accent-color); border-radius: 50%; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); transform: translate(-50%, -50%); z-index: -1; } .theme-toggle:hover::before { width: 100%; height: 100%; } .theme-toggle:hover { border-color: var(--accent-color); color: white; transform: scale(1.1); } /* Mobile Menu */ .mobile-menu-toggle { display: none; flex-direction: column; cursor: pointer; padding: 0.5rem; position: relative; z-index: 1001; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .navbar.scrolled .mobile-menu-toggle { transform: scale(0.9); } .mobile-menu-toggle span { width: 25px; height: 3px; background: var(--text-primary); margin: 3px 0; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); border-radius: 2px; } /* Main Content */ .main-content { margin-top: 7rem; flex: 1; width: 100%; } .section { min-height: 100vh; padding: 4rem 0; display: flex; align-items: center; width: 100%; } .section:first-child { padding-top: 2rem; } /* Hero Section */ #home { background: var(--bg-primary); position: relative; z-index: 1; } .hero-content { display: flex; align-items: center; gap: 2rem; width: 100%; position: relative; z-index: 2; } .hero-main { flex: 1; max-width: 700px; opacity: 1; transform: translateY(0); position: relative; z-index: 3; opacity: 0; animation: fadeIn 0.5s ease-in-out forwards; } @keyframes fadeIn { to { opacity: 1; } } /* Hero Buttons Container */ .hero-buttons { display: flex; gap: 1rem; margin-top: 2.5rem; flex-wrap: wrap; } .resume-button { background: transparent; color: var(--accent-color); border: 2px solid var(--accent-color); padding: 1rem 2rem; font-size: 1rem; font-weight: 500; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 5px; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none; position: relative; overflow: hidden; } .resume-button::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--accent-color); transition: left 0.3s ease; z-index: -1; } .resume-button:hover::before { left: 0; } .resume-button:hover { color: white; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(231, 76, 60, 0.3); } .image { flex-shrink: 0; position: relative; width: 300px; height: 300px; border-radius: 50%; overflow: hidden; box-shadow: 0 10px 30px var(--shadow-medium); } .image img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; } .hero-title { font-size: clamp(2rem, 5vw, 3rem); font-weight: bold; color: var(--text-primary); margin-bottom: 1rem; line-height: 1.2; } .hero-subtitle { font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 400; color: var(--text-secondary); margin-bottom: 2rem; line-height: 1.3; } .hero-description { font-size: clamp(1rem, 2vw, 1.1rem); color: var(--text-secondary); margin-bottom: 2.5rem; line-height: 1.6; text-align: justify; } .cta-button { background: var(--text-primary); color: var(--bg-primary); border: none; padding: 1rem 2rem; font-size: 1rem; font-weight: 500; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 5px; text-transform: uppercase; letter-spacing: 0.5px; position: relative; overflow: hidden; } .cta-button::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--accent-color); transition: left 0.3s ease; z-index: -1; } .cta-button:hover::before { left: 0; } .cta-button:hover { transform: translateY(-2px); box-shadow: 0 5px 15px var(--shadow-medium); } /* Social Links */ .social-links { display: flex; gap: 1.5rem; margin: 3rem 0; justify-content: center; } .social-link { color: var(--text-secondary); font-size: 1.5rem; transition: all 0.3s ease; padding: 0.5rem; border-radius: 50%; position: relative; } .social-link::before { content: ""; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: rgba(231, 76, 60, 0.1); border-radius: 50%; transition: all 0.3s ease; transform: translate(-50%, -50%); z-index: -1; } .social-link:hover::before { width: 100%; height: 100%; } .social-link:hover { color: var(--accent-color); transform: translateY(-3px); } /* Who Am I Section */ .who-am-i { margin-top: 6rem; max-width: 100%; position: relative; z-index: 2; background: transparent; padding: 2rem 0; border-radius: 10px; } .section-title { font-size: clamp(1.5rem, 4vw, 2.5rem); font-weight: 700; color: var(--text-primary); margin-bottom: 1.5rem; } .section-text { font-size: clamp(1rem, 2vw, 1.1rem); color: var(--text-secondary); margin-bottom: 1.5rem; line-height: 1.6; text-align: justify; } .section-text .quote { display: flex; width: 100%; font-style: italic; color: var(--accent-color); justify-content: center; text-align: center; } /* About Section */ #about { background: var(--bg-secondary); } .page-title { font-size: clamp(2rem, 5vw, 3rem); font-weight: 700; color: var(--text-primary); margin-bottom: 3rem; text-align: center; } .about-content { max-width: 900px; margin: 0 auto; } .about-text h3 { font-size: clamp(1.2rem, 3vw, 1.5rem); color: var(--text-primary); margin: 2rem 0 1rem 0; } .education { width: 100%; display: flex; flex-direction: column; gap: 1.5rem; margin: 2rem 0; } .uni, .college { padding: 2.5rem; background: var(--card-bg); border-radius: 15px; box-shadow: 0 5px 15px var(--shadow-light); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid var(--border-color); position: relative; overflow: hidden; } .uni::before, .college::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--accent-color), #ff6b6b); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; } .uni:hover::before, .college:hover::before { transform: scaleX(1); } .uni:hover, .college:hover { transform: translateY(-8px); box-shadow: 0 15px 35px var(--shadow-medium); border-color: var(--accent-color); } .edu_date { color: var(--text-secondary); font-weight: 600; font-size: 0.85rem; /* text-transform: uppercase; */ /* letter-spacing: 1px; */ margin-bottom: 0.8rem; display: inline-block; padding: 0.2rem 0; /* background: rgba(231, 76, 60, 0.1); */ /* border-radius: 20px; */ } .edu_institute { font-weight: 700; font-size: clamp(1.2rem, 3vw, 1.4rem); color: var(--text-primary); margin-bottom: 0.8rem; line-height: 1.3; } .edu_degree { color: var(--text-secondary); font-size: clamp(1rem, 2vw, 1.1rem); font-weight: 500; line-height: 1.4; } /* .skills-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin: 3rem 0; align-items: center; } */ /* .skill-item { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; border: 2px solid var(--border-color); border-radius: 15px; transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); background: var(--card-bg); text-align: center; position: relative; overflow: hidden; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); height: 100%; } */ /* .skill-item:hover { transform: translateY(-5px); box-shadow: 0 10px 20px var(--shadow-medium); border: 2px solid var(--accent-color); } */ /* .skill-item::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--accent-color), #ff6b6b); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; z-index: 2; } */ /* .skill-item:hover::before { transform: scaleX(1); } */ /* .skill-item i { font-size: clamp(2.5rem, 5vw, 3rem); color: var(--accent-color); margin-bottom: 1.5rem; transition: all 0.3s ease; } */ /* .skill-item:hover i { transform: scale(1.1); } */ /* .skill-item span { font-weight: 500; color: var(--text-primary); text-align: center; font-size: clamp(1rem, 2vw, 1.1rem); } */ .services-list { list-style: none; margin: 3rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; } .services-list li { padding: 1.5rem 2rem; border: 2px solid var(--border-color); border-radius: 12px; font-size: clamp(1rem, 2vw, 1.1rem); color: var(--text-secondary); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); background: var(--card-bg); position: relative; overflow: hidden; font-weight: 500; } .services-list li::before { content: "→"; color: var(--accent-color); margin-right: 1rem; font-weight: bold; font-size: 1.3rem; transition: all 0.3s ease; } .services-list li:hover { border-color: var(--accent-color); transform: translateX(8px); color: var(--text-primary); box-shadow: 0 6px 20px var(--shadow-light); } .services-list li:hover::before { transform: translateX(5px); } /* Projects Section */ #projects { background: var(--bg-primary); } .projects-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 2rem; } .project-card { background: var(--card-bg); border-radius: 15px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid var(--border-color); overflow: hidden; } .project-card:hover { transform: translateY(-5px); box-shadow: 0 3px 6px var(--shadow-light); border-color: var(--accent-color); } .project-image { position: relative; overflow: hidden; height: 200px; } .project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .project-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; } .project-card:hover .project-overlay { opacity: 1; } .project-card:hover .project-image img { transform: scale(1.1); } .project-links { display: flex; gap: 1rem; } .project-link { color: white; font-size: 1.5rem; padding: 0.5rem; border-radius: 50%; background: var(--accent-color); transition: all 0.3s ease; } .project-link:hover { transform: scale(1.2); } .project-content { padding: 1.5rem; } .project-title { font-size: clamp(1.2rem, 3vw, 1.3rem); font-weight: 600; color: var(--text-primary); margin-bottom: 0.5rem; } .project-description { color: var(--text-secondary); line-height: 1.6; margin-bottom: 1rem; } .project-tech { display: flex; flex-wrap: wrap; gap: 0.5rem; } .tech-tag { background: var(--accent-color); color: white; padding: 0.3rem 0.8rem; border-radius: 15px; font-size: 0.8rem; font-weight: 500; } /* Recommendations Section */ #recommendations { background: var(--bg-secondary); } .recommendations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 2rem; } .recommendation-card { background: var(--card-bg); border-radius: 15px; padding: 2.5rem; box-shadow: 0 3px 6px var(--shadow-light); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid var(--border-color); position: relative; overflow: hidden; } .recommendation-card:hover { transform: translateY(-5px); border-color: var(--accent-color); } .recommendation-content { margin-bottom: 2rem; } .quote-icon { color: var(--accent-color); font-size: 2.5rem; margin-bottom: 1.5rem; opacity: 0.8; } .recommendation-text { color: var(--text-secondary); line-height: 1.7; font-style: italic; font-size: clamp(1rem, 2vw, 1.1rem); margin-bottom: 1.5rem; } .recommendation-author { display: flex; align-items: center; gap: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border-color); } .author-image { width: 60px; height: 60px; border-radius: 50%; overflow: hidden; border: 3px solid var(--border-color); } .author-image img { width: 100%; height: 100%; object-fit: cover; } .author-info { flex: 1; } .author-name { color: var(--text-primary); font-weight: 700; font-size: 1.1rem; margin-bottom: 0.3rem; } .author-position { color: var(--text-secondary); font-size: 0.95rem; font-weight: 500; line-height: 1.4; } /* Contact Section */ #contact { background: var(--bg-primary); margin-bottom: 0; padding-bottom: 6rem; } .contact-content { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; max-width: 1000px; margin: 0 auto; } .contact-info h3 { font-size: clamp(1.2rem, 3vw, 1.5rem); color: var(--text-primary); margin-bottom: 1rem; } .contact-info p { font-size: clamp(1rem, 2vw, 1.1rem); color: var(--text-secondary); margin-bottom: 2rem; line-height: 1.6; } .contact-methods { display: flex; flex-direction: column; gap: 1.5rem; } .contact-method { display: flex; align-items: center; gap: 1rem; font-size: clamp(1rem, 2vw, 1.1rem); color: var(--text-secondary); padding: 1rem; border-radius: 8px; transition: all 0.3s ease; } .contact-method .mail { color: var(--text-secondary); text-decoration: none; } .contact-method:hover { background: rgba(231, 76, 60, 0.05); transform: translateX(5px); } .contact-method i { color: var(--accent-color); width: 20px; font-size: 1.2rem; } .contact-form { display: flex; flex-direction: column; gap: 1.5rem; } .form-group { display: flex; flex-direction: column; } .form-group label { font-weight: 500; color: var(--text-primary); margin-bottom: 0.5rem; } .form-group input, .form-group textarea { padding: 1rem; border: 2px solid var(--border-color); border-radius: 8px; font-size: 1rem; transition: all 0.3s ease; font-family: inherit; background: var(--card-bg); color: var(--text-primary); width: 100%; } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1); } .submit-button { background: var(--accent-color); color: white; border: none; padding: 1rem 2rem; font-size: 1rem; font-weight: 500; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; border-radius: 8px; text-transform: uppercase; letter-spacing: 0.5px; width: 100%; } .submit-button:hover { background: #c0392b; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(231, 76, 60, 0.3); } /* Footer */ .footer { background: var(--footer-bg); color: var(--footer-text); padding: 4rem 0 2rem; margin-top: 0; position: relative; z-index: 10; } .footer-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .footer-content { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 2rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } [data-theme="dark"] .footer-content { border-bottom: 1px solid rgba(255, 255, 255, 0.05); } .footer-left p { font-size: 0.8rem; opacity: 0.8; } .footer-center { display: flex; justify-content: center; } .footer-nav { display: flex; gap: 1.5rem; flex-wrap: wrap; justify-content: center; } .footer-link { color: var(--footer-text); text-decoration: none; font-size: clamp(0.8rem, 2vw, 0.9rem); font-weight: 500; transition: all 0.3s ease; position: relative; } .footer-link::before { content: ""; position: absolute; bottom: -3px; left: 50%; width: 0; height: 1px; background: var(--accent-color); transition: all 0.3s ease; transform: translateX(-50%); } .footer-link:hover::before { width: 100%; } .footer-link:hover { color: var(--accent-color); } .footer-right { text-align: right; } .footer-right p { font-size: 0.8rem; opacity: 0.8; } .footer-author { color: var(--accent-color); text-decoration: none; font-weight: 600; transition: all 0.3s ease; } .footer-author:hover { color: white; text-decoration: underline; } /* Animation Classes */ .fade-in { opacity: 0; transform: translateY(30px); transition: all 0.8s ease; } .fade-in.visible { opacity: 1; transform: translateY(0); } .slide-in-left { opacity: 0; transform: translateX(-50px); transition: all 0.8s ease; } .slide-in-left.visible { opacity: 1; transform: translateX(0); } .slide-in-right { opacity: 0; transform: translateX(50px); transition: all 0.8s ease; } .slide-in-right.visible { opacity: 1; transform: translateX(0); } /* Responsive Design */ @media (max-width: 1024px) { .hero-content { flex-direction: column; text-align: center; gap: 3rem; } .image { width: 250px; height: 250px; order: -1; } .projects-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } .recommendations-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } .footer-content { grid-template-columns: 1fr; text-align: center; gap: 1.5rem; } .footer-right { text-align: center; } } @media (max-width: 768px) { :root { --base-font-size: 15px; } .navbar { border-bottom: none; } .navbar.scrolled { border-bottom: 1px solid var(--border-color); } /* .skills-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.5rem; } */ /* .skill-item { padding: 1.5rem; } */ .services-list { grid-template-columns: 1fr; gap: 1rem; } .services-list li { padding: 1.2rem 1.5rem; } .uni, .college { padding: 1.5rem; } .nav-container { position: relative; width: 100%; } .logo { position: absolute; left: 50%; transform: translateX(-50%); } .navbar.scrolled .logo { transform: translateX(-50%) translateY(-2px); } .logo-name { font-size: clamp(1.4rem, 4vw, 1.8rem); } .logo-surname { font-size: clamp(1.4rem, 4vw, 1.8rem); } .nav-actions { margin-left: auto; display: flex; align-items: center; gap: 0.5rem; } .theme-toggle { order: 1; width: 35px; height: 35px; } .mobile-menu-toggle { display: flex; order: 2; } .nav-menu { position: fixed; top: 80px; left: -100%; width: 100%; height: calc(100vh - 80px); background: var(--navbar-bg); flex-direction: column; justify-content: flex-start; align-items: center; padding-top: 2rem; transition: left 0.3s ease; backdrop-filter: blur(10px); gap: 1rem; } .nav-menu.active { left: 0; } .nav-link { font-size: 1.2rem; padding: 1rem; } .main-content { margin-top: 80px; } .mobile-menu-toggle.active span:nth-child(1) { transform: rotate(-45deg) translate(-5px, 6px); } .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; } .mobile-menu-toggle.active span:nth-child(3) { transform: rotate(45deg) translate(-5px, -6px); } .contact-content { grid-template-columns: 1fr; gap: 2rem; } .projects-grid { grid-template-columns: 1fr; gap: 2rem; } .recommendations-grid { grid-template-columns: 1fr; gap: 2rem; } .section { min-height: auto; padding: 3rem 0; } .image { width: 200px; height: 200px; } .hero-buttons { flex-direction: column; align-items: stretch; } .cta-button, .resume-button { width: 100%; justify-content: center; } .who-am-i { margin-top: 4rem; padding: 1.5rem; } .footer-nav { gap: 1rem; } } @media (max-width: 480px) { :root { --base-font-size: 14px; } .logo-name { font-size: 1.8rem; transition: font-size 0.3s ease; } .logo-surname { font-size: 1.8rem; transition: font-size 0.3s ease; } .navbar.scrolled .logo-name { font-size: 1.4rem; } .navbar.scrolled .logo-surname { font-size: 1.4rem; } /* .skills-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; } */ /* .skill-item { padding: 1.5rem 0.8rem; } */ /* .skill-item i { font-size: 2rem; margin-bottom: 1rem; } */ .recommendation-card { padding: 2rem; } .recommendation-author { flex-direction: column; text-align: center; gap: 1rem; } .container { padding: 0 15px; } .theme-toggle { width: 32px; height: 32px; } .contact-method { flex-direction: column; text-align: center; gap: 0.5rem; } .section { padding: 2rem 0; } .image { width: 180px; height: 180px; } } /* Additional fixes for overflow and responsiveness */ img { max-width: 100%; height: auto; } /* Ensure text doesn't cause overflow */ .hero-title, .hero-subtitle, .hero-description, .section-text, .project-description, .recommendation-text, .about-text p { word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; }