@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap');


/* colors */

:root {
	--primary: #111311;
	--secondary: #103018;
	--accent: #42bd61;
	--lighter-accent: #89d69c;

	--text-main: #e0dede;
	--text-muted: #828181;


}

header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 28px 4%;
	border-bottom: 2px solid var(--secondary);
}
body {
	font-family: 'JetBrains Mono', monospace;
	width:100%;
	max-width: 1200px;
	margin: auto;
	box-sizing: border-box;
	padding: 0 24px;
	background-color: var(--primary);
}

footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 28px 4%;
	border-top: 2px solid var(--secondary);
}

h1 {
	font-size: clamp(32px, 7vw, 54px);
	font-weight: 700;
	text-align: left; 
	color:var(--text-main);
}
h2 {
	font-size: 24px; 
	font-weight: 500;
	text-align: left;
	color:var(--text-main);
}
h3 {
	font-size: 18px; 
	font-weight: 500;
	text-align: left;
	color:var(--text-main);
}
p  {
	font-size: 16px; 
	font-weight: 400;
	text-align: left; 
	color: var(--text-main);
}
ul {
	font-size: 16px; 
	font-weight: 400;
	text-align: left; 
	color: var(--text-main);
	list-style-position: inside;
	padding-left: 0;  
}

img {
	display: block; 
	margin: auto;
}


a:link {
	color: var(--accent); 
	text-decoration: none;
} 
a:visited {
	color: var(--accent); 
}
a:hover {
	color: #266e37;
}
a:active {
	color: #1f1f1f;
}
a.current-page {
	color: var(--lighter-accent);
}

.center-text p, 
.center-text h1, 
.center-text h2,
.center-text h3{
	text-align: center;
}

.wordmark a{
	font-weight: 700;
	color:var(--text-main);
}

.navbar {
	display: flex;
	gap: 36px;
}

.hero {
	padding: 24px 12px;
}

.hero h1 {
	font-size: clamp(32px, 7vw, 54px);
	text-align: left;
	max-width: 850px
}

.hero p {
	text-align: left;
	max-width: 650px
}

.latest-photo {
	padding: 24px 0;
}

.caption-text p {
	font-size: 14px;
	color: var(--text-muted);
	text-align: center;
}

#photography-info {
  	border: 2px solid var(--accent); 
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    max-width: 700px;
    margin: 32px auto;
}

.photo-caption {
	font-size: 14px;
	color: var(--text-muted);
	text-align: center;
}

.photo-gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr); 
	max-width: 1200px;                    
	margin: 0 auto;                        
}

.photo img {
	width: 80%;
	border-radius: 16px;
	outline: 4px solid transparent;
	transition: outline 0.2s ease-in-out; 
}

.photo img:hover {
  	outline: 4px solid 	var(--accent); 
}

.artists {
	display: grid;
	grid-template-columns: repeat(4, 1fr); 
	max-width: 400px;                    
	margin: 0 auto;                        
}


.artist-logo{
	margin: 10px;
}

.artist-logo img{
	width: 100%;
	height: auto;
	border-radius: 50%;
	border: 2px solid var(--text-main);

}

.artist-logo img:hover {
  border: 2px solid ;
  color:var(--accent); 
  transition: border 0.2s ease-in-out; 
}

.all-projects {
	padding-bottom: 48px;
}

.all-projects h2 {
    margin-bottom: 32px;
}

.projects-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
    width: 100%;
}

.project-card {
    border: 2px solid var(--accent); 
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
	}

.project-card h2, 
.project-card h3, 
.project-card p {
	    margin-top: 0;

}

.project-card h2 {
	margin-bottom: 6px;
}


.aboutpage-content {
	padding: 48px 0;
}

.about-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
    width: 100%;
}

.about-card {
    border: 2px solid;
    color: var(--accent);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
}


/* contact form */
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
}

input {
  appearance: none;
}

.contact-form form{
  max-width: 600px;
  margin: 20px auto;
  padding: 30px;
  border-radius: 12px;
  border: 2px solid;	
  color: var(--accent); 
;
}

.contact-text, 
.contact-message, 
.contact-button {
  margin-bottom: 22px;
}

.contact-form label {
  display: block;
  margin-bottom: 8px;
  font-size: 16px; 
	font-weight: 400;
	text-align: left; 
	color: var(--text-main);
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 20px;
  border: 1px solid var(--accent);
  border-radius: 6px;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
  color: var(--text-main);
}

.contact-form textarea {
  resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--text-main);
  outline: none;
}

.contact-button button {
  width: 100%;
  padding: 14px;
  background-color: var(--accent);
  color: var(--primary);
  border: none;
  border-radius: 6px;
  transition: background-color 0.3s;
}

.contact-button button:hover {
  background-color: var(--text-main);
  color: var(--primary);
}

.honeypot {
    display: none;
}


/* mobile optimisation */

@media (max-width: 600px) {
	.navbar {
		flex-wrap: wrap;
		justify-content: center;
		gap: 16px;
	}
	header {
		flex-direction: column;
		gap: 20px;
		padding: 24px 0;
	}
	footer {
		flex-direction: column;
		gap: 20px;
		padding: 24px 0;
	}

	.photo-gallery {
		display: grid;
		grid-template-columns: repeat(1, 1fr); 
		max-width: 1200px;                    
		margin: 0 auto;                        
	}

	.photo img {
		width: 100%;
		height: auto;
		border-radius: 8px;
	}


	.artists {
		display: grid;
		grid-template-columns: repeat(2, 1fr); 
		max-width: 1200px;                    
		margin: 20px auto;                        
	}

	.artist-logo img{
		width: 70%;
		height: auto;
		border-radius: 50%;
	}

	.artist-logo img:hover {
		border: 1px solid var(--accent);
	}


}
