/* Final Consolidated CSS with Hamburger Menu */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
:root{--bg-color:#111111;--text-color:#ffffff;--text-muted-color:#a0a0a0;--accent-color:#ffffff;--border-color:#222222;--overlay-bg:rgba(0,0,0,0.4);--lightbox-bg:rgba(0,0,0,0.9);--gap:15px;}
*{margin:0;padding:0;box-sizing:border-box}
body{background-color:var(--bg-color);color:var(--text-color);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.container{max-width:1400px;margin:0 auto;padding:0 var(--gap)}
main.container{margin-top:40px}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.header{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--border-color)}
.logo{font-size:1.5rem;font-weight:700;color:var(--text-color)}
.main-nav ul{display:flex;list-style:none;gap:30px;align-items:center}
.main-nav a{color:var(--text-muted-color);font-size:1rem;font-weight:600;transition:color .3s ease;position:relative;padding-bottom:5px}
.main-nav a:hover,.main-nav a.is-active{color:var(--text-color)}
.main-nav a.is-active::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--accent-color)}
.controls{display:flex;justify-content:flex-end;padding:20px 0;align-items:center}
.layout-switcher button{background:none;border:none;cursor:pointer;padding:5px;margin-left:10px}
.layout-switcher svg{width:24px;height:24px;fill:var(--text-muted-color);transition:fill .3s ease}
.layout-switcher button.is-active svg,.layout-switcher button:hover svg{fill:var(--text-color)}
.gallery{padding:var(--gap) 0}
.gallery-item{position:relative;cursor:pointer;overflow:hidden;margin-bottom:var(--gap);background-color:#222}
.gallery-item img{display:block;width:100%;height:auto;transition:transform .4s ease}
.gallery-item:hover img{transform:scale(1.05)}
.gallery.grid-view .gallery-item{aspect-ratio:1 / 1;margin-bottom:0}
.gallery.grid-view .gallery-item img{height:100%;object-fit:cover}
.gallery.masonry-view{column-count:4;column-gap:var(--gap)}
.gallery.masonry-view .gallery-item{display:inline-block;width:100%;break-inside:avoid}
.item-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}
.gallery-item:hover .item-overlay{opacity:1}
.item-overlay svg{width:48px;height:48px;fill:var(--text-color)}
.play-icon{position:absolute;right:15px;bottom:15px;width:32px;height:32px;fill:var(--text-color);pointer-events:none;opacity:.8;filter:drop-shadow(0 0 5px rgba(0,0,0,.7))}
.gallery.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap)}
.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--lightbox-bg);display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:1000}
.lightbox.is-visible{opacity:1;visibility:visible}
.lightbox-content{position:relative;display:flex;justify-content:center;align-items:center}
.lightbox-content img,.lightbox-content video{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:none;cursor:pointer;z-index:1001}
.lightbox-close svg,.lightbox-prev svg,.lightbox-next svg{width:32px;height:32px;fill:var(--text-muted-color);transition:fill .3s ease,transform .2s ease}
.lightbox-close:hover svg,.lightbox-prev:hover svg,.lightbox-next:hover svg{fill:var(--text-color);transform:scale(1.1)}
.lightbox-close{top:-40px;right:0}
.lightbox-prev{top:50%;left:-50px;transform:translateY(-50%)}
.lightbox-next{top:50%;right:-50px;transform:translateY(-50%)}
.footer{text-align:center;padding:40px 0;margin-top:30px;border-top:1px solid var(--border-color)}
.footer .social-links{margin-top:15px;display:flex;justify-content:center;gap:20px}
.footer .social-links a svg{width:24px;height:24px;fill:var(--text-muted-color);transition:fill .3s ease}
.footer .social-links a:hover svg{fill:var(--text-color)}
.hero-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem;background-color:var(--bg-color);border-bottom:1px solid var(--border-color)}
.avatar{width:120px;height:120px;border-radius:50%;border:4px solid rgba(255,255,255,.8);margin-bottom:1.5rem;object-fit:cover}
.hero-title{font-size:3rem;font-weight:700;margin-bottom:1rem;color:var(--text-color)}
.hero-bio{font-size:1.2rem;max-width:600px;margin-bottom:2.5rem;color:var(--text-muted-color);line-height:1.6}
.hero-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:15px 30px}
.hero-nav a{color:var(--text-muted-color);font-size:1rem;font-weight:600;text-decoration:none;transition:color .3s ease;padding-bottom:5px;border-bottom:2px solid transparent}
.hero-nav a:hover{color:var(--text-color)}
.hero-nav a.is-active{color:var(--text-color);border-bottom-color:var(--accent-color)}
.header-controls{display:flex;align-items:center;gap:20px}
.hamburger-btn{display:none;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:10}
.hamburger-btn span{width:2rem;height:.25rem;background:var(--text-color);border-radius:10px;transition:all .3s linear;position:relative;transform-origin:1px}
.hamburger-btn.is-open span:nth-child(1){transform:rotate(45deg)}
.hamburger-btn.is-open span:nth-child(2){opacity:0;transform:translateX(20px)}
.hamburger-btn.is-open span:nth-child(3){transform:rotate(-45deg)}
@media (max-width:1200px){.gallery.masonry-view{column-count:3}}
@media (max-width:768px){.main-nav{position:fixed;top:0;right:0;height:100vh;width:70vw;max-width:300px;background-color:var(--bg-color);border-left:1px solid var(--border-color);transform:translateX(100%);transition:transform .3s ease-in-out;padding-top:6rem;z-index:9}.main-nav.is-open{transform:translateX(0)}.main-nav ul{flex-direction:column;align-items:center;gap:40px}.main-nav a{font-size:1.2rem}.hamburger-btn{display:flex}.gallery.masonry-view{column-count:2}}
@media (max-width:480px){.gallery.masonry-view{column-count:1}}