/* ========================================================
CLEAN MASTER STYLESHEET — FINAL STABLE BUILD
Sidebar overlay fixed
Typography consistent
Mobile menu behaves like real panel
======================================================== */

*{margin:0;padding:0;box-sizing:border-box;}

body{
font-family:"Times New Roman",Times,serif;
color:#111;
background:#fff;
}

/* ================= LAYOUT ================= */

.container{
display:flex;
min-height:100vh;
}

/* ================= DESKTOP SIDEBAR ================= */

.sidebar{
position:fixed;
left:0;
top:0;
width:280px;
height:100vh;
padding:80px 50px;
background:#fff;
z-index:1000;
}

/* name */
.home-link{
display:block;
font-family:"Minion 3 Caption Semibold","Times New Roman",Times,serif;
font-size:20px;
font-weight:600;
text-decoration:none;
color:#111;
margin-bottom:6px;
}

/* role */
.sidebar-role{
font-size:14px;
opacity:.6;
margin-bottom:18px;
}

/* nav links */
.sidebar-nav a{
display:block;
text-decoration:none;
color:#111;
font-size:14px;
margin-bottom:9px;
text-transform:lowercase;
}

.sidebar-nav a:hover{opacity:.6;}

/* ================= CONTENT ================= */

.content{
margin-left:280px;
padding:120px 100px;
width:100%;
}

/* homepage grid */

.grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:80px;
}

.project img{
width:100%;
height:auto;
display:block;
transition:transform .3s ease;
}

.project:hover img{transform:scale(1.02);}

/* ================= GALLERY ================= */

.gallery-wrapper{
position:relative;
overflow:hidden;
margin-bottom:30px;
}

.gallery{
display:flex;
gap:40px;
overflow-x:auto;
scroll-behavior:smooth;
-webkit-overflow-scrolling:touch;
padding-bottom:12px;
}

/* desktop scrollbar */
.gallery::-webkit-scrollbar{height:6px;}
.gallery::-webkit-scrollbar-thumb{background:#111;border-radius:10px;}
.gallery::-webkit-scrollbar-track{background:transparent;}
.gallery{scrollbar-width:thin;scrollbar-color:#111 transparent;}

.gallery img{
width:500px;
flex:0 0 auto;
cursor:pointer;
transition:opacity .25s ease;
}
.gallery img:hover{opacity:.85;}

/* ================= PROJECT TEXT ================= */

.project-info{
margin-top:120px;
max-width:600px;
font-size:14px;
line-height:1.6;
}

/* ================= LIGHTBOX ================= */

.lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,.9);
display:none;
justify-content:center;
align-items:center;
z-index:3000;
}
.lightbox img{max-width:90%;max-height:90%;}

/* ================= MOBILE HEADER ================= */

.mobile-header{display:none;}

@media(max-width:900px){

/* header */
.mobile-header{
display:flex;
justify-content:space-between;
align-items:center;
position:fixed;
top:0;left:0;right:0;
height:70px;
padding:0 20px;
background:#fff;
z-index:4000;
}

.mobile-home{
font-family:"Minion 3 Caption Semibold","Times New Roman",Times,serif;
font-size:18px;
text-decoration:none;
color:#111;
}

.menu-toggle{
font-size:26px;
background:none;
border:none;
cursor:pointer;
}

/* OVERLAY SIDEBAR — REAL PANEL */
.sidebar{
position:fixed;
top:0;
right:0;
width:100%;
height:100vh;
padding-top:120px;
background:#fff;
transform:translateX(100%);
transition:transform .35s cubic-bezier(.77,0,.18,1);
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
z-index:3500;
}

.sidebar.open{transform:translateX(0);}

/* hide name inside panel */
.sidebar .home-link,
.sidebar .sidebar-role{display:none;}

.sidebar-nav a{
font-size:22px;
margin-bottom:26px;
}

/* content shift */
.content{
margin-left:0;
padding:100px 20px 40px;
}

.grid{grid-template-columns:1fr;gap:40px;}

/* swipe gallery */
.gallery{scroll-snap-type:x mandatory;}
.gallery img{
width:85vw;
scroll-snap-align:start;
}

}
/* ===== permanently remove gallery arrows ===== */
.gallery-prev,
.gallery-next {
  display: none !important;
}