/* 7 ОКТЯБРЯ — shared inner-page styles (dark). */

.sec { padding: clamp(3.5rem,7vw,6rem) 0; }
.sec.alt { background: var(--bg-2); }
.prose-narrow { max-width: 72ch; margin: 0 auto; }
.prose-narrow.center { text-align:center; }
.prose-narrow p { color: var(--ink-soft); margin-bottom: 1rem; }
.prose-narrow p strong { color: var(--ink); }
.lead { font-size: 1.14rem; color: var(--ink-soft); }

/* alternating image / text rows (text one side, image other — auto-mirror) */
.frow { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(1.8rem,4vw,3.5rem); align-items:center; margin-bottom: clamp(2.6rem,5vw,4.5rem); }
.frow:last-child { margin-bottom:0; }
.frow:nth-child(even) .frow-media { order: 2; }
@media (max-width:820px){ .frow{ grid-template-columns:1fr; } .frow:nth-child(even) .frow-media{ order:0; } }
.frow-media { border-radius: var(--r-lg); overflow:hidden; box-shadow: var(--shadow); border:1px solid var(--line-soft); }
.frow-media img { width:100%; aspect-ratio: 4/3; object-fit:cover; transition: transform .6s var(--ease); }
.frow-media:hover img { transform: scale(1.04); }
.frow-media figcaption { font-size:.78rem; color: var(--ink-soft); padding:.6rem .2rem 0; font-style:italic; }
.frow-copy .kicker { margin-bottom:.7rem; }
.frow-copy h2 { font-size: clamp(1.7rem,1.2rem+1.7vw,2.5rem); color: var(--ink); margin-bottom: 1rem; }
.frow-copy p { color: var(--ink-soft); margin-bottom: .9rem; }

/* callout */
.callout { border-inline-start: 4px solid var(--ochre); background: var(--bg-2); border-radius: var(--r); padding: 1.2rem 1.4rem; margin-top: 1.4rem; font-size:.96rem; color: var(--ink-soft); }
.callout strong { color: var(--ink); }

/* cards grid */
.kgrid { display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; }
.kgrid.two { grid-template-columns: repeat(2,1fr); }
@media (max-width:820px){ .kgrid, .kgrid.two{ grid-template-columns:1fr; } }
.kcard { background: var(--bg-card); border:1px solid var(--line-soft); border-radius: var(--r-lg); padding: 1.8rem; box-shadow: var(--shadow); }
.kcard .ci { font-family: var(--f-display); font-size:1.8rem; color: var(--terra); line-height:1; margin-bottom:.5rem; }
.kcard h3 { font-size:1.3rem; color: var(--ink); margin-bottom:.6rem; }
.kcard p { color: var(--ink-soft); font-size:.95rem; }

