/* Внутренние страницы используют общую визуальную систему сайта. */
.desktop-nav { gap: 17px; font-size: 12px; }
.header-inner { gap: 22px; }
.expert-photo { display: block; }
.expert-copy h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.18; }
.expert-copy .card-link { margin-top: 18px; }
.catalog-action { margin: 32px 0 0; }
.page-hero { padding: 42px 0 66px; background: var(--ivory); border-bottom: 1px solid var(--line); }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 47px; color: #5c666a; font-size: 12px; }
.breadcrumbs a { text-decoration: underline; text-decoration-color: #cbb9a1; text-underline-offset: 3px; }
.breadcrumbs [aria-current] { color: var(--ink); }
.page-hero h1 { max-width: 900px; margin: 0 0 18px; font-size: clamp(38px, 4.5vw, 62px); line-height: 1.09; overflow-wrap: anywhere; }
.page-lead { max-width: 760px; margin-bottom: 0; color: var(--body); font-size: 17px; line-height: 1.7; }
.page-section { padding-block: 76px 95px; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 9%; align-items: start; }
.article-content { min-width: 0; }
.content-block { margin-bottom: 57px; }
.content-block:last-child { margin-bottom: 0; }
.content-block h2, .prose h2 { margin: 0 0 20px; font-size: clamp(27px, 2.6vw, 36px); }
.content-block p, .narrow-content p, .prose p { color: var(--body); }
.content-list { padding: 0; margin: 0; list-style: none; }
.content-list li { position: relative; padding: 11px 0 11px 24px; border-bottom: 1px solid var(--line); color: var(--ink); }
.content-list li::before { position: absolute; top: 12px; left: 0; color: var(--bronze); content: '—'; }
ol.content-list { counter-reset: section; }
ol.content-list li::before { counter-increment: section; content: counter(section, decimal-leading-zero); font-family: var(--serif); }
.muted { margin-top: 18px; color: var(--body); font-size: 13px; }
.article-aside { position: sticky; top: 24px; }
.aside-card { padding: 27px; background: var(--ivory); border: 1px solid var(--line); }
.aside-card h2 { margin-bottom: 15px; font-size: 29px; }
.aside-card p:not(.eyebrow) { color: var(--body); font-size: 13px; }
.aside-card .button { width: 100%; }
.aside-phone { display: block; margin-top: 18px; color: var(--navy); font-family: var(--serif); font-size: 19px; }
.related-links { display: grid; }
.related-links a { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--line); color: var(--navy); font-weight: 600; }
.related-links a:hover { color: var(--bronze); }
.related-links span { color: var(--bronze); }
.narrow-content { max-width: 820px; }
.profile-layout { display: grid; grid-template-columns: minmax(220px, 350px) minmax(0, 1fr); gap: 8%; align-items: start; }
.profile-photo { background: var(--cream); }
.profile-photo img { width: 100%; height: auto; }
.contact-details-section { padding: 50px 0; }
.contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.contact-cards h2 { margin-bottom: 12px; font-size: 25px; }
.contact-cards p { margin: 0; color: var(--body); }
.contact-cards a, .prose a, .narrow-content > p a:not(.button) { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.prose h2 { margin-top: 35px; }
.review-empty h2 { margin-bottom: 10px; font-size: 27px; }
.review-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 50px; align-items: start; }
.review-intro h2 { margin-bottom: 22px; font-size: clamp(32px, 3vw, 42px); }
.review-intro p:not(.eyebrow), .review-share p { color: var(--body); }
.review-share { padding: 30px; border: 1px solid var(--line); background: var(--ivory); }
.review-share h3 { margin-bottom: 12px; font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.2; }
.review-share p { font-size: 14px; }
.review-share .button { margin: 5px 0 18px; }
.review-share .review-phone { margin-bottom: 0; }
.review-phone a { color: var(--navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
@media (max-width: 800px) {
  .article-layout { grid-template-columns: minmax(0,1fr); gap: 35px; }
  .article-aside { position: static; }
  .profile-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .profile-photo { max-width: 350px; }
  .contact-cards { grid-template-columns: 1fr; gap: 24px; }
  .page-hero { padding: 30px 0 45px; }
  .breadcrumbs { margin-bottom: 32px; }
  .page-lead { font-size: 15px; }
  .page-section { padding-block: 55px 70px; }
  .content-block { margin-bottom: 42px; }
  .review-content { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .review-share { padding: 24px; }
}
