/* ===== Страница объекта (вилла, дом, игровая комната) ===== */
.page-h { padding: 1.5rem 0 0.5rem; }
.page-h h1 { font-size: clamp(2.125rem, 6vw, 3.75rem); }
.page-h p { margin-top: 0.375rem; }
.project .ba { margin-top: 1.375rem; }

/* Галерея */
.gal { display: grid; gap: 0.625rem; margin: 1.375rem 0; }
.gi { overflow: hidden; border-radius: var(--r); aspect-ratio: 16 / 10; background: var(--bg3); cursor: zoom-in; }
.gi img {
  width: 100%; height: 100%; object-fit: cover;
  transform: translateY(var(--y, 0px)) scale(1.16); /* --y меняет скрипт: лёгкий параллакс */
  will-change: transform;
}
@media (min-width: 760px) {
  .gal { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; height: 27.5rem; }
  .gi { aspect-ratio: auto; height: 100%; }
  .gi:first-child { grid-row: span 2; }
}

/* Задача и что сделали */
.det { display: grid; gap: 1.375rem; }
@media (min-width: 760px) { .det { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.det h3 { font-size: 1.25rem; margin-bottom: 0.625rem; color: var(--tx); }
ul.ck { list-style: none; }
ul.ck li { padding: 0.5625rem 0 0.5625rem 1.625rem; position: relative; color: var(--mut); border-bottom: 1px solid var(--line); }
ul.ck li:last-child { border-bottom: 0; }
ul.ck li::before { content: ""; position: absolute; left: 2px; top: 1.4375rem; width: 0.625rem; height: 2px; background: var(--br); }
.rev { margin-top: 2.25rem; }
.backbox { margin: 2.5rem 0 3.5rem; }

@media (prefers-reduced-motion: reduce) { .gi img { transform: scale(1.02) !important; } }
.det p + h3 { margin-top: 1.5rem; }

.gal.n1 { grid-template-columns: 1fr; grid-template-rows: auto; height: auto; }
.gal.n1 .gi { aspect-ratio: 16 / 10; }
.pg { display: grid; gap: 0.625rem; margin: 1.375rem 0; grid-template-columns: repeat(2, 1fr); }
.pg .gi { aspect-ratio: 4 / 5; }
@media (min-width: 760px) { .pg { grid-template-columns: repeat(3, 1fr); } }
.pg .gi { min-width: 0; }
.rev blockquote { font-size: clamp(1.125rem, 2.4vw, 1.375rem); line-height: 1.5; max-width: none; }

.meta { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; margin: 1.5rem 0 1.25rem; padding: 1rem 0; border-top: 1px solid rgba(235, 200, 150, .18); border-bottom: 1px solid rgba(235, 200, 150, .18); }
.meta dt { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--br); }
.meta dd { margin: 0.25rem 0 0; font-size: 1.0625rem; }
.pnote { margin-top: 1.25rem; color: var(--mut); }
@media (min-width: 760px) { .meta { margin-bottom: 2.5rem; } }
