* { margin: 0; padding: 0; box-sizing: border-box; } /*Variables*/ :root { --clr-primary: #009DF0; --clr-accent-light: #F09B00; --clr-accent-dark: #F04E00; --clr-card-background: #E3F0FB; --clr-page-background: #fffcf6; --clr-text-light: #263f4a; --clr-text-main: #1B0A14; --clr-header-bg: #43665f; --clr-nav-bg: #F2D7C0; --fs-h1: 2.5rem; --fs-h2: 1.5rem; --fs-text: 1rem; } html { height: 100%; } body { font-family: 'Open Sans', Arial, sans-serif; line-height: 1.5; background-color: var(--clr-page-background); color: var(--clr-text-main); min-height: 100vh; display: flex; flex-direction: column; } /* Header */ header { width: 100%; background-color: var(--clr-header-bg); box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .nav-bar { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; padding: 1rem 2rem; } .nav-logo { background-color: var(--clr-nav-bg); border-radius: 20px; padding: 5px; } nav ul.nav-links { display: flex; flex-direction: column; gap: 1rem; align-items: center; list-style: none; } nav ul.nav-links a { color: #5D3A28; text-decoration: none; padding: 0.5rem 1rem; border-radius: 10px; background-color: var(--clr-nav-bg); font-weight: 500; transition: background-color 0.3s ease; } nav ul.nav-links a:hover, nav ul.nav-links a:focus { background-color: #A68B78; outline: none; } .header-content { text-align: center; padding: 2rem; background-color: var(--clr-page-background); } .header-content h1 { font-size: var(--fs-h1); color: var(--clr-text-main); font-weight: 700; } /* Main content */ main { flex: 1; padding: 3rem 2rem; max-width: 1200px; margin: 0 auto; width: 100%; } #projects { display: grid; grid-template-columns: 1fr; /* Single column for mobile */ gap: 2rem; } #projects h2 { font-size: var(--fs-h2); color: var(--clr-text-main); margin-bottom: 1rem; } #projects p { color: var(--clr-text-light); font-size: var(--fs-text); line-height: 1.6; max-width: 65ch; } .project-card { display: flex; flex-direction: column; background-color: var(--clr-card-background); border-radius: 16px; box-shadow: 0 4px 12px rgba(91, 127, 161, 0.3); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } .project-card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(91, 127, 161, 0.4); } .project-image { width: 100%; height: 250px; overflow: hidden; } .project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .project-card:hover .project-image img { transform: scale(1.05); } .project-description { padding: 1.5rem; flex: 1; } .project-description h2 { margin-bottom: 1rem; } /* Footer */ footer { background-color: #4A5052; color: #F2D7C0; padding: 2rem; text-align: center; width: 100%; margin-top: auto; } footer p { margin-bottom: 1rem; } .social-links { display: flex; justify-content: center; gap: 1.5rem; } .social-links a img { width: 2rem; height: 2rem; filter: brightness(0) invert(1); transition: transform 0.3s ease; } .social-links a:hover img { transform: scale(1.1); } /* Responsive Design - Mobile First */ @media (min-width: 600px) { nav ul.nav-links { flex-direction: row; } #projects { grid-template-columns: repeat(2, 1fr); } .project-image { height: 200px; } } @media (min-width: 900px) { #projects { grid-template-columns: repeat(3, 1fr); } .project-image { height: 250px; } }