/* =========================
PROJECT TEXT SECTIONS
========================= */
.project-text-section { max-width: 1100px; margin: 140px auto; padding: 0 20px; }
.project-text-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.project-text-block p { font-size: clamp(18px, 2vw, 22px); line-height: 1.7; }

@media (max-width: 900px) { .project-text-grid { grid-template-columns: 1fr; gap: 60px; } }

/* =========================
FEATURE TEXT
========================= */
.project-feature-text { max-width: 900px; margin: 120px auto; padding: 0 20px; text-align: center; }
.project-feature-text p { font-size: clamp(22px, 2.6vw, 32px); line-height: 1.5; font-weight: 500; }

/* =========================
PROJECT STATS
========================= */
.project-stats { max-width: 1100px; margin: 120px auto; padding: 0 0 100px 0; }
.stats-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 60px; }
.stat-item { text-align: center; }
.stat-number { font-size: clamp(48px,6vw,72px); font-family: "Passion One", sans-serif;font-weight: 900; text-transform: uppercase; font-style: normal; line-height: 1; margin-bottom: 10px; }
.stat-label { font-size: 14px; letter-spacing: 1px; text-transform: uppercase; opacity: 0.6; }

@media (max-width: 900px) { .stats-grid { grid-template-columns: 1fr; gap: 40px; } }

/* SCROLL REVEAL */
.reveal { opacity:0; transform:translateY(40px); transition:all .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

.project-video { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.media-block:hover .project-video, .split-item:hover .project-video { transform:scale(1.03); }

/* ======================
PROJECT HERO INTRO
====================== */
.project-header { position:relative; height:100vh; background-size:cover; background-position:center; display:flex; align-items:flex-end; color:#fff; }
.project-header-inner { position:sticky; bottom:60px; max-width:800px; }
.project-header-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.75) 100%); }
.project-header-inner { position:relative; z-index:2; max-width:800px; padding-bottom:80px; }
.project-title { font-size:clamp(3rem,6vw,5rem); font-weight:900; line-height:1.05; margin-bottom:20px; }
.project-intro { font-size:clamp(18px,2vw,24px); line-height:1.6; opacity:0.9; max-width: 600px; }

/* ======================
NEXT PROJECT
====================== */
.next-project { position:relative; height:60vh; overflow:hidden; }
.next-project-link { display:block; width:100%; height:100%; color:#fff; text-decoration:none; }
.next-project-bg { position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center; transition:transform .6s ease; }
.next-project-overlay {
    position: absolute;
    inset: 0; 
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.8) 100%);
    z-index: 1;              /* make sure overlay is behind text */
}
.next-project-inner {
    position: absolute;      /* change from relative */
    bottom: 0;               /* stick to bottom */
    left: 0;
    right: 0;
    z-index: 2;
    padding: 80px 40px;      /* space from bottom and sides */
    max-width: 900px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* ensures label/title stack at bottom */
}
.next-project-label { font-size:14px; letter-spacing:2px; text-transform:uppercase; opacity:.8; margin-bottom:10px; }
.next-project-title { font-size:clamp(36px,5vw,60px); line-height:1.1; }
.next-project:hover .next-project-bg { transform:scale(1.08); }


/* ======================
Video header
====================== */

.project-header{
position:relative;
overflow:hidden;
}

.project-header-video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
}

.project-header-bg{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-size:cover;
background-position:center;
}

.project-header-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45); /* adjust darkness */
z-index:1;
}

.project-header-inner{
position:relative;
z-index:2;
}