/* 27.10: внутренние страницы (_src/site): «Обо мне», хабы «Частным лицам»/«Бизнесу», страницы направлений.
   Путь посетителя от общего к частному: хаб «Что случилось?» → направление «Ваша ситуация» → «Как будет идти работа» → цена → вопросы. */

.kicker { margin-bottom: var(--s2); font: 600 .75rem/1.2 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-lo); }
.sec .h2 + * { margin-top: var(--s6); }
.sub { margin: var(--s6) 0 var(--s4); font-family: var(--f-sans); font-size: 1.0625rem; font-weight: 600; letter-spacing: 0; color: var(--t-d); }
.sub:first-child { margin-top: 0; }
.card-bg { background: color-mix(in srgb, #FFFFFF 55%, transparent); }

/* ---------- хаб: «Что случилось?» ---------- */
.chooser__lead { max-width: 46em; color: var(--t-d2); font-size: var(--fs-lead); }
.pc { display: grid; gap: var(--s4); margin: var(--s6) 0 0; padding: 0; list-style: none; }
@media (min-width: 760px) { .pc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .pc { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pc__i { display: flex; flex-direction: column; border: 1px solid var(--line-d); border-radius: var(--r-card); background: color-mix(in srgb, #FFFFFF 55%, transparent); overflow: hidden; transition: border-color 200ms ease, box-shadow 250ms ease; }
.pc__main { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s4); padding: var(--s5); color: var(--t-d); text-decoration: none; }
.pc__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: color-mix(in srgb, var(--gold) 22%, transparent); color: var(--gold-lo); }
.pc__ic .i { width: 26px; height: 26px; }
.pc__t b { display: block; font: var(--w-h) calc(1.1875rem * var(--k-h))/1.25 var(--f-serif); }
.pc__t small { display: block; margin-top: 4px; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--gold-lo); }
.pc__go { color: var(--gold-hi); transition: transform 200ms var(--ease-out); }
.pc__sub { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0 var(--s5) var(--s5); list-style: none; }
.pc__sub a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid var(--line-d); border-radius: var(--r-pill); color: var(--t-d2); font-size: .875rem; text-decoration: none; transition: border-color 200ms ease, color 200ms ease, background-color 200ms ease; }
@media (hover: hover) and (pointer: fine) {
  .pc__i:hover { border-color: var(--gold); box-shadow: 0 18px 40px -28px rgba(31, 31, 36, .4); }
  .pc__main:hover .pc__go { transform: translateX(4px); }
  .pc__sub a:hover { border-color: var(--gold); color: var(--t-d); background: color-mix(in srgb, var(--gold) 12%, transparent); }
}
@media (max-width: 599px) { .pc__sub a { min-height: 44px; font-size: .9375rem; } .pc__main { padding: var(--s4); } .pc__sub { padding: 0 var(--s4) var(--s4); } }
.nf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); margin-top: var(--s5); padding: var(--s5); border-radius: var(--r-card); background: color-mix(in srgb, var(--gold) 20%, transparent); }
.nf p { max-width: 40em; color: var(--t-d); }
.nf__b { display: flex; flex-wrap: wrap; gap: var(--s3); }
.chest { max-width: 60em; color: var(--t-d2); }
.chest p { font-size: var(--fs-lead); }
.chest__s { display: grid; gap: var(--s3); margin: var(--s5) 0 0; padding-left: 1.2em; }
.chest__s b { color: var(--t-d); }

