/* Terracota Art · подход 5 (piezas-de-autor, el-maestro, articulos) поверх theme.css + pro.css + pro2.css + pro3.css.
   Только новое; общие файлы не правятся. Прозу прототипа (.quote .arts .art .gal .legs …) стилизуем под .pr-p. */

/* линия прогресса прокрутки — тонкая, золотая, под шапкой */
.k .pr-prog { position: fixed; left: 0; right: 0; top: var(--hh); height: 3px; z-index: 39; pointer-events: none; }
.k .pr-prog i { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--clay-l), var(--clay) 61.8%, var(--cream)); }

/* общее для прозы */
.k .pr-p h2 { font-size: 34px; line-height: 1.08; max-width: 18ch; margin-bottom: 18px; }
@media (min-width: 900px) { .k .pr-p h2 { font-size: 58px; max-width: 18ch; } }
.k .pr-p p { max-width: 38em; }
.k .pr-p .note-q { font-size: 15px; opacity: .8; margin: 10px 0 0; }
.k :is(.pr-night, .pr-sun) .note-q { color: var(--clay-l); opacity: 1; }
.k .pr-sun .note-q { color: rgba(244, 237, 227, .86); }
.k .pr-p .quote { margin: 0; font: 400 28px/1.22 var(--serif); max-width: 24ch; }
.k .pr-p .quote.big { font-size: 38px; max-width: 14ch; }
.k .pr-p .quote::before { content: ""; display: block; width: 54px; height: 2px; margin-bottom: 20px; background: var(--clay); }
.k :is(.pr-night, .pr-sun) .quote::before { background: var(--clay-l); }
.k .pr-sun .quote::before { background: var(--cream); }
@media (min-width: 900px) { .k .pr-p .quote { font-size: 44px; } .k .pr-p .quote.big { font-size: 76px; } }
.k .pr-p .arrow { margin-right: 22px; }
.k .pr-sun .btn-line { color: var(--cream); }
.k .pr-p figure { margin: 0; }
.k .pr-p figcaption { font-size: 13px; line-height: 1.4; margin-top: 8px; }
.k :is(.pr-night, .pr-sun) .pr-p figcaption, .k :is(.pr-night, .pr-sun).pr-p figcaption { color: rgba(244, 237, 227, .78); }
.k .pr-phi { position: absolute; right: -2vw; bottom: -10vw; font: 400 50vw/1 var(--serif); color: rgba(176, 96, 60, .14); pointer-events: none; }
.k .pr-sun .pr-phi, .k .pr-night .pr-phi { color: rgba(244, 237, 227, .09); }
.k .pr-p > :not(.pr-phi) { position: relative; }
@media (min-width: 900px) { .k .pr-phi { font-size: 32vw; } }

