html{
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	scroll-behavior: smooth;
}

body{
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}

.header{
	padding: 0rem 0 0rem 0;
    flex: 1;
}

.container {
    margin: 0 auto;
    text-align: center;
    width: 66%;
	padding: 2rem 0rem;
}

.logo{
    width: 40%;
}

/* Typography Styles */
.main-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    margin: 2rem 0 1.5rem 0;
    text-align: center;
    line-height: 1.2;
}

.intro-text {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #555;
    margin: 0 0 3rem 0;
    text-align: left;
    /* max-width: 800px; */
    margin-left: auto;
    margin-right: auto;
}

.section-title {
    font-size: 2rem;
    font-weight: 600;
    color: #444;
    margin: 3rem 0 1.5rem 0;
    text-align: left;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 0.5rem;
}

.subsection-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #555;
    margin: 2rem 0 1rem 0;
    text-align: left;
}

p {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #666;
    margin: 0 0 1.5rem 0;
    text-align: left;
}

.footer {
	background-color: purple;
	color: white;
	padding: 2rem 0;
}

.footer-container {
	margin: 0 auto;
	padding: 0 1.5rem;
}

.footer-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
}

.copyright {
	color: white;
	line-height: 1.25rem;
	font-weight: 300;
	margin: 0;
}

.footer-links {
	display: flex;
	gap: 2rem;
}

.footer-link {
	line-height: 1.25rem;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 200ms;
    color: white;
	text-decoration: none;
}

/* Responsive Design - Mobile First Approach */

/* Large tablets and small desktops */
@media (max-width: 1024px) {
	.container {
		width: 80%;
		padding: 1.5rem 0rem;
	}	
}

/* Tablets */
@media (max-width: 768px) {
	.header {
		padding: 12rem 0 3rem 0;
	}
	
	.container {
		width: 80%;
		padding: 1rem 0rem;
	}
	
	.logo {
		width: 80%;
	}
	
	.tagline {
		font-size: 2rem;
		line-height: 4rem;
		margin: 3rem 0rem 3rem 0rem;
	}
	
	.main-title {
		font-size: 2rem;
		margin: 1.5rem 0 1rem 0;
	}
	
	.intro-text {
		font-size: 1.1rem;
		margin: 0 0 2rem 0;
	}
	
	.section-title {
		font-size: 1.75rem;
		margin: 2rem 0 1rem 0;
	}
	
	.subsection-title {
		font-size: 1.3rem;
		margin: 1.5rem 0 0.75rem 0;
	}
	
	p {
		font-size: 1rem;
	}		
	
	.footer-content {
		flex-direction: column;
		align-items: center;
		gap: 1rem;
	}
	
	.footer-links {
		gap: 1.5rem;
	}
}

/* Mobile phones */
@media (max-width: 480px) {
	.header {
		padding: 4rem 0 2rem 0;
	}
	
	.container {
		width: 80%;
		padding: 0.5rem 0rem;
	}
	
	.logo {
		width: 100%;
	}
	
	.tagline {
		font-size: 1.5rem;
		line-height: 1.5rem;
		margin: 2rem 0rem 2rem 0rem;
	}
	
	.main-title {
		font-size: 1.75rem;
		margin: 1rem 0 0.75rem 0;
	}
	
	.intro-text {
		font-size: 1rem;
		margin: 0 0 1.5rem 0;
	}
	
	.section-title {
		font-size: 1.5rem;
		margin: 1.5rem 0 0.75rem 0;
	}
	
	.subsection-title {
		font-size: 1.2rem;
		margin: 1.25rem 0 0.5rem 0;
	}
	
	p {
		font-size: 0.95rem;
	}
		
	.footer {
		padding: 2rem 0;
	}
	
	.footer-container {
		padding: 0 1rem;
	}
	
	.footer-content {
		flex-direction: column;
		align-items: center;
		gap: 0.75rem;
	}
	
	.footer-links {
		flex-direction: column;
		gap: 0.75rem;
		text-align: center;
	}
	
	.copyright {
		text-align: center;
	}
}

/* Extra small mobile devices */
@media (max-width: 320px) {
	.container {
		width: 80%;
		padding: 0.25rem 0rem;
	}
	
	.logo {
		width: 100%;
	}
	
	.tagline {
		font-size: 1.5rem;
		line-height: 1.5rem;
		margin: 1.5rem 0rem 1.5rem 0rem;
	}	
}

/* Touch-friendly improvements for mobile devices */
@media (hover: none) and (pointer: coarse) {
	
	.footer-link {
		min-height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
}

/* Landscape orientation adjustments for mobile */
@media (max-width: 768px) and (orientation: landscape) {
	.header {
		padding: 3rem 0 2rem 0;
	}
	
	.tagline {
		margin: 2rem 0rem 2rem 0rem;
	}
		
}

