@font-face {
  font-family: 'Gotham Bold';
  src: url("../fonts/GothaProBol.otf");
  font-weight: Bold;
  font-display: swap; 
}
@font-face {
  font-family: 'Gotham Regular';
  src: url("../fonts/GothaProReg.otf");
  font-weight: normal;
  font-display: swap; 

}

@font-face {
  font-family: 'Gotham Light';
  src: url("../fonts/GothaProLig.otf");
  font-weight: 300;
  font-display: swap; 

}

@font-face {
  font-family: 'Gotham Medium';
  src: url("../fonts/GothaProMed.otf");
  font-weight: Medium;
  font-display: swap; 

}

*, *::before, *::after {
    box-sizing: border-box;
}
html, body {
    overflow-x: hidden; /* This hides the horizontal scrollbar */
    width: 100%;
    position: relative;
}
body {
	margin: 0;
	padding: 0;
	width: 100%;
	background: white;
	font-family: Gotham Bold;
}
.navbar {
	position: fixed;
	margin: 0;
	top: 0px;
	width: 100%;
	height: 83px;
	background: #E41E11;
	z-index: 9999999999;
	box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.2);
	font-family: Gotham Bold;
}
.navbar .logo img {
	height: 70px;
	position: absolute;
	left: 3vw;
	top: 0.6vh;
}
.navlinks a {
	font-size: 22px;
    text-decoration: none;
    color: white;
	padding-inline: 90px;
	background-color: #E41E11;
	display: flex;
    align-items: center; /* Vertically centers the text */
    height: 100%;        /* Forces the background to be exactly 83px */
    box-sizing: border-box; 
}
.navlinks {
	list-style: none;
    position: absolute;
    right: 0px;
    margin: 0;
    display: flex; /* Use flex instead of floats */
    height: 100%;  /* Fill the 83px navbar */
}
.navlinks li {
	display: flex;
    height: 100%;
}
.navlinks a:hover {
	background-color: #9a180f;
}

.highlight {
	color: #E41E11;
}

.Work {
	width: 100%;
    margin-top: 150px;
    padding: 20px 0; /* Remove horizontal padding here, move it to children */
    background-color: white;
}
.work-text {
	position: relative;
	display: flex;
	font-family: Gotham Bold;
	font-size: clamp(40px, 6vw, 90px); /* Fluid typography */
	margin: 0;
	padding-left: 2%;
	padding-right: 2%;
	padding-bottom: 4%;
	top: 0;
}

.grid-container {
display: grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 15px; 
    width: 100%;
    padding: 0 2%; /* Keep your safety gap here instead of on the parent */
  
}
.grid-container img {
    width: 100%;
    height: auto;
    display: block;
}
.grid-container img:hover {
	filter: brightness(50%);
	transform: scale(1.01);
}
.overlay-text{
position: absolute;
    transform: translate(-35%, -200%); /* Centers exactly over the image */
    font-family: 'Gotham Bold', sans-serif;
    color: white;
    font-size: 1.3rem; /* Adjusted for better fit in small grid cells */
    text-transform: uppercase;
    text-align: center;
    width: 100%;       /* Keeps text from touching the box edges */
    pointer-events: none;
	text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7); 
}
input[name="category"] {
  display: none;
}

/* Category Menu Styling */
.category-list {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 40px;
}

.category-list label {
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.9rem;
  letter-spacing: 1px;
  color: #888;
  transition: color 0.3s ease;
}

.category-list label:hover {
  color: #E41E11
}

/* Highlight Active Category */
#all:checked ~ .category-list label[for="all"],
#explainers:checked ~ .category-list label[for="explainers"],
#infographics:checked ~ .category-list label[for="infographics"],
#experiential:checked ~ .category-list label[for="experiential"],
#other:checked ~ .category-list label[for="other"],
#showreel:checked ~ .category-list label[for="showreel"] { /* Removed comma here */
  color: #E41E11; 
  font-weight: bold;
}

/* --- THE FILTERING LOGIC --- */

/* Hide items that don't match the selection */
#explainers:checked ~ .grid-container .block:not(.explainers),
#infographics:checked ~ .grid-container .block:not(.infographics),
#experiential:checked ~ .grid-container .block:not(.experiential),
#other:checked ~ .grid-container .block:not(.other),
#showreel:checked ~ .grid-container .block:not(.showreel) { /* Removed comma here */
  display: none;
}


.call-to-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 150px 20px;
  background-color: white;
  box-shadow: 0px 15px 10px -10px rgba(0, 0, 0, 0.2);
  margin-bottom: 200px;
}

.call-to-action a {
  display: inline-block;
  background-color: black;
  color: white;
  text-decoration: none;
  font-family: 'Gotham Regular', sans-serif;
  padding: 20px 50px;
  border-radius: 7px;
  font-size: 18px;
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.call-to-action h3 {
  font-family: Gotham Medium;
   font-size: clamp(30px, 3vw, 40px);
   padding: 30px;
}

.call-to-action a:hover {
  background-color: #E41E11;
  transform: translateY(-3px);
}

section.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background-color: #E41E11;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
}

section.footer .logo img {
  width: 250px;
  margin-bottom: 10px;
}

section.footer ul {
  list-style: none;
  display: flex;
  gap: 40px;
  padding: 0px;
}

