@import url("reset.css");
@import url("layout.css");
@import url("variables.css");
@import url("typography.css");
/* DO NOT EDIT THESE IMPORTS
In order to keep our CSS as manageable as possible, we're starting with multiple separate stylesheets. They are all imported into style.css.

    Do not edit reset.css at all.
    You can minimally edit layout.css to match your specific column/row grid rules. Try to keep all basic structural rules here.
    Optionally, you can set colour variables in variables.css.
    Use typography.css stylesheet to set your general text styles.
    Use style.css for all general UI styles, or anything that you want to overwrite from other stylesheets, because it's loaded last. */

/* Use this stylesheet to add your UI details, and to overwrite layout details for specific instances. */

body {
	background: var(--bg);
	color: var(--ink);
}

/* ---------- Global section spacing ---------- */
section {
	padding: var(--gap-lg) 0;
}

/* //////////////////// Header ///////////////// */
.site-header {
	background: var(--dark);
	height: var(--header-h);
	display: flex;
	align-items: center;
}

.site-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--gap-md);
}

.logo img {
	height: 50px;
	width: auto;
	display: block;
}

.nav-links {
	display: flex;
	align-items: center;
	gap: var(--gap-lg);
}

/* ---------- Buttons: only override shape here ---------- */
.primary-button,
.secondary-button {
	border-radius: 10px;
	padding: calc(var(--gap-sm)) calc(var(--gap-md));
}

/* Default secondary button for light background */
.secondary-button {
	border: 1px solid var(--muted);
	color: var(--ink);
	background: transparent;
}

/* ---------- Hero ---------- */
.hero {
	background: var(--dark);
	color: white;
	padding: 0;
}

.hero .inner-wrapper {
	padding: calc(var(--gap-lg) * 2) 0;
}

/* Right collage: apply grid to the .row inside hero-gallery */
.hero-gallery .row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap-sm);
}

.hero-gallery img {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	border-radius: var(--radius-md);
}

.hero-gallery .flex-item {
	width: auto;
	flex-grow: 0;
}

/* ---------- Featured work / project cards ---------- */
.featured-work {
	background: var(--bg);
}

.project-card {
	display: flex;
	flex-direction: column;
	gap: var(--gap-sm);
	color: inherit;
	text-decoration: none;
}

.project-card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--radius-lg);
	display: block;
}

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

.project-card p {
	margin-top: calc(var(--gap-sm) / 2);
}

/* ---------- Contact ---------- */
.contact {
	background: var(--dark);
	color: white;
	padding: 60px 0;
}

.contact h2 {
	color: var(--accent);
}

/* Contact icons row */
.contact-links {
	display: flex;
	gap: var(--gap-md);
	justify-content: flex-end;
	align-items: center;
}

/* Make secondary button readable on dark backgrounds */
.hero .secondary-button,
.contact .secondary-button {
	border-color: rgba(255, 255, 255, 0.5);
	color: white;
}

/* ---------- Portfolio Projects Grid ---------- */
.projects-grid {
	display: grid;
	gap: var(--gap-md);
	grid-template-columns: 1fr; /* mobile: 1 column */
}

@media (min-width: 768px) {
	.projects-grid {
		grid-template-columns: repeat(2, 1fr); /* tablet/desktop: 2 columns*/
		gap: var(--gap-lg);
	}
}

/* Card */
.project-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
	color: inherit;
}

/* Make all images same visual height */
.project-card .project-media img,
.project-card > img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--radius-lg);
	display: block;
}

/* Remove default spacing so text aligns consistently */
.project-card h3,
.project-card p {
	margin: 0;
}

/* make meta spacing consistent */
.project-meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

/* //////////////----Responsive layout - Media queries--------//////////// */

/* //////////// Media queries //////////// */
/* Add and/or edit. */

/* You can edit the rules inside of these media queries, but you can also edit the breakpoints to work for your own content and design. For example, if you want your text rules to change at 600px instead of 768, you can edit the min-width. You can also add more "breakpoints" - more conditions where the rules will change. */

@media (max-width: 600px) {
	section {
		padding: var(--gap-md) 0;
	}

	.nav-links {
		gap: 14px;
	}

	.contact-links {
		justify-content: center;
	}
}

@media (min-width: 900px) {
	.hero .inner-wrapper {
		padding: calc(var(--gap-lg) * 2.5) 0;
	}
}
