/* Общий блок «обо мне» (php_fns/about_block.php) — главная и все жанровые страницы. */
.ab { --ab-brown:#4B1E00; --ab-ink:#2b2016; --ab-text:#6f5a44; --ab-muted:#8a7157; --ab-line:rgba(75,30,0,.14);
  display:grid; grid-template-columns:400px minmax(0,1fr); gap:64px; align-items:center; }
.ab:has(.ab-more[open]) { align-items:start; }
.ab-pic { margin:0; aspect-ratio:4/5; overflow:hidden; background:#1c130b; position:sticky; top:90px; width:100%; max-width:400px; justify-self:start; }
.ab-pic img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; display:block; }
.ab-kicker { font:700 11.5px/1.4 'Roboto',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--ab-muted); display:flex; align-items:center; gap:12px; margin:0 !important; }
.ab-kicker::before { content:""; width:28px; height:1px; background:currentColor; flex:none; }
.ab .ab-h2 { font-family:'PT Serif Caption',serif; font-weight:400; color:var(--ab-ink); font-size:clamp(28px,3.4vw,42px) !important; line-height:1.12; margin:14px 0 0 !important; padding:0; text-align:left; text-shadow:none; max-width:none; width:auto; }
.ab-text p { font-size:16.5px; line-height:1.65; color:var(--ab-text); margin:16px 0 0 !important; max-width:none; text-align:left; }
.ab-text p.ab-note { font-size:14.5px; color:var(--ab-ink); border-top:1px solid var(--ab-line); padding-top:16px; margin-top:22px !important; }
.ab-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; margin-top:24px; }
.ab-more { flex:0 1 auto; }
.ab-more[open] { flex-basis:100%; }
.ab-more summary, .ab-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; box-sizing:border-box; padding:12px 20px; border:1px solid var(--ab-brown); font:700 12.5px/1.35 'Roboto',sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; text-decoration:none !important; transition:background .2s,color .2s,border-color .2s; }
.ab-more summary { list-style:none; color:var(--ab-brown); background:rgba(75,30,0,.04); }
.ab-more summary::-webkit-details-marker { display:none; }
.ab-more summary::after { content:'▾'; font-size:14px; transition:transform .2s; }
.ab-more[open] summary::after { transform:rotate(180deg); }
.ab-more summary:hover { background:rgba(75,30,0,.1); }
.ab-btn { background:var(--ab-brown); color:#fff !important; }
.ab-btn:hover { background:#6B2C00; border-color:#6B2C00; }
.ab-more summary:focus-visible, .ab-btn:focus-visible { outline:2px solid var(--ab-brown); outline-offset:3px; }
.ab-more__body { padding-bottom:6px; }
.ab-more h3 { font-family:'PT Serif Caption',serif; font-weight:400; color:var(--ab-ink); font-size:21px; line-height:1.25; margin:26px 0 0 !important; text-align:left; padding:0; text-shadow:none; }
.ab-more ul { margin:12px 0 0 20px; padding:0; }
.ab-more li { font-size:16px; line-height:1.6; color:var(--ab-text); margin-top:6px; list-style:disc; }
@media (max-width:1000px) {
  .ab { grid-template-columns:1fr; gap:28px; }
  .ab-pic { position:static; max-width:400px; aspect-ratio:4/5; justify-self:start; }
}
@media (max-width:480px) {
  .ab-more summary, .ab-btn { width:100%; }
  .ab-more { flex-basis:100%; }
}
