/* Basic Reset & Body Styles */
body {
    font-family: Arial, sans-serif; /* You can choose a different font family */
    margin: 0;
    padding: 0;
    background-color: #000; /* Light gray background, change as you like */
    color: #333; /* Default text color */
    line-height: 1.6;
}

/* Hero Section Styles */
.hero-section {
    text-align: center; /* Centers the GIF */
    padding: 20px 0; /* Adds some space above and below the GIF */
    background-color: #000; /* White background for the hero area, or choose another */
}

.hero-section img {
    max-width: 100%; /* Ensures the GIF is responsive and doesn't overflow its container */
    height: auto;   /* Maintains aspect ratio */
    /* You might want to set a specific max-height or width depending on your GIF's dimensions */
    /* e.g., max-height: 300px; */
}

/* Introduction Section Styles */
.intro-section {
    padding: 20px;
    text-align: center;
    background-color: #fff; /* White background */
    margin: 20px auto; /* Centers the section with some margin */
    max-width: 800px; /* Limits the width for better readability */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Subtle shadow effect */
}

.intro-section h1 {
    color: #333; /* Darker color for the main heading */
}

.TM {
	vertical-align: super;
	font-size: .35em;
}

/* Projects Section Styles */
.projects-section {
    padding: 20px;
    text-align: center;
}

.projects-section h2 {
    margin-bottom: 30px; /* Space below the "Our Projects" title */
    color: #999;
}

.projects-grid {
    display: grid;
    /* Creates a grid with 2 columns of equal width for medium screens and up */
    /* On smaller screens, it will default to 1 column (see @media query below) */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px; /* Space between grid items */
    max-width: 1200px; /* Max width of the grid */
    margin: 0 auto; /* Center the grid */
}

.project-card {
    background-color: #ffffff; /* White background for each card */
    border: 1px solid #ddd; /* Light border */
    border-radius: 8px; /* Rounded corners */
    overflow: hidden; /* Ensures image corners are also rounded if image touches border */
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Smooth transition for hover effect */
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.project-card:hover {
    transform: translateY(-5px); /* Lifts the card up slightly on hover */
    box-shadow: 0 4px 8px rgba(0,0,0,0.15); /* More pronounced shadow on hover */
}

.project-card a {
    text-decoration: none; /* Removes underline from links */
    color: #333; /* Link text color */
    display: block; /* Makes the whole card area clickable */
}

.project-card img {
    width: 100%; /* Makes image take the full width of the card */
    height: 200px; /* Fixed height for images; adjust as needed */
    object-fit: cover; /* Ensures images cover the area without distortion, cropping if necessary */
    /* If you want to see the whole image without cropping, use 'object-fit: contain;'
       but then you might have empty spaces if aspect ratios differ. */
    border-bottom: 1px solid #ddd; /* Separator line between image and text */
}

.project-card p {
    padding: 15px;
    margin: 0;
    font-weight: bold;
}

/* Footer Styles */
footer {
    text-align: center;
    padding: 20px;
    background-color: #333; /* Dark background for footer */
    color: #fff; /* White text for footer */
    margin-top: 40px; /* Space above the footer */
}

/* Responsive adjustments for smaller screens */
@media (max-width: 600px) {
    .projects-grid {
        /* On smaller screens, stack the project cards in a single column */
        grid-template-columns: 1fr;
    }

    .intro-section {
        margin: 10px; /* Reduce margin on smaller screens */
    }
}