/* ---------- направление: «Ваша ситуация» ---------- */
.sit { display: grid; gap: var(--s4); }
@media (min-width: 760px) { .sit { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .sit { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sit__c { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s5); border: 1px solid var(--line-d); border-radius: var(--r-card); background: color-mix(in srgb, #FFFFFF 55%, transparent); scroll-margin-top: calc(var(--hdr) + 16px); }
.sit__c:target { border-color: var(--gold); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 35%, transparent); }
.sit__c h3 { color: var(--t-d); }
.sit__now { padding: var(--s3) var(--s4); border-left: 3px solid var(--gold); border-radius: 0 var(--r-sm) var(--r-sm) 0; background: color-mix(in srgb, var(--gold) 12%, transparent); color: var(--t-d); font-size: .9375rem; line-height: 1.5; }
.sit__k { font: 600 .75rem/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lo); }
.sit__do { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; color: var(--t-d2); font-size: .9375rem; line-height: 1.45; }
.sit__do li { position: relative; padding-left: 18px; }
.sit__do li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 7px; height: 4px; border-left: 1.6px solid var(--gold-lo); border-bottom: 1.6px solid var(--gold-lo); transform: rotate(-45deg); }

/* ---------- «Как будет идти работа» ---------- */
.proc { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: p; }
.proc__s { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: var(--s4); padding-bottom: var(--s5); }
.proc__s:not(:last-child)::before { content: ""; position: absolute; left: 25px; top: 52px; bottom: 0; width: 1px; background: var(--line-d); }
.proc__n { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--gold); background: color-mix(in srgb, #FFFFFF 60%, transparent); font: 500 1.25rem/1 var(--f-num); color: var(--gold-lo); }
.proc__b { padding-top: 10px; }
.proc__b h3 { color: var(--t-d); }
.proc__b p { margin-top: 6px; max-width: 48em; color: var(--t-d2); }
.proc__you { font-size: .9375rem; }
.proc__you b { color: var(--t-d); font-weight: 600; }
.proc__note { display: inline-block; padding: 2px 10px; border-radius: var(--r-pill); background: color-mix(in srgb, var(--gold) 18%, transparent); color: var(--t-d) !important; font-size: .8125rem; }
@media (min-width: 1100px) {
  .proc { grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: var(--s5); }
  .proc__s { grid-template-columns: 1fr; grid-template-rows: 52px auto; align-content: start; gap: var(--s3); padding-bottom: 0; }
  .proc__s:not(:last-child)::before { left: 52px; right: calc(-1 * var(--s5)); top: 25px; bottom: auto; width: auto; height: 1px; }
  .proc__b { padding-top: 0; }
}

/* ---------- цены ---------- */
.tf { display: grid; gap: var(--s4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .tf { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tf__c { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s5); border: 1px solid var(--line-d); border-radius: var(--r-card); background: color-mix(in srgb, #FFFFFF 50%, transparent); }
.tf__c--main { border-color: var(--gold); background: color-mix(in srgb, #FFFFFF 78%, transparent); }
.tf__n { font: var(--w-h) calc(1.125rem * var(--k-h))/1.2 var(--f-serif); color: var(--t-d); }
.tf__p { font: 400 clamp(1.625rem, 1.25rem + 1.2vw, 2.25rem)/1 var(--f-num); color: var(--gold-hi); white-space: nowrap; }
.tf__p small { margin-right: 4px; font-size: max(.45em, 12px); color: var(--t-d2); }
.tf__d { color: var(--t-d2); font-size: .9375rem; line-height: 1.45; }
.pl { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-d); }
.pl__r { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); padding: var(--s3) 0; border-bottom: 1px solid var(--line-d); }
.pl__n { color: var(--t-d); }
.pl__p { flex: none; font: 500 1.0625rem/1.2 var(--f-num); color: var(--gold-hi); white-space: nowrap; }
.pl__note { margin-top: var(--s3); font-size: .875rem; color: var(--t-d2); }
@media (max-width: 599px) { .pl__r { flex-direction: column; gap: 2px; } .tf__d, .pl__n { font-size: 1rem; } }

/* ---------- пример ---------- */
.ex { position: relative; padding: var(--s5); border: 1px solid var(--line-d); border-radius: var(--r-card); background: color-mix(in srgb, #FFFFFF 60%, transparent); }
.ex__rub { font: 600 .75rem/1.2 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lo); }
.ex h3 { margin-top: var(--s2); color: var(--t-d); font-size: calc(1.375rem * var(--k-h)); }
.ex__cols { display: grid; gap: var(--s4); margin-top: var(--s4); }
@media (min-width: 900px) { .ex__cols { grid-template-columns: 1fr 1fr; gap: var(--s6); } }
.ex__k { margin-bottom: 6px; font: 600 .75rem/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--t-d2); }
.ex__cols p, .ex__cols li { color: var(--t-d); }
.ex__cols ol { display: grid; gap: 4px; margin: 0; padding-left: 1.2em; }
.ex__res { margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--line-d); color: var(--t-d2); }
.ex__res b { color: var(--t-d); }

/* ---------- смотрите также, об адвокате, финальный призыв ---------- */
.sas { display: grid; gap: var(--s3); }
@media (min-width: 760px) { .sas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .sas { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s3); min-height: 64px; padding: var(--s3) var(--s4); border: 1px solid var(--line-d); border-radius: var(--r-card); color: var(--t-d); text-decoration: none; background: color-mix(in srgb, #FFFFFF 45%, transparent); transition: border-color 200ms ease; }
.sa > .i:first-child { color: var(--gold-lo); }
.sa__go { color: var(--gold-hi); transition: transform 200ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .sa:hover { border-color: var(--gold); } .sa:hover .sa__go { transform: translateX(4px); } }
.am { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--s5); align-items: center; margin-top: var(--s6); padding: var(--s5); border-radius: var(--r-card); background: color-mix(in srgb, #FFFFFF 55%, transparent); }
.sec .h2 + .am { margin-top: var(--s6); }
.am__ph { width: 96px; height: 120px; border-radius: var(--r-card); object-fit: cover; object-position: 50% 12%; }
.am__n { font: var(--w-h) calc(1.25rem * var(--k-h))/1.2 var(--f-serif); color: var(--t-d); }
.am__t p:not(.am__n) { margin-top: 6px; color: var(--t-d2); }
.am__t a:not(.more) { color: var(--gold-hi); }
@media (max-width: 599px) { .am { grid-template-columns: 72px minmax(0, 1fr); gap: var(--s4); padding: var(--s4); } .am__ph { width: 72px; height: 90px; } }
.cta-end__in { display: grid; gap: var(--s5); align-items: center; }
@media (min-width: 960px) { .cta-end__in { grid-template-columns: minmax(0, 1fr) auto; } }
.cta-end__p { margin-top: var(--s3); max-width: 40em; color: var(--t-d2); }
.cta-end__b { display: flex; flex-wrap: wrap; gap: var(--s3); }

/* ---------- «Обо мне» ---------- */
.f4 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5) var(--s4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 960px) { .f4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.f4 li { display: grid; gap: 4px; padding-left: var(--s4); border-left: 1px solid var(--gold); }
.f4 b { font: 400 clamp(1.75rem, 1.3rem + 1.4vw, 2.75rem)/1 var(--f-num); color: var(--gold-hi); }
.f4 > li > span { color: var(--t-d2); font-size: .9375rem; }
.f4 b span { font: inherit; color: inherit; }
.f4 a { color: inherit; text-underline-offset: 3px; }
.ent { display: grid; gap: var(--s5); margin-top: var(--s7); }
@media (min-width: 960px) { .ent { grid-template-columns: 5fr 7fr; gap: var(--s7); align-items: start; } }
.ent__q { margin: 0; }
.ent__q p { font: italic 400 calc(var(--fs-quote) * var(--k-h))/1.3 var(--f-serif); color: var(--t-d); }
.ent__p { color: var(--t-d2); font-size: var(--fs-lead); line-height: 1.6; }
.tl2 { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-d); }
.tl2 li { display: grid; grid-template-columns: minmax(96px, 9em) minmax(0, 1fr); gap: var(--s4); padding: var(--s4) 0; border-bottom: 1px solid var(--line-d); }
.tl2 b { font: 500 1.25rem/1.2 var(--f-num); color: var(--gold-hi); }
.tl2 span { color: var(--t-d); font-size: 1.0625rem; }
.docs--row { display: flex; flex-wrap: wrap; gap: var(--s4); margin-top: var(--s5); padding: 0; list-style: none; }
.docs--about .doc { flex-direction: column; align-items: flex-start; gap: var(--s2); width: auto; }
.doc__plate--img { width: auto; height: 120px; aspect-ratio: auto; padding: 4px; display: inline-flex; align-items: center; justify-content: center; background: #fff; overflow: hidden; }
.doc__plate--img img { display: block; height: 100%; width: auto; border-radius: 2px; }
.docs--about .doc__t { max-width: 14em; font-size: .875rem; }
.doc-big.has-img { aspect-ratio: auto; max-height: none; background: none; padding: 0; overflow: auto; }
.doc-big.has-img img { display: block; width: 100%; height: auto; max-height: 78vh; object-fit: contain; border-radius: var(--r-sm); box-shadow: 0 10px 30px rgba(0, 0, 0, .18); }
@media (min-width: 768px) { .sheet--wide .sheet__panel { width: min(1080px, calc(100% - 2 * var(--gut))); } }
.go2 { display: grid; gap: var(--s4); }
@media (min-width: 760px) { .go2 { grid-template-columns: 1fr 1fr; } }
.go2__c { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s4); padding: var(--s5); border: 1px solid var(--line-d); border-radius: var(--r-card); color: var(--t-d); text-decoration: none; background: color-mix(in srgb, #FFFFFF 55%, transparent); }
.go2__c > .i:first-child { width: 32px; height: 32px; color: var(--gold-lo); }
.go2__c b { display: block; font: var(--w-h) calc(1.375rem * var(--k-h))/1.2 var(--f-serif); }
.go2__c small { display: block; margin-top: 4px; color: var(--t-d2); font-size: .9375rem; }
.go2__go { color: var(--gold-hi); }
@media (hover: hover) and (pointer: fine) { .go2__c:hover { border-color: var(--gold); } }

/* ---------- «Консультации и цены» ---------- */
.fmt { display: grid; gap: var(--s4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 760px) { .fmt { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .fmt { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fmt__c { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s5); border: 1px solid var(--line-d); border-radius: var(--r-card); background: color-mix(in srgb, #FFFFFF 55%, transparent); }
.fmt__i { width: 30px; height: 30px; color: var(--gold-lo); }
.fmt__c h3 { color: var(--t-d); }
.fmt__p { font: 400 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1 var(--f-num); color: var(--gold-hi); }
.fmt__d { color: var(--t-d2); font-size: .9375rem; line-height: 1.5; }
.pgs { display: grid; gap: var(--s6) var(--s7); }
@media (min-width: 1000px) { .pgs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pg__t { color: var(--t-d); }
.pg__l { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0 var(--s3); font-size: .875rem; }
.pg__l a { color: var(--gold-hi); text-underline-offset: 3px; }
.pg .pl__note:empty { display: none; }

/* ---------- «Кейсы» ---------- */
.css { display: grid; gap: var(--s5); }
@media (min-width: 1100px) { .css { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cs { display: flex; flex-direction: column; gap: var(--s3); }
.cs .ex { flex: 1; }
.cs__go { align-self: flex-start; }
.cases-note { max-width: 52em; margin-bottom: var(--s5); color: var(--t-d2); font-size: .9375rem; }

/* ---------- «Вопросы и ответы» ---------- */
.toc { display: flex; flex-wrap: wrap; gap: 6px; }
.toc a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--line-d); border-radius: var(--r-pill); color: var(--t-d); font-size: .875rem; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .toc a:hover { border-color: var(--gold); } }
@media (max-width: 599px) { .toc a { min-height: 44px; } }
.fg { margin-top: var(--s7); scroll-margin-top: calc(var(--hdr) + 16px); }
.fg__t { margin-bottom: var(--s3); color: var(--t-d); font-size: calc(1.5rem * var(--k-h)); }
.fg .more { margin-top: var(--s3); }
.fg .qa h4 { font: 500 1.0625rem/1.35 var(--f-sans); color: var(--t-d); }

/* ---------- «Контакты» ---------- */
.cc { display: grid; gap: var(--s4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 760px) { .cc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .cc { grid-template-columns: 1.3fr 1fr 1fr 1fr; } }
.cc__c { display: flex; flex-direction: column; gap: 6px; padding: var(--s5); border: 1px solid var(--line-d); border-radius: var(--r-card); background: color-mix(in srgb, #FFFFFF 55%, transparent); }
.cc__c--main { border-color: var(--gold); }
.cc__k { font: 600 .75rem/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lo); }
.cc__v { font: 500 clamp(1.375rem, 1.1rem + .9vw, 1.875rem)/1.15 var(--f-num); color: var(--t-d); text-decoration: none; }
.cc__v--s { font-size: 1.125rem; }
.cc__d { color: var(--t-d2); font-size: .875rem; }
.cc__m { display: flex; flex-wrap: wrap; gap: 8px; }
.cc__m a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--line-d); border-radius: var(--r-pill); color: var(--t-d); text-decoration: none; }
.cc__m a .i { color: var(--gold-lo); }
.wh { display: grid; gap: var(--s5); align-items: start; }
@media (min-width: 1000px) { .wh { grid-template-columns: 7fr 5fr; gap: var(--s7); } }
.wh__map { position: relative; display: block; overflow: hidden; border-radius: var(--r-card); aspect-ratio: 16 / 10; }
.wh__map img { width: 100%; height: 100%; object-fit: cover; }
.wh__pin { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; margin: -40px 0 0 -22px; border-radius: 50% 50% 50% 4px; background: var(--gold); color: var(--ink); transform: rotate(-45deg); box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .5); }
.wh__pin .i { transform: rotate(45deg); }
.wh__addr { font: var(--w-h) calc(1.375rem * var(--k-h))/1.3 var(--f-serif); color: var(--t-d); }
.wh__metro, .wh__note { margin-top: var(--s3); color: var(--t-d2); }
.wh__b { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s4); margin-top: var(--s5); }
.fmw { max-width: 560px; }
/* бесплатные дни — плашкой, как на главной */
.tf__free { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s3) var(--s5); margin-top: var(--s4); padding: var(--s4) var(--s5); border-radius: var(--r-card); background: color-mix(in srgb, var(--gold) 26%, transparent); color: var(--t-d); }
.tf__free p { max-width: 46em; }
.tf__next { white-space: nowrap; color: var(--t-d2); }
.tf__c .btn { align-self: flex-start; margin-top: auto; }
@media (max-width: 599px) { .tf__free .btn { width: 100%; justify-content: center; } }