/* ============ PIEZAS DE AUTOR ============ */
.k .pr-pd-form .fld input { background: #FFFDF9; }
.k .pr-pd-oficio { display: grid; gap: 30px; align-items: center; background: linear-gradient(170deg, #EFE5D8 0%, #E4D3C0 55%, #D9A27F 100%); }
.k .pr-pd-oficio__card { justify-self: end; width: 80%; transform: rotate(-3deg); }
.k .pr-pd-oficio__card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px; border: 10px solid var(--card); box-shadow: 0 40px 70px rgba(60, 25, 10, .35); }
@media (min-width: 900px) { .k .pr-pd-oficio { grid-template-columns: 1.5fr 1fr; gap: 80px; } .k .pr-pd-oficio__card { width: 78%; justify-self: center; } }
.k .pr-pd-raku .pr-bar__box h2 { max-width: 12ch; }

/* ============ ARTÍCULOS (список) ============ */
.k .pr-j { display: grid; gap: 40px; }
.k .pr-j .art { display: block; text-decoration: none; color: inherit; }
.k .pr-j .art img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px; box-shadow: 0 26px 54px rgba(43, 33, 28, .22); transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.k .pr-j .art:hover img { transform: translateY(-6px); }
.k .pr-j .art h3 { font-size: 24px; line-height: 1.15; margin: 16px 0 6px; }
.k .pr-j .art p { font-size: 15px; line-height: 1.5; color: var(--mute); margin: 0 0 8px; max-width: 32em; }
.k .pr-j .art .more-link { font: 500 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--clay-d); }
.k .pr-j .art .more-link::after { content: " →"; }
.k :is(.pr-night, .pr-sun) .pr-j .art p { color: rgba(244, 237, 227, .78); }
.k :is(.pr-night, .pr-sun) .pr-j .art .more-link { color: var(--clay-l); }
.k .pr-sun .pr-j .art .more-link { color: var(--cream); }
.k .pr-j--two .art:first-child img { aspect-ratio: 16 / 11; }
.k .pr-j--two .art h3 { font-size: 30px; }
@media (min-width: 700px) { .k .pr-j--three { grid-template-columns: repeat(3, 1fr); gap: 36px; } .k .pr-j--three .art:nth-child(2) { margin-top: 56px; } }
@media (min-width: 900px) {
  .k .pr-j--two { grid-template-columns: 1.618fr 1fr; gap: 64px; align-items: start; }
  .k .pr-j--two .art:nth-child(2) { margin-top: 90px; }
  .k .pr-j--two .art h3 { font-size: 36px; }
  .k .pr-j--three { gap: 48px; }
  .k .pr-j--three .art h3 { font-size: 28px; }
}
.k .pr-jgo { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; }
.k .pr-jhead h1 { font-size: 40px; line-height: 1.04; margin-bottom: 16px; max-width: 12ch; }
@media (min-width: 900px) { .k .pr-jhead h1 { font-size: clamp(48px, 5.4vw, 88px); } }

/* ============ EL MAESTRO ============ */
.k .pr-hero .km { margin: 0 0 14px; font: 400 clamp(56px, 17vw, 120px)/.9 var(--serif); color: var(--clay-l); letter-spacing: -.02em; opacity: 1; max-width: none; }
.k .pr-ma-route .route { position: relative; margin: 6px 0 0; box-shadow: 0 34px 70px rgba(60, 25, 10, .22); border-radius: 3px; overflow: hidden; background: var(--card); }
.k .pr-ma-route .route svg { width: 100%; height: auto; display: block; background: var(--card); }
.k .route .grid line { stroke: rgba(43, 33, 28, .08); stroke-width: .6; }
.k .route .path { fill: none; stroke: var(--clay-d); stroke-width: 2.4; stroke-dasharray: 6 5; }
.k .route .draw { fill: none; stroke: var(--card); stroke-width: 4; transition: stroke-dashoffset 3.2s ease; }
.k .route .dot { fill: var(--ink); }
.k .route text { font: 12px/1 var(--sans); fill: var(--ink); }
@media (prefers-reduced-motion: reduce) { .k .route .draw { transition: none; } }
.k .legs { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 18px; margin-top: 34px; }
.k .legs b { display: block; font: 400 30px/1 var(--serif); color: var(--clay-d); margin-bottom: 6px; }
.k .legs span { font-size: 14px; line-height: 1.45; color: var(--mute); }
@media (min-width: 900px) { .k .legs { grid-template-columns: repeat(6, 1fr); gap: 30px; margin-top: 54px; } .k .legs b { font-size: 38px; } .k .legs div:nth-child(even) { transform: translateY(26px); } }

.k .facts { display: grid; gap: 0; margin-top: 30px; }
.k .facts p { margin: 0; padding: 16px 0; border-top: 1px solid rgba(244, 237, 227, .2); max-width: none; font-size: 15px; line-height: 1.5; color: rgba(244, 237, 227, .8); }
.k .facts b { display: block; margin-bottom: 4px; font: 400 21px/1.2 var(--serif); color: var(--cream); }
@media (min-width: 900px) { .k .facts { grid-template-columns: 1fr 1fr; gap: 0 56px; } }
.k .mapwide { margin-top: 28px; }
.k .mapwide img { width: 100%; display: block; border-radius: 3px; box-shadow: 0 34px 70px rgba(0, 0, 0, .4); }
.k .pr-p .pair, .k .pr-ma-it .pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.k .pr-p .pair figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; display: block; box-shadow: 0 26px 50px rgba(43, 33, 28, .22); }
.k .pr-p .pair figure:nth-child(2) { margin-top: 28px; }
@media (max-width: 640px) { .k .pr-p .pair { grid-template-columns: 1fr; } .k .pr-p .pair figure:nth-child(2) { margin-top: 0; } }
@media (min-width: 900px) { .k .pr-p .pair { gap: 40px; } .k .pr-p .pair figure:nth-child(2) { margin-top: 64px; } }
.k .pairs { display: grid; gap: 34px; }

