/* GOBUSTAN — shared inner-page styles (dark stone). */
.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; }
.lead { font-size: 1.12rem; color: var(--sand-dim); }

.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); }
.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(--sand-far); padding:.6rem .2rem 0; font-style:italic; }
.frow-copy .kicker { margin-bottom:.7rem; }
.frow-copy h2 { font-size: clamp(1.6rem,1.2rem+1.6vw,2.4rem); margin-bottom:1rem; }
.frow-copy p { color: var(--sand-dim); margin-bottom:.9rem; }

.callout { border-inline-start:4px solid var(--ochre); background: var(--bg-3); border-radius: var(--r); padding:1.2rem 1.4rem; margin-top:1.2rem; font-size:.95rem; color: var(--sand-dim); }
.callout strong { color: var(--sand); }

.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-3); border:1px solid var(--line); border-radius: var(--r-lg); padding:1.8rem; box-shadow: var(--shadow); }
.kcard h3 { font-size:1.3rem; margin-bottom:.6rem; }
.kcard p { color: var(--sand-dim); font-size:.95rem; }
.kcard .note { font-size:.82rem; font-style:italic; color: var(--sand-far); margin-top:.7rem; }

/* stat band (volcanoes) */
.statband { background: var(--bg-3); border-block:1px solid var(--line); padding: clamp(2.5rem,5vw,3.5rem) 0; }
.statband .container { display:flex; gap:2rem; flex-wrap:wrap; justify-content:center; align-items:center; text-align:center; }
.statband .big { font-family: var(--f-display); font-weight:700; font-size: clamp(2.6rem,2rem+3vw,4.5rem); color: var(--ochre); line-height:1; }
.statband .lab { color: var(--sand-dim); max-width:30ch; text-align:start; }

/* roman inscription quote */
.inscription { font-family: var(--f-accent); font-size: clamp(1rem,.9rem+.6vw,1.4rem); letter-spacing:.08em; color: var(--ochre-br); background: var(--bg-3); border:1px solid var(--line); border-radius: var(--r-lg); padding:1.4rem 1.6rem; text-align:center; margin:1.2rem 0; }

/* timeline */
.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(--ochre); }
.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-3); border:1px solid var(--line); 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:700; font-size:1.4rem; color: var(--ochre); }
.tl-t { font-family: var(--f-display); font-weight:700; margin:.2rem 0 .4rem; }
.tl-d { color: var(--sand-dim); 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; }
}

/* visit ways */
.ways { display:grid; grid-template-columns: repeat(3,1fr); gap:1.3rem; }
@media (max-width:820px){ .ways{ grid-template-columns:1fr; } }
.way { background: var(--bg-3); border:1px solid var(--line); border-radius: var(--r-lg); padding:1.6rem; }
.way .n { font-family: var(--f-display); color: var(--ochre); font-size:1.4rem; }
.way h3 { font-size:1.15rem; margin:.3rem 0 .5rem; }
.way p { color: var(--sand-dim); font-size:.92rem; }
.tips { list-style:none; max-width:760px; margin:1.4rem auto 0; }
.tips li { display:flex; gap:.7rem; padding:.6rem 0; color: var(--sand-dim); border-bottom:1px solid var(--line-soft); }
.tips li:last-child{ border-bottom:0; }
.tips li svg { width:1.3rem; height:1.3rem; color: var(--ochre); flex:none; margin-top:.15rem; }

/* 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(--sand-dim); background: var(--bg-3); transition:.3s; }
.chip:hover { border-color: var(--ochre); color: var(--sand); }
.chip.is-active { background: var(--ochre); border-color: var(--ochre); color: var(--ink); }
.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-3); border:1px solid var(--line); }
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:.76rem; color:#fff; background: linear-gradient(transparent, rgba(8,6,3,.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.5rem; margin-bottom:1rem; }
.credits-box p { color: var(--sand-dim); font-size:.92rem; }
