/* =====================
   WORK — PAGE OVERRIDES
   ===================== */

main{
width:100%;
flex:1;
}

/* CARD WRAPPER */

.work-card{
margin:24px;
background:var(--surface);
border-radius:10px;
overflow:hidden;
}

/* PAGE TITLE */

.work-title{
padding:48px 40px 32px;
text-align:center;
}

.work-title h1{
font-family:'Bebas Neue', sans-serif;
font-size:56px;
font-weight:400;
text-transform:uppercase;
letter-spacing:0px;
line-height:1;
margin:0 0 12px;
color:var(--text);
}

.work-title h1::after{
content:'';
display:block;
width:48px;
height:4px;
background:var(--accent);
margin:12px auto 0;
border-radius:2px;
}

.work-title p{
font-size:15px;
color:var(--text-muted);
line-height:1.5;
margin:0 auto;
max-width:480px;
}

/* FULL-WIDTH GRID */

.project-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:16px;
width:100%;
max-width:none;
box-sizing:border-box;
padding:0 24px 24px;
}

/* CARD */

.project-card{
display:block;
text-decoration:none;
color:inherit;
position:relative;
border-radius:10px;
overflow:hidden;
background:var(--surface-2);
border:none;
transition:transform 0.2s, box-shadow 0.2s;
}

.project-card:hover{
transform:translateY(-4px);
box-shadow:0 16px 48px rgba(232,82,42,0.25);
}


.project-card .project-img-placeholder{
width:100%;
aspect-ratio:4/3;
background:var(--surface);
border-radius:0;
border:none;
margin:0;
}

.project-card-info{
padding:16px 20px 22px;
}

.project-card-tags{
display:flex;
gap:6px;
margin-bottom:10px;
}

.project-card-info h3{
font-family:'Bebas Neue', sans-serif;
font-size:22px;
font-weight:700;
letter-spacing:0.5px;
text-transform:uppercase;
margin:0 0 4px;
color:var(--text);
}

.project-card-info p{
font-size:12px;
color:var(--text-faint);
margin:0;
letter-spacing:0.3px;
}

/* TAGS */

.tag{
display:inline-block;
padding:3px 10px;
border:1.5px solid var(--accent-2);
border-radius:20px;
font-size:11px;
font-weight:700;
letter-spacing:1px;
text-transform:uppercase;
color:var(--accent-2);
font-family:'Bebas Neue', sans-serif;
}

/* =====================
   FULLSCREEN OVERLAY
   ===================== */

.project-overlay{
position:fixed;
inset:0;
background:var(--bg);
z-index:200;
overflow-y:auto;
opacity:0;
pointer-events:none;
transform:translateY(32px);
transition:opacity 0.3s ease, transform 0.3s ease;
}

.project-overlay.open{
opacity:1;
pointer-events:all;
transform:translateY(0);
}

.project-overlay-close{
position:fixed;
top:24px;
right:32px;
background:var(--surface);
border:1.5px solid var(--border);
border-radius:50%;
width:40px;
height:40px;
font-size:16px;
cursor:pointer;
color:var(--text-faint);
transition:color 0.2s, border-color 0.2s;
z-index:201;
font-family:inherit;
display:flex;
align-items:center;
justify-content:center;
}

.project-overlay-close:hover{
color:#fff;
background:var(--accent);
border-color:var(--accent);
}

.project-overlay-body{
max-width:960px;
margin:0 auto;
padding:0 40px 100px;
}

/* IMAGE LIGHTBOX */

.img-lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,0.92);
z-index:300;
display:flex;
align-items:center;
justify-content:center;
padding:40px;
opacity:0;
pointer-events:none;
transition:opacity 0.2s;
}

.img-lightbox.open{
opacity:1;
pointer-events:all;
}

.img-lightbox-content{
display:flex;
align-items:center;
justify-content:center;
max-width:90vw;
max-height:90vh;
}

.img-lightbox-content img{
max-width:100%;
max-height:90vh;
object-fit:contain;
border-radius:6px;
box-shadow:0 24px 80px rgba(0,0,0,0.8);
}

.img-lightbox-content .project-img-placeholder{
width:80vw;
max-width:900px;
aspect-ratio:16/9;
border-radius:8px;
margin:0;
border:none;
}

.img-lightbox-close{
position:absolute;
top:20px;
right:24px;
background:rgba(255,255,255,0.1);
border:1.5px solid rgba(255,255,255,0.2);
border-radius:50%;
width:40px;
height:40px;
font-size:16px;
cursor:pointer;
color:#fff;
transition:background 0.2s;
display:flex;
align-items:center;
justify-content:center;
}

.img-lightbox-close:hover{
background:rgba(255,255,255,0.25);
}

/* MOBILE */

@media (max-width:1000px){

.project-grid{
grid-template-columns:repeat(2, 1fr);
}

}

@media (max-width:700px){

.work-card{
margin:12px;
}

.work-title{
padding:28px 20px 20px;
}

.work-title h1{
font-size:36px;
}

.project-grid{
grid-template-columns:1fr;
gap:12px;
padding:0 12px 12px;
}

}
