/* Badash Photography — rebuilt from badashphoto.com */
:root{
  --bg:#121212; --fg:#f4f4f4; --muted:#b9b9b9;
  --sidebar-w:300px; --container:970px;
  --nav-size:13px; --nav-ls:1.635px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg)}
body{font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

/* ---------- sidebar ---------- */
.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;
  padding:40px 20px 30px 60px;display:flex;flex-direction:column;z-index:40;background:var(--bg)}
.logo{width:120px;margin-bottom:100px;flex:0 0 auto}
.nav{flex:1 1 auto}
.nav a,.nav button{display:block;font-family:Montserrat,sans-serif;font-weight:500;
  font-size:var(--nav-size);letter-spacing:var(--nav-ls);text-transform:uppercase;
  color:var(--fg);background:none;border:0;padding:0;margin:0 0 16px;cursor:pointer;
  opacity:.92;transition:opacity .18s}
.nav a:hover,.nav button:hover{opacity:.55}
.nav a.active{opacity:1}
.submenu{display:none;margin:-6px 0 16px}
.submenu.open{display:block}
.submenu a{text-transform:none;font-family:"Open Sans",sans-serif;font-size:14px;
  letter-spacing:.2px;font-weight:400;margin-bottom:10px;color:var(--muted)}
.foot{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;
  font-size:13px;line-height:1.55;color:var(--fg)}
.contact-btn{display:inline-block;border:1px solid #fff;border-radius:6px;
  padding:9px 18px;margin-bottom:18px;
  font-family:Montserrat,sans-serif;font-weight:500;font-size:12px;
  letter-spacing:1.4px;text-transform:uppercase;color:#fff;
  transition:background-color .18s ease,color .18s ease}
.contact-btn:hover,.contact-btn:focus-visible{background:#fff;color:#121212}
.foot .ig{display:inline-block;opacity:.85}
.foot .ig:hover{opacity:.5}

/* ---------- content ---------- */
.content{margin-left:var(--sidebar-w);padding:9px 15px 60px}
.container{max-width:var(--container);padding:0}
.full{max-width:none}
.block{padding:9px 0}
.sec-title{font-family:Montserrat,sans-serif;font-weight:500;font-size:13px;
  letter-spacing:var(--nav-ls);text-transform:uppercase;color:var(--fg);
  padding:38px 0 14px;margin:0}
hr.divider{border:0;border-top:1px solid rgba(255,255,255,.13);margin:34px 0}

/* explicit blocks (Studio) */
.row2{display:flex;gap:30px}
.row2>figure{flex:1 1 0;min-width:0;margin:0}
.row1>figure{margin:0}

/* masonry */
.masonry{display:flex;align-items:flex-start}
.masonry .col{display:flex;flex-direction:column;flex:1 1 0;min-width:0}
.masonry figure{margin:0}

/* justified */
.justified figure{margin:0;overflow:hidden}
.justified figure img{width:100%;height:100%!important;object-fit:cover}
.justified .jrow{display:flex}

/* square grid */
.squares{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.squares figure{margin:0;aspect-ratio:1/1;overflow:hidden}
.squares img{width:100%;height:100%!important;object-fit:cover}

.ph{cursor:zoom-in;background:#1b1b1b}

/* about */
.about{display:flex;gap:40px;align-items:flex-start;padding:20px 0 10px}
.about .txt{flex:1 1 0;font-size:15px;line-height:1.75;color:var(--muted);max-width:520px}
.about .txt h1{font-family:Montserrat,sans-serif;font-size:15px;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--fg);margin:0 0 16px;font-weight:500}
.about figure{flex:0 1 400px;margin:0;max-width:400px;min-width:0}
.about figure.portrait{max-width:400px}

/* form */
.form{max-width:520px;padding:10px 0 40px}
.form label{display:block;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--muted);margin:0 0 7px}
.form input,.form textarea{width:100%;background:transparent;border:1px solid rgba(255,255,255,.22);
  color:var(--fg);padding:11px 13px;margin-bottom:20px;font:inherit;font-size:14px;border-radius:0}
.form input:focus,.form textarea:focus{outline:none;border-color:rgba(255,255,255,.55)}
.form textarea{min-height:150px;resize:vertical}
.form button{font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:1.6px;
  text-transform:uppercase;background:transparent;color:var(--fg);
  border:1px solid rgba(255,255,255,.45);padding:12px 30px;cursor:pointer;transition:.18s}
.form button:hover{background:var(--fg);color:var(--bg)}
.form .note{font-size:13px;color:var(--muted);margin-top:14px;min-height:20px}

/* home tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:9px 0}
.tile{position:relative;overflow:hidden;aspect-ratio:3/4;background:#1b1b1b}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tile:hover img{transform:scale(1.04)}
.tile span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:Montserrat,sans-serif;font-weight:400;font-size:26px;letter-spacing:2px;
  color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.45);text-align:center;padding:10px}

/* lightbox */
.lb{position:fixed;inset:0;background:#000;z-index:100;display:none;
  align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:92vh;width:auto;height:auto;object-fit:contain}
.lb .x,.lb .prev,.lb .next{position:absolute;background:none;border:0;color:#fff;
  cursor:pointer;opacity:.8;padding:18px;line-height:0}
.lb .x{top:14px;right:18px;font-size:30px;line-height:1}
.lb .prev{left:8px;top:50%;transform:translateY(-50%);font-size:34px;line-height:1}
.lb .next{right:8px;top:50%;transform:translateY(-50%);font-size:34px;line-height:1}
.lb .x:hover,.lb .prev:hover,.lb .next:hover{opacity:1}
.lb .count{position:absolute;top:20px;left:24px;font-size:13px;color:#fff;opacity:.8}

/* ---------- responsive ---------- */
@media (max-width:991px){
  :root{--sidebar-w:0px}
  .sidebar{position:static;width:auto;height:auto;padding:26px 22px 10px;
    flex-direction:column;border-bottom:1px solid rgba(255,255,255,.08)}
  .logo{margin-bottom:22px}
  .nav{display:flex;flex-wrap:wrap;gap:0 20px}
  .nav a,.nav button{margin-bottom:10px}
  .nav .more-wrap{width:100%}
  .submenu{display:flex;gap:18px;margin:0 0 8px}
  .submenu.open{display:flex}
  .foot{padding:14px 0 4px}
  .content{margin-left:0;padding:0 12px 40px}
  .about{flex-direction:column-reverse;gap:22px}
  .about figure{flex:none;width:100%}
  .tiles{grid-template-columns:repeat(2,1fr);gap:12px}
}
@media (max-width:575px){
  .row2{flex-direction:column;gap:10px}
  .tiles{grid-template-columns:1fr}
  .squares{grid-template-columns:repeat(2,1fr)}
  .tile span{font-size:20px}
}
