:root{--bg:#080808;--fg:#f2ede6;--muted:#8a8478;--card:#141414;--border:#222;--radius:8px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;min-height:100vh}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(8,8,8,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 1rem}
nav .inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
nav .logo{display:flex;align-items:center;gap:.75rem}
nav .logo img{height:32px;width:auto;opacity:.8}
nav .logo span{font-size:.8rem;color:var(--muted)}
nav .links{display:flex;gap:.25rem;overflow-x:auto}
nav .links a{padding:.5rem .75rem;font-size:.75rem;font-weight:500;color:var(--muted);border-radius:6px;white-space:nowrap;transition:color .2s,background .2s}
nav .links a:hover,nav .links a.active{color:var(--fg);background:var(--card)}
.hero{padding:100px 1rem 3rem;text-align:center}
.hero img{margin:0 auto 1.5rem;height:60px;width:auto}
.hero p{color:var(--muted);max-width:600px;margin:0 auto}
.grid-cont{max-width:1200px;margin:0 auto;padding:0 1rem 4rem}
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.tile{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--card);aspect-ratio:4/3;cursor:pointer}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tile:hover img{transform:scale(1.05)}
.tile .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:1.25rem}
.tile:hover .overlay{opacity:1}
.tile .overlay h2{color:#fff;font-size:1.1rem;font-weight:500}
.gallery-cover{position:relative;height:40vh;overflow:hidden}
.gallery-cover img{width:100%;height:100%;object-fit:cover}
.gallery-cover .cover-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg),transparent);display:flex;align-items:flex-end;padding:2rem}
.gallery-cover .cover-overlay h1{color:#fff;font-size:2.5rem;font-weight:300}
.gallery-section{max-width:1200px;margin:0 auto;padding:2rem 1rem}
.masonry{columns:3;column-gap:1.25rem}
@media(max-width:900px){.masonry{columns:2}}
@media(max-width:600px){.masonry{columns:1}}
.masonry-item{break-inside:avoid;margin-bottom:1.25rem;border-radius:var(--radius);overflow:hidden;background:var(--card);cursor:pointer;transition:transform .3s}
.masonry-item:hover{transform:scale(1.02)}
.masonry-item img{width:100%;display:block}
.about{max-width:900px;margin:0 auto;padding:0 1rem 4rem}
.about-grid{display:grid;grid-template-columns:2fr 3fr;gap:2rem}
@media(max-width:768px){.about-grid{grid-template-columns:1fr}}
.about-photo img{border-radius:var(--radius);width:100%}
.about-text h2{font-size:1.5rem;font-weight:300;margin-bottom:1rem}
.about-text p{color:var(--muted);margin-bottom:1rem}
.mini-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-top:2rem}
.mini-nav a{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--card)}
.mini-nav a img{width:100%;height:100%;object-fit:cover}
.mini-nav a .label{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:flex-end;padding:.75rem}
.mini-nav a .label span{color:#fff;font-size:.7rem;font-weight:500}
footer{border-top:1px solid var(--border);padding:2rem;text-align:center;font-size:.7rem;color:var(--muted)}
footer img{height:24px;width:auto;margin:0 auto .75rem;opacity:.4}
