/* Геопластика ЗУМ — страницы объектов и регионов (дополняет styles.css) */

.pg-hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;padding:calc(var(--header-h) + clamp(1.5rem,1rem + 2vw,3rem)) 0 clamp(2.5rem,2rem + 3vw,4.5rem)}
.pg-hero__topo{position:absolute;inset:0;background:rgba(255,255,255,.07);-webkit-mask:url(img/topo.svg) center/cover no-repeat;mask:url(img/topo.svg) center/cover no-repeat;pointer-events:none}
.pg-hero .container{position:relative}
.crumbs{display:flex;flex-wrap:wrap;gap:.35rem .6rem;margin:0 0 1.5rem;padding:0;list-style:none;font-size:var(--text-xs);color:rgba(255,255,255,.65)}
.crumbs li+li::before{content:"›";margin-right:.6rem;opacity:.6}
.crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.crumbs a:hover{color:#fff}
.pg-hero h1{font-family:var(--font-display);font-size:clamp(1.8rem,1.1rem + 2.8vw,3.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;max-width:22ch;margin-bottom:1.25rem}
.pg-hero__lead{font-size:var(--text-lg);color:rgba(255,255,255,.82);max-width:56ch;margin:0}
.pg-facts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.75rem 0 0;padding:0;list-style:none}
.pg-facts li{font-size:var(--text-sm);padding:.45rem .9rem;border-radius:999px;background:rgba(255,255,255,.1)}
.pg-facts b{color:var(--yellow);font-weight:700;margin-right:.3rem}

/* ---------- Объект ---------- */
.ob{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.ob-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ob-gal button{position:relative;padding:0;border:0;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;background:var(--surface-2);aspect-ratio:3/2}
.ob-gal button:first-child{grid-column:1/-1;aspect-ratio:16/9}
.ob-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.ob-gal button:hover img{transform:scale(1.04)}
.ob-gal button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.ob-side{position:sticky;top:calc(var(--header-h) + 24px)}
.ob-side h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin-bottom:1rem}
.ob-side p{color:var(--ink-2)}
.ob-meta{display:grid;gap:.75rem;margin:1.5rem 0;padding:0}
.ob-meta div{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:.7rem}
.ob-meta dt{font-size:var(--text-xs);color:var(--muted);font-weight:700}
.ob-meta dd{margin:0;font-weight:700}
.ob-meta a{color:var(--accent);text-decoration:none;border-bottom:1.5px solid currentColor}
.ob-els{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1.75rem;padding:0;list-style:none}
.ob-els li{font-size:var(--text-xs);font-weight:700;padding:.4rem .8rem;border-radius:999px;background:var(--surface-2)}

/* ---------- Сетка карточек объектов (как в портфолио) ---------- */
.pg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pg-cards .card{grid-column:auto;height:auto;aspect-ratio:4/3;text-decoration:none}
.pg-more{background:var(--surface-2)}
.pg-more .section-head{margin-bottom:clamp(1.5rem,1rem + 1.5vw,2.5rem)}

/* ---------- Регион ---------- */
.rg-text{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.rg-text p{color:var(--ink-2);font-size:var(--text-lg)}
.rg-cities{background:var(--surface);border-radius:var(--radius);padding:clamp(1.25rem,1rem + 1vw,2rem)}
.rg-cities h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:1rem}
.rg-cities ul{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1rem;padding:0;list-style:none}
.rg-cities li{font-size:var(--text-sm);font-weight:700;padding:.4rem .85rem;border-radius:999px;background:var(--bg)}
.rg-cities p{font-size:var(--text-sm);margin:0}
.rg-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0;padding:0;list-style:none;counter-reset:s}
.rg-steps li{background:var(--surface);border-radius:var(--radius);padding:1.4rem;counter-increment:s}
.rg-steps li::before{content:"0" counter(s);display:block;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--accent);margin-bottom:.6rem}
.rg-steps h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;margin-bottom:.4rem}
.rg-steps p{margin:0;font-size:var(--text-sm);color:var(--ink-2)}
.rg-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.rg-list a{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem 1.35rem;border-radius:var(--radius);background:var(--surface);text-decoration:none;color:var(--ink);box-shadow:0 1px 0 var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.rg-list a:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,33,27,.12)}
.rg-list small{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.rg-list b{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}
.rg-list span{font-size:var(--text-sm);color:var(--ink-2)}

/* ---------- Просмотр фото ---------- */
.lb{border:0;padding:0;background:transparent;max-width:min(1200px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:visible}
.lb::backdrop{background:rgba(10,16,13,.9)}
.lb img{display:block;max-width:min(1200px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);border-radius:12px}
.lb__btn{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.6rem;cursor:pointer;display:grid;place-items:center}
.lb__prev{left:16px}.lb__next{right:16px}
.lb__close{position:fixed;top:16px;right:16px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:1.6rem;cursor:pointer}
.lb__count{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);color:#fff;font-size:var(--text-sm);font-weight:700;background:rgba(0,0,0,.5);padding:.3rem .8rem;border-radius:999px}

@media (max-width:1020px){
  .ob,.rg-text{grid-template-columns:1fr}
  .ob-side{position:static}
  .pg-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rg-steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .pg-cards,.ob-gal{grid-template-columns:1fr}
  .rg-steps{grid-template-columns:1fr}
  .lb__btn{width:40px;height:40px}
}

/* ---------- Виды геопластики ---------- */
.rg-steps--2{grid-template-columns:repeat(2,1fr)}
.rg-steps--2 li{background:var(--surface)}

/* ---------- Статья ---------- */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,5vw,5rem);align-items:start}
.art__body{max-width:72ch}
.art__body h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;margin:2.2rem 0 .9rem}
.art__body h2:first-child{margin-top:0}
.art__body p{font-size:var(--text-lg);line-height:1.65;color:var(--ink-2)}
.art__side{position:sticky;top:calc(var(--header-h) + 24px);background:var(--surface);border-radius:var(--radius);padding:1.5rem}
.art__side ul{margin:0 0 1.25rem;padding:0;list-style:none;display:grid;gap:.6rem}
.art__side a:not(.btn){color:var(--accent);font-weight:700;text-decoration:none;border-bottom:1.5px solid currentColor}
@media (max-width:1020px){.art{grid-template-columns:1fr}.art__side{position:static}}
@media (max-width:640px){.rg-steps--2{grid-template-columns:1fr}}
