/* ══════════════════════════════════════════════════════════════
   Направление «Налоговые споры и налоговый консалтинг»
   (/nalogovye-spory и страницы услуг). Подключается только на них.
   Без бесконечных анимаций; появление блоков — общий .reveal из site.css.
══════════════════════════════════════════════════════════════ */

/* ── Заголовки и текст ── */
.nl-h1{font-size:clamp(32px,4.2vw,56px);font-weight:600;line-height:1.12;margin-bottom:20px}
.nl-h2{font-size:clamp(28px,3.2vw,40px);font-weight:600;line-height:1.15;margin-bottom:14px}
.nl-lead{color:rgba(248,246,241,.66);font-size:18px;line-height:1.75;margin-bottom:32px;max-width:760px}
.nl-answer{color:rgba(248,246,241,.78);font-size:16px;line-height:1.75;max-width:860px;border-left:2px solid rgba(201,165,90,.55);padding:2px 0 2px 16px}
.nl-sub{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#E4C07A;margin:22px 0 10px}
.nl-note{margin-top:22px;color:rgba(248,246,241,.55);font-size:14px;line-height:1.7}
.nl-note a,.nl-back a,.nl-form-phone a{color:#E4C07A;text-decoration:underline;text-underline-offset:3px}
.nl-back{margin-top:28px;font-size:14px}
.nl-anchor{scroll-margin-top:110px}
.nl-alt{background:linear-gradient(180deg,#0A1628,#0F1C2E)}

/* ── Первый экран ── */
.nl-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.nl-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:100px;border:1px solid rgba(201,165,90,.3);background:rgba(201,165,90,.08);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#E4C07A}
.nl-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:#C9A55A;flex-shrink:0}
.nl-hero-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:start}
@media(min-width:1024px){.nl-hero-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:56px}}
.nl-facts{border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025);padding:26px 26px 22px}
.nl-facts-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(248,246,241,.4);margin-bottom:14px}
.nl-fact{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.nl-fact:last-child{border-bottom:0}
.nl-fact dt{font-size:12px;color:rgba(248,246,241,.45)}
.nl-fact dd{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:22px;font-weight:600;color:#E4C07A;line-height:1.25}
.nl-facts-note{margin-top:12px;font-size:12px;line-height:1.6;color:rgba(248,246,241,.38)}

/* ── Оглавление ── */
.nl-toc{border-bottom:1px solid rgba(255,255,255,.05);background:rgba(4,10,18,.6)}
.nl-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:16px 0}
.nl-toc a{display:inline-block;padding:7px 14px;border:1px solid rgba(201,165,90,.2);border-radius:100px;font-size:12px;font-weight:500;color:rgba(248,246,241,.65);text-decoration:none;transition:border-color .2s,color .2s}
.nl-toc a:hover{border-color:rgba(201,165,90,.6);color:#E4C07A}

/* ── Сетки карточек ── */
.nl-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}
@media(min-width:768px){.nl-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nl-card{padding:22px 22px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.015);transition:border-color .2s}
.nl-card:hover{border-color:rgba(201,165,90,.28)}
.nl-card h3{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:15px;font-weight:600;color:rgba(248,246,241,.92);margin-bottom:8px;line-height:1.4}
.nl-card p{font-size:14px;line-height:1.7;color:rgba(248,246,241,.58)}
.nl-card-risk{border-color:rgba(255,107,107,.14)}
.nl-card-risk h3::before{content:'!';display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:rgba(255,107,107,.12);color:#FF8A8A;font-size:12px;font-weight:700;vertical-align:1px}
.nl-card a,.nl-scope a,.nl-steps a,.nl-check a,.nl-dots a{color:#E4C07A;text-decoration:underline;text-underline-offset:3px}

/* ── Что входит: двухколоночный список ── */
.nl-scope{list-style:none;display:grid;grid-template-columns:1fr;gap:0 40px}
@media(min-width:768px){.nl-scope{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nl-scope li{padding:18px 0 18px 30px;border-bottom:1px solid rgba(255,255,255,.06);position:relative}
.nl-scope li::before{content:'';position:absolute;left:0;top:24px;width:14px;height:2px;background:#C9A55A}
.nl-scope h3{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:15px;font-weight:600;color:rgba(248,246,241,.92);margin-bottom:6px}
.nl-scope p{font-size:14px;line-height:1.7;color:rgba(248,246,241,.58)}

/* ── Этапы ── */
.nl-steps{list-style:none;counter-reset:nlstep;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
@media(min-width:1024px){.nl-steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nl-steps li{counter-increment:nlstep;position:relative;padding:22px 22px 20px 74px;border-radius:14px;border:1px solid rgba(201,165,90,.14);background:rgba(201,165,90,.025)}
.nl-steps li::before{content:counter(nlstep,decimal-leading-zero);position:absolute;left:20px;top:20px;width:38px;height:38px;border-radius:50%;border:2px solid rgba(201,165,90,.4);display:flex;align-items:center;justify-content:center;font-family:monospace;font-size:12px;font-weight:700;color:#E4C07A}
.nl-steps h3{font-size:21px;font-weight:600;margin-bottom:6px;line-height:1.25}
.nl-steps p{font-size:14px;line-height:1.7;color:rgba(248,246,241,.58)}

/* ── Списки с отметками ── */
.nl-check{list-style:none;display:grid;gap:12px;max-width:900px}
.nl-check li{position:relative;padding-left:32px;color:rgba(248,246,241,.72);line-height:1.7}
.nl-check li::before{content:'';position:absolute;left:4px;top:7px;width:14px;height:8px;border-left:2px solid #E4C07A;border-bottom:2px solid #E4C07A;transform:rotate(-45deg)}
.nl-dots{list-style:none;display:grid;gap:10px;margin-top:16px}
.nl-dots li{position:relative;padding-left:20px;color:rgba(248,246,241,.65);line-height:1.7;font-size:15px}
.nl-dots li::before{content:'';position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:#C9A55A}

/* ── Две колонки (сроки/документы, форма) ── */
.nl-two{display:grid;grid-template-columns:1fr;gap:48px;align-items:start}
@media(min-width:1024px){.nl-two{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── Типовые ситуации ── */
.nl-cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.nl-case{padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(4,10,18,.35)}
.nl-case-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(228,192,122,.7);margin-bottom:8px}
.nl-case h3{font-size:22px;font-weight:600;line-height:1.25;margin-bottom:14px}
.nl-case dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(248,246,241,.4);margin-top:12px}
.nl-case dd{font-size:14px;line-height:1.7;color:rgba(248,246,241,.66);margin-top:4px}

/* ── FAQ: вопрос — h3 внутри summary ── */
.nl-faq-q{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:16px;font-weight:500;line-height:1.5;color:inherit;margin:0}

/* ── Карточки услуг (главная направления и перелинковка) ── */
.nl-services,.nl-related{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.nl-services a,.nl-related a{display:flex;flex-direction:column;gap:10px;height:100%;padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.02);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,background .2s}
.nl-services a:hover,.nl-related a:hover{border-color:rgba(201,165,90,.45);background:rgba(201,165,90,.04);transform:translateY(-2px)}
.nl-svc-num{font-family:monospace;font-size:12px;font-weight:700;color:rgba(228,192,122,.7)}
.nl-svc-name,.nl-related-name{font-family:'Cormorant Garamond','Cormorant Fallback',serif;font-size:25px;font-weight:600;line-height:1.2;color:#F8F6F1}
.nl-related-name{font-size:22px}
.nl-svc-text,.nl-related-text{font-size:14px;line-height:1.7;color:rgba(248,246,241,.58);flex:1}
.nl-more{font-size:12px;font-weight:600;letter-spacing:.04em;color:#E4C07A}

/* ── Таблица «ситуация → услуга» ── */
.nl-router{border:1px solid rgba(255,255,255,.09);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.015)}
.nl-router table{width:100%;border-collapse:collapse}
.nl-router th,.nl-router td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.06)}
.nl-router tr:last-child td{border-bottom:0}
.nl-router th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(248,246,241,.4);font-weight:600}
.nl-router td{font-size:15px;line-height:1.6;color:rgba(248,246,241,.72)}
.nl-router td a{color:#E4C07A;text-decoration:none;font-weight:600;white-space:nowrap}
.nl-router td a:hover{text-decoration:underline}
@media(max-width:640px){
  .nl-router thead{display:none}
  .nl-router tr{display:block;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
  .nl-router tr:last-child{border-bottom:0}
  .nl-router td{display:block;padding:0;border:0}
  .nl-router td+td{margin-top:6px}
  .nl-router td a{white-space:normal}
}

/* ── Блок заявки ── */
.nl-form-section{background:linear-gradient(180deg,#0A1628,#0F1C2E)}
.nl-form-text{color:rgba(248,246,241,.62);line-height:1.75;margin-bottom:8px}
.nl-form-phone{margin-top:22px;color:rgba(248,246,241,.55);font-size:15px}

@media(max-width:640px){
  .nl-lead{font-size:16px}
  .nl-steps li{padding:20px 18px 18px 64px}
  .nl-steps li::before{left:14px}
  .nl-facts{padding:20px}
}
