/* Конструктор страниц: блоки из templates/partials/blocks.html. Цвета из токенов. */
.bk{padding-block:clamp(48px,7vw,88px)}
.bk--cream{background:var(--cream);color:var(--text-on-light)}
.bk--dark{background:var(--ink);color:var(--text-on-dark)}
.bk__h{margin:16px 0 24px;font:900 clamp(1.9rem,4vw,3rem)/1.05 var(--font-display);letter-spacing:-.01em;text-transform:uppercase}
.bk__prose{max-width:46rem}
.bk__prose p{margin:0 0 1.2em;font:400 1.125rem/1.6 var(--font-body)}
.bk__prose p:last-child{margin-bottom:0}
.bk--cream .bk__prose{color:var(--text-on-light)}
.bk--dark .bk__prose{color:var(--text-on-dark)}
.bk .btn-row{margin-top:var(--space-4)}
.bk__photos{padding-block:0}

/* карточки и услуги */
.bk-grid{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}
.bk-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.bk-grid,.bk-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bk-grid,.bk-grid--2{grid-template-columns:minmax(0,1fr)}}
.bk-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--border-dark);background:var(--ink-2);transition:border-color .2s}
.bk--cream .bk-card{border-color:rgba(20,20,20,.28);background:var(--cream-hi)}
.bk-card:hover,.bk-card:focus-within{border-color:var(--cream)}
.bk--cream .bk-card:hover,.bk--cream .bk-card:focus-within{border-color:var(--ink)}
.bk-card__ic{display:block;line-height:0;color:var(--cream)}
.bk--cream .bk-card__ic{color:var(--red)}
.bk-card__t{margin:0;font:900 1.25rem/1.1 var(--font-display);text-transform:uppercase}
.bk-card__link{color:inherit;text-decoration:none}
.bk-card__link::after{content:"";position:absolute;inset:0}
.bk-card__p{margin:0;font:400 1rem/1.5 var(--font-body);color:var(--text-muted-on-dark)}
.bk--cream .bk-card__p{color:var(--text-muted-on-light)}
.bk-card__mini{position:relative;z-index:2}
.bk-card__more{margin-top:auto;padding-top:var(--space-1);font:700 .8125rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}

/* шаги: колонок столько, сколько шагов (до 4, дальше по 3 в ряд); каждый шаг с линией сверху */
.bk-steps{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:var(--space-4)}
.bk-steps li{padding-top:var(--space-2);border-top:2px solid currentColor}
.bk--dark .steps3__n{-webkit-text-stroke-color:var(--cream)}
.bk--dark .steps3 p{color:var(--text-muted-on-dark)}
@media(max-width:900px){.bk-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bk-steps{grid-template-columns:minmax(0,1fr)}}

/* примеры звука */
.bk-mini{display:grid;max-width:52rem;border-top:1px solid var(--border-dark)}
.bk--cream .bk-mini{border-top-color:rgba(20,20,20,.28)}
.bk-mini .mini{padding:12px 0;border-bottom:1px solid var(--border-dark)}
.bk--cream .bk-mini .mini{border-bottom-color:rgba(20,20,20,.28)}
.bk-mini .mini__t,.bk-mini .mini__n{white-space:normal}

/* вопросы и ответы */
.bk-faq details{border-bottom-color:var(--border-dark)}
.bk--cream .bk-faq details{border-bottom-color:#111}
.bk--dark .bk-faq details > p{color:var(--text-on-dark)}
.bk--cream .bk-faq details > p{color:var(--text-on-light)}
.bk--cream.bk--cream + .bk--cream,.bk--dark + .bk--dark{padding-top:0}

/* единая узкая колонка для чтения: примеры звука и вопросы, по левой линии заголовка */
.bk-mini,.bk-faq{max-width:52rem;margin-left:0}
/* подпись трека переносится на следующую строку, без «…» */
.bk .mini__t,.bk .mini__n{white-space:normal;overflow:visible;text-overflow:clip}
/* одна подпись на ряд фото: по центру под рядом */
.bk__photos .prow{margin-bottom:24px}
.bk__rowcap{margin:0;text-align:center;font-size:1.7rem}
.bk--cream .bk__rowcap{color:var(--red)}
.bk--dark .bk__rowcap{color:var(--red-2)}

/* низ карточки услуги: плеер и «Подробнее» прижаты к нижней границе, в ряду на одной линии */
.bk-card__foot{margin-top:auto;display:grid;gap:var(--space-2);padding-top:var(--space-2)}
.bk-card__foot .bk-card__more{margin-top:0;padding-top:0}
.bk-card__foot .bk-card__mini{position:relative;z-index:2}

/* страница-документ (layout: doc): одна секция на кремовом фоне, колонка для чтения, мелкие подзаголовки */
.page-hero--doc{padding:clamp(36px,5vw,64px) 0 clamp(28px,4vw,48px)}
.page-hero--doc h1{font-size:clamp(1.35rem,6.7vw,2.75rem);line-height:1.1}
.page-hero--doc .lead{font-size:1.0625rem;max-width:40rem}
.doc{padding-block:clamp(40px,6vw,72px)}
.doc__body{max-width:46rem}
.doc__h{margin:2.2em 0 .5em;font:700 20px/1.35 var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-on-light)}
.doc__h:first-child{margin-top:0}
@media(max-width:640px){.doc__h{font-size:18px}}
.doc__body p{margin:0 0 1em;font:400 1.0625rem/1.65 var(--font-body);color:var(--text-on-light)}
.doc__body a{color:var(--text-on-light);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;text-decoration-thickness:2px}
.doc__body a:hover{color:var(--red)}
.doc__body .doc__note{margin:3rem 0 0;font:400 .875rem/1.4 var(--font-body);color:var(--text-muted-on-light)}
