/* ===== Галерия — Нашите обекти ===== */
.nav a.active{color:var(--txt)}
.nav a.active::after{width:100%}

.gal-hero{padding:150px 0 26px;text-align:center;position:relative}
.gal-hero h1{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(2.4rem,6vw,4.4rem);letter-spacing:.01em;line-height:1.04;margin:.16em 0 0}
.gal-hero p{color:var(--txt-soft);max-width:660px;margin:18px auto 0;font-size:1.05rem}

.proj{padding:34px 0}
.proj+.proj{border-top:1px solid var(--line)}
.proj .phead{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.proj .phead .num{font-family:'Oswald',sans-serif;color:var(--cobalt);font-weight:600;
  opacity:.6;font-size:1.05rem;letter-spacing:.05em}
.proj .phead h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;
  font-size:clamp(1.25rem,2.6vw,1.85rem);letter-spacing:.02em}
.proj .phead .ln{flex:1;height:1px;background:var(--line-2)}

.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:18px}
.gal-card{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;
  border:1px solid var(--line-2);background:linear-gradient(140deg,#141922,#0c1017);
  cursor:pointer;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.gal-card.empty{cursor:default}
.gal-card:hover{transform:translateY(-4px);border-color:rgba(205,210,217,.35);
  box-shadow:0 18px 46px -16px rgba(0,0,0,.72)}
.gal-card.empty:hover{transform:none;box-shadow:none;border-color:var(--line-2)}
.gal-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gal-card:not(.empty):hover img{transform:scale(1.05)}
.gal-card:not(.empty) .ph{display:none}
.gal-card .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:9px;color:var(--txt-mute)}
.gal-card .ph svg{width:38px;height:38px;stroke:var(--cobalt);opacity:.45}
.gal-card .ph span{font-size:.74rem;text-transform:uppercase;letter-spacing:.2em}
.gal-card .corner{position:absolute;width:28px;height:28px;border:2px solid var(--cobalt);opacity:.4;z-index:2;pointer-events:none}
.gal-card .corner.tl{top:12px;left:12px;border-right:0;border-bottom:0}
.gal-card .corner.br{bottom:12px;right:12px;border-left:0;border-top:0}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(5,7,10,.93);backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:1000;padding:28px}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;border-radius:10px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.lb .x{position:absolute;top:20px;right:24px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);
  border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.25s}
.lb .x:hover{background:rgba(255,255,255,.14)}
@media(max-width:560px){.proj .phead .num{display:none}}

.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:2rem;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;transition:.25s;z-index:2;padding-bottom:4px}
.lb-prev{left:18px}.lb-next{right:18px}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.14)}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:none;color:rgba(255,255,255,.85);font-family:'Oswald',sans-serif;font-size:.95rem;letter-spacing:.08em;z-index:2}
@media(max-width:640px){.lb-prev,.lb-next{width:42px;height:42px;font-size:1.7rem}.lb-prev{left:8px}.lb-next{right:8px}}