/* галереи — лента пальцем на телефоне, шахматка на компьютере */
.k .gal { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 28px -18px 0; padding: 0 18px 14px; scrollbar-width: none; }
.k .gal::-webkit-scrollbar { display: none; }
.k .gal img { flex: 0 0 66%; width: 66%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px; scroll-snap-align: start; box-shadow: 0 24px 50px rgba(0, 0, 0, .3); }
@media (min-width: 900px) {
  .k .gal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; overflow: visible; margin: 48px 0 0; padding: 0 0 50px; }
  .k .gal img { flex: none; width: 100%; }
  .k .gal img:nth-child(even) { transform: translateY(46px); }
  .k .gal.gal--2 { grid-template-columns: 1.618fr 1fr 1fr 1fr; }
  .k .gal.gal--2 img:first-child { grid-row: span 1; aspect-ratio: 4 / 5; }
}
.k .pr-ma-rus .gal, .k .pr-ma-tl .gal { margin-top: 36px; }

/* Перу сегодня — лента городов */
.k .cities { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 28px -18px 0; padding: 0 18px 14px; scrollbar-width: none; }
.k .cities::-webkit-scrollbar { display: none; }
.k .cities figure { flex: 0 0 56%; position: relative; scroll-snap-align: start; overflow: hidden; border-radius: 3px; box-shadow: 0 24px 50px rgba(60, 25, 10, .25); }
.k .cities figure img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }
.k .cities figcaption { position: absolute; left: 10px; bottom: 8px; margin: 0; color: var(--cream); text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }
@media (min-width: 900px) {
  .k .cities { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; overflow: visible; margin: 48px 0 0; padding: 0 0 40px; }
  .k .cities figure { flex: none; }
  .k .cities figure:nth-child(even) { transform: translateY(32px); }
  .k .cities figure:nth-child(3n) { transform: translateY(-20px); }
}

/* Rusia: три карточки; рамка «foto: …» — как поставили сами */
.k .pr-cards3 { display: grid; gap: 34px; margin-top: 34px; }
.k .pr-cards3 .art img, .k .pr-cards3 .ph-box { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px; display: flex; }
.k .pr-cards3 .art img { display: block; box-shadow: 0 30px 60px rgba(0, 0, 0, .4); }
.k .pr-cards3 .ph-box { align-items: center; justify-content: center; text-align: center; padding: 20px; border: 1px dashed rgba(244, 237, 227, .5); color: rgba(244, 237, 227, .8); font-size: 14px; background: rgba(244, 237, 227, .05); }
.k .pr-cards3 .art h3 { font-size: 26px; margin: 16px 0 6px; }
.k .pr-cards3 .art p { font-size: 15px; line-height: 1.5; color: rgba(244, 237, 227, .78); }
@media (min-width: 900px) { .k .pr-cards3 { grid-template-columns: repeat(3, 1fr); gap: 48px; } .k .pr-cards3 .art:nth-child(2) { margin-top: 56px; } }
.k .pr-sand .pr-cards3 .art p { color: var(--mute); }
.k .pr-sand .pr-cards3 .art img { box-shadow: 0 30px 60px rgba(60, 25, 10, .25); }

.k .pr-words { display: grid; gap: 40px; }
.k .pr-words .quote { max-width: none; font-size: 40px; line-height: 1.08; }
.k .pr-words p { max-width: none; }
@media (min-width: 900px) { .k .pr-words { grid-template-columns: 1fr 1fr; gap: 60px 80px; } .k .pr-words .quote { font-size: 72px; } .k .pr-words p { grid-column: 1 / -1; font-size: 20px; } }

.k .pr-ma-law .pr-two { align-items: center; }
.k main > .credits { margin: 0; padding: 30px var(--px) 44px; background: var(--cream); font-size: 12px; line-height: 1.6; color: var(--mute); max-width: none; }
.k .pr-ma-arts .pr-ma__go { margin-top: 38px; }