section.footer ul li a {
  color: white;
  text-decoration: none;
  font-family: Gotham Bold;
  font-size: 0.9rem;
  font-weight: 500;
  display: flex;
}

section.footer a:hover {
  color: black;
}

.menu-checkbox {
  display: none !important;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
}
.layout-wrapper, 
.Work, 
.call-to-action {
    position: relative; /* REQUIRED for z-index to work */
    z-index: 10;        /* Higher than footer */
    background-color: white; /* Must be solid so we can't see the footer through it */
}

@keyframes Scale-fade {
	from {
		opacity: 0;
		scale: 0.8;
	}

	to {
		opacity: 1;
		scale: 1;
	}
}
@keyframes slide-in {
	from {
		opacity: 0;
		transform: translate(300px);
	}

	to {
		opacity: 1;
		transform: translate(0px);
	}
}
@keyframes Fade-in {
	from {
		opacity: 0;
		transform: translateY(200px);
	}

	to {
		opacity: 1;
		transform: translateY(0px);
	}
}

.menu-checkbox {
	display: none !important;
	visibility: hidden;
	pointer-events: none;
	position: absolute;
}
.mobile-only {
    display: none !important;
}


@media screen and (max-width:1700px) {
.overlay-text{
    font-size: 1.2vw; /* Adjusted for better fit in small grid cells */
}
	
}
@media screen and (max-width:1044px) {
	.mobile-only {
    display: block !important; /* Show the link on mobile */
}
	.menu-checkbox {
		display: none !important;
		visibility: hidden;
		pointer-events: none;
		position: absolute;
	}
	.menu-checkbox {
		display: none !important;
	}
	.hamburger {
		display: flex !important;
		flex-direction: column;
		justify-content: space-between;
		width: 30px;
		height: 20px;
		position: fixed;
		right: 5vw;
		top: 30px;
		z-index: 1000000001;
		cursor: pointer;
	}
	.hamburger span {
		display: block;
		height: 3px;
		width: 100%;
		background-color: white;
		border-radius: 3px;
		transition: 0.3s ease;
	}
	.navbar nav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 470px;
		background-color: #E41E11;
		z-index: 1000000000;
		padding-top: 100px;
	}
	.menu-checkbox:checked~nav {
		display: block !important;
	}
	.menu-checkbox:checked+.hamburger span:nth-child(1) {
		transform: translateY(9px) rotate(45deg);
	}
	.menu-checkbox:checked+.hamburger span:nth-child(2) {
		opacity: 0;
	}
	.menu-checkbox:checked+.hamburger span:nth-child(3) {
		transform: translateY(-9px) rotate(-45deg);
	}
	.navbar nav {
		background-color: rgba(0, 0, 0, 0.5);
		backdrop-filter: blur(6px);
	}
	.navbar {
		z-index: 1000000000 !important;
		height: 100px;
	}
	.navbar .logo {
		display: block;
		position: absolute;
		z-index: 1000000005 !important;
		height: 9000px;
		width: auto;
		top: 10px;
	}
	.navlinks {
		display: flex !important;
		flex-direction: column;
		align-items: center !important;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		width: 100% !important;
		padding: 0 !important;
	}
	.navlinks li {
		width: 100%;
		float: none !important;
	}
	.navlinks a {
		display: block !important;
		width: 100% !important;
		padding:15px 0 !important;
		font-size: 24px !important;
		text-align: center !important;
		background-color: transparent !important;
	}
	.navlinks a:hover {
		color: white !important;
		background-color: #E41E11 !important;
	}
	.work{
		width: 100%;
	}
	 .grid-container {
        grid-template-columns: repeat(2, 1fr); /* 1 column for large images, or 2 for a compact look */
        padding: 0 5%;
    }
	   .category-list {
        display: grid; /* Switch from flex to grid */
        grid-template-columns: repeat(3, 1fr); /* Exactly 2 columns */
        gap: 15px; /* Spacing between buttons */
        padding: 0% 30%;
        margin-bottom: 40px;
    }
    .category-list label {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10px 10px;
        font-size: clamp(10px, 1.5vw, 20px); /* Fluid typography */
        border-radius: 4px;
		line-height: 15px;
        text-align: center;
    }
.category-list label[for="infographics"] .desktop-only {
        display: none; /* This hides the "& Timelines" part only on mobile */
    }

    /* Since the text is shorter, make sure the button remains clean */
    .category-list label {
        padding: 15px 5px;
        font-size: 14px;
    }
	.overlay-text{
    font-size: 2vw; /* Adjusted for better fit in small grid cells */
	transform: translate(-28%, -200%); /* Centers exactly over the image */
}
}
@media screen and (max-width:430px){
.body{
	width: 100%;
}
.Work{
	width: 100%;
}
.category-list label{
	font-size: clamp(12px, 2vw, 40px); /* Fluid typography */
	padding: 5px;
	margin: 0;
}
.call-to-action{
	padding-top: 10px;
	padding-bottom: 40px;
}
 .grid-container {
        grid-template-columns: repeat(1, 1fr); /* 1 column for large images, or 2 for a compact look */
        padding: 0 5%;
    }
.section.footer ul li a {
font-size: 12px;
}
.overlay-text{
    font-size: 4.5vw; /* Adjusted for better fit in small grid cells */
	transform: translate(-5%, -200%); /* Centers exactly over the image */
}

}