/* place / community list */
.placelist { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
@media (max-width:760px){ .placelist{ grid-template-columns:1fr; } }
.placeitem { display:flex; gap:1.1rem; align-items:flex-start; background: var(--bg-card); border:1px solid var(--line-soft); border-radius: var(--r-lg); padding:1.4rem 1.5rem; box-shadow: var(--shadow); transition: transform .4s var(--ease); }
.placeitem:hover { transform: translateY(-4px); }
.placeitem .dot { width:.7rem; height:.7rem; border-radius:50%; background: var(--terra); flex:none; margin-top:.6rem; }
.placeitem h3 { font-size:1.2rem; color: var(--ink); margin-bottom:.3rem; }
.placeitem p { color: var(--ink-soft); font-size:.92rem; }

/* stats */
.statrow { display:grid; grid-template-columns: repeat(4,1fr); gap:1.6rem; }
@media (max-width:720px){ .statrow{ grid-template-columns:1fr 1fr; } }
.statc { border-top:2px solid var(--terra); padding-top:1.1rem; }
.statc b { display:block; font-family: var(--f-display); font-size: clamp(2.4rem,5vw,3.6rem); font-weight:600; color: var(--ochre); line-height:1; }
.statc span { font-size:.9rem; color: var(--ink-soft); }

/* vertical timeline (center spine) */
.tl { position:relative; max-width: 880px; margin: 0 auto; }
.tl::before { content:""; position:absolute; inset-block:0; inset-inline-start:50%; width:2px; background: linear-gradient(var(--terra), var(--ochre)); transform: translateX(-50%); }
.tl-item { position:relative; width:50%; padding:1.1rem 2.4rem; }
.tl-item:nth-child(odd){ inset-inline-start:0; text-align:end; }
.tl-item:nth-child(even){ inset-inline-start:50%; }
.tl-item::after { content:""; position:absolute; inset-block-start:1.7rem; width:15px; height:15px; border-radius:50%; background: var(--bg); border:3px solid var(--terra); }
.tl-item:nth-child(odd)::after{ inset-inline-end:-7.5px; } .tl-item:nth-child(even)::after{ inset-inline-start:-7.5px; }
.tl-card { background: var(--bg-card); border:1px solid var(--line-soft); border-radius: var(--r-lg); padding:1.2rem 1.4rem; box-shadow: var(--shadow); display:inline-block; text-align:start; }
.tl-year { font-family: var(--f-display); font-weight:600; font-size:1.4rem; color: var(--terra); }
.tl-t { font-family: var(--f-display); font-weight:600; color: var(--ink); margin:.2rem 0 .4rem; font-size:1.15rem; }
.tl-d { color: var(--ink-soft); font-size:.92rem; }
@media (max-width:720px){
  .tl::before{ inset-inline-start:8px; }
  .tl-item, .tl-item:nth-child(even){ width:100%; inset-inline-start:0; text-align:start; padding-inline-start:2.2rem; padding-inline-end:0; }
  .tl-item:nth-child(odd){ text-align:start; }
  .tl-item::after,.tl-item:nth-child(odd)::after,.tl-item:nth-child(even)::after{ inset-inline-start:1px; }
}

/* FAQ accordion */
.acc { max-width: 820px; margin: 1.6rem auto 0; }
.acc-item { border-bottom:1px solid var(--line); }
.acc-q { width:100%; text-align:start; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.3rem 0; font-family: var(--f-display); font-size:1.3rem; font-weight:600; color: var(--ink); }
.acc-q::after { content:"+"; color: var(--terra); font-size:1.5rem; flex:none; transition: transform .3s; }
.acc-item.open .acc-q::after { transform: rotate(45deg); }
.acc-a { max-height:0; overflow:hidden; transition: max-height .4s var(--ease); }
.acc-item.open .acc-a { max-height:340px; }
.acc-a p { color: var(--ink-soft); padding-bottom:1.3rem; }

/* gallery */
.gfilters { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; margin-bottom: 2rem; }
.chip { font-family: var(--f-body); font-weight:600; font-size:.84rem; padding:.55em 1.1em; border-radius:999px; border:1.5px solid var(--line); color: var(--ink-soft); background: var(--bg-card); transition:.3s; }
.chip:hover { border-color: var(--terra); color: var(--ink); }
.chip.is-active { background: var(--terra); border-color: var(--terra); color:#1a1206; }
.ggrid { columns: 3; column-gap: 1rem; }
@media (max-width:900px){ .ggrid{ columns:2; } } @media (max-width:560px){ .ggrid{ columns:1; } }
figure.shot { break-inside:avoid; margin:0 0 1rem; position:relative; overflow:hidden; border-radius: var(--r-lg); cursor:zoom-in; box-shadow: var(--shadow); background: var(--bg-2); }
figure.shot img { width:100%; display:block; transition: transform .6s var(--ease); }
figure.shot:hover img { transform: scale(1.05); }
figure.shot figcaption { position:absolute; inset-block-end:0; inset-inline:0; padding:1.6rem .9rem .7rem; font-size:.78rem; color:#fff; background: linear-gradient(transparent, rgba(6,4,7,.9)); opacity:0; transition: opacity .35s; }
figure.shot:hover figcaption { opacity:1; }
.credits-box { max-width:72ch; margin:0 auto; text-align:center; }
.credits-box h2 { font-size:1.6rem; color: var(--ink); margin-bottom:1rem; }
.credits-box p { color: var(--ink-soft); font-size:.92rem; }
