*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#111;font:12px Arial,Helvetica,sans-serif;letter-spacing:.02em}
a{color:inherit;text-decoration:none}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;padding:30px 34px;background:#fff;z-index:10;display:block}
.sidebar-profile{width:170px;height:170px;margin-bottom:28px}.sidebar-profile img{display:block;width:170px;height:170px;border-radius:50%;object-fit:cover}.name{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:42px}
.desktop-nav{display:flex;flex-direction:column;gap:10px}
.desktop-nav a{opacity:.45}
.desktop-nav a:hover,.desktop-nav a.current{opacity:1}
main{margin-left:270px;padding:30px 34px 100px}
.page-title{font-size:10px;letter-spacing:.1em;margin:0 0 26px}
/* JS-positioned masonry: DOM order is preserved while images fill the shortest available column. */
.home-grid,.category-grid{position:relative;width:100%;}
.home-grid figure,.category-grid figure{position:absolute;top:0;left:0;margin:0;min-width:0}
.home-grid img,.category-grid img{display:block;width:100%;height:auto;cursor:zoom-in;transition:opacity .18s ease}
.home-grid img:hover,.category-grid img:hover{opacity:.86}
.text{max-width:500px;line-height:1.7}
.text p{margin:0 0 12px}
.about-text{max-width:500px}

.mobile-header{display:none}
.mobile-nav{display:none}
#lightbox{display:none;position:fixed;inset:0;z-index:50;background:rgba(255,255,255,.97);align-items:center;justify-content:center;padding:30px}
#lightbox.open{display:flex}
#lightbox img{max-width:94vw;max-height:92vh;width:auto;height:auto}
#lightbox button{position:fixed;right:24px;top:18px;border:0;background:none;font-size:30px;font-weight:200;cursor:pointer}
@media(max-width:1000px){.sidebar{width:220px;padding-left:26px;padding-right:26px}.sidebar-profile,.sidebar-profile img{width:140px;height:140px}main{margin-left:220px}}
@media(max-width:650px){.sidebar{display:none}.mobile-header{display:flex;position:sticky;top:0;z-index:20;height:52px;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(255,255,255,.97)}.mobile-header .name{margin:0}.menu-button{border:0;background:none;padding:0;font:inherit;cursor:pointer}.mobile-nav{display:none;position:fixed;left:0;right:0;top:52px;z-index:19;background:rgba(255,255,255,.98);padding:8px 18px 16px;border-bottom:1px solid #eee}.mobile-nav.open{display:flex;flex-direction:column;gap:12px}main{margin-left:0;padding:22px 14px 80px}#lightbox{padding:16px}#lightbox img{max-width:96vw;max-height:88vh}}


/* Contact form */
.contact-form{
  max-width:500px;
  margin-top:34px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.contact-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.contact-form label span{
  font-size:10px;
  letter-spacing:.08em;
  color:#555;
}

.contact-form input:not([type="checkbox"]),
.contact-form textarea{
  width:100%;
  border:0;
  border-bottom:1px solid #ddd;
  border-radius:0;
  padding:8px 0 10px;
  background:transparent;
  color:#111;
  font:12px Arial,Helvetica,sans-serif;
  letter-spacing:.02em;
  outline:none;
}

.contact-form textarea{
  min-height:120px;
  line-height:1.7;
  resize:vertical;
}

.contact-form input:not([type="checkbox"]):focus,
.contact-form textarea:focus{
  border-bottom-color:#111;
}

.contact-form button{
  align-self:flex-start;
  border:1px solid #555;
  padding:9px 18px;
  margin-top:2px;
  background:#fff;
  color:#555;
  font:12px Arial,Helvetica,sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
}

.contact-form button:hover{
  background:#555;
  color:#fff;
}

.contact-form button:disabled{
  opacity:.4;
  cursor:wait;
}

.form-status{
  min-height:18px;
  margin:0;
  font-size:11px;
  line-height:1.6;
}

.hidden-botcheck{
  display:none!important;
}

.contact-email{
  margin-top:32px;
}

@media(max-width:650px){
  .contact-form{
    max-width:none;
    margin-top:30px;
    gap:20px;
  }
}
