/* Древо поступления на /info (решение 202): крона — льготы, ствол — как поступают по шагам,
   корни — официальные материалы. Цвета природные и приглушённые, чтобы дерево читалось,
   но не спорило с текстом. */
.tree{--bark:#7b5b42;--bark-dark:#5c4331;--leaf:#e3efe2;--leaf-ink:#24502f;--leaf-edge:#c6dcc4;--soil:#f6f0e8;--soil-edge:#e6d8c6;position:relative;margin-top:56px}
.tree-title{margin:0 0 8px!important;text-align:center}
.tree-lead{max-width:40em;margin:0 auto 36px!important;text-align:center;color:var(--text-muted)}
.tree-label{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 18px!important;font-size:1.05rem;font-weight:600;text-align:center}
.tree-label span{font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.plain{list-style:none;margin:0;padding:0}

/* крона: облако из нескольких округлостей, листья — ссылки на льготы */
.tree-crown{position:relative;max-width:980px;margin:0 auto;padding:40px clamp(20px,5vw,64px) 48px;border-radius:46% 54% 40% 44%/56% 52% 48% 44%;background:radial-gradient(60% 70% at 30% 40%,#eef6ec,transparent 70%),radial-gradient(55% 65% at 72% 38%,#e8f2e6,transparent 70%),var(--leaf);box-shadow:inset 0 -18px 40px -24px rgba(36,80,47,.25)}
.tree-leaves{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px}
.tree-leaf{display:inline-block;padding:9px 16px;border:1px solid var(--leaf-edge);border-radius:999px 999px 999px 6px;background:#fff;color:var(--leaf-ink);font-size:.9rem;font-weight:500;line-height:1.3;text-decoration:none;transition:background .2s,border-color .2s,transform .25s var(--ease-out,cubic-bezier(.22,1,.36,1))}
.tree-leaves li:nth-child(even) .tree-leaf{border-radius:999px 999px 6px 999px}
.tree-leaf:hover{background:#f3f9f2;border-color:#8fbb8c;color:var(--leaf-ink);transform:translateY(-2px)}
.tree-leaf:focus-visible{outline:2px solid var(--leaf-ink);outline-offset:3px}

/* ствол: в центре кора, шаги — ветки то слева, то справа */
.tree-trunk{position:relative;max-width:1080px;margin:0 auto;padding-top:96px}
/* ствол — от развилки под кроной до земли */
.tree-trunk::before{content:"";position:absolute;top:70px;bottom:0;left:50%;width:22px;transform:translateX(-50%);border-radius:11px 11px 0 0;background:linear-gradient(90deg,var(--bark-dark),var(--bark) 45%,#8d6c51 60%,var(--bark-dark))}
/* подпись ствола — сбоку от него, чтобы не разрывать кору */
.tree-trunk>.tree-label{position:absolute;top:92px;right:calc(50% + 40px);align-items:flex-end;margin:0!important;text-align:right}
.tree-fork{position:absolute;top:-6px;left:50%;width:min(420px,70%);height:84px;transform:translateX(-50%);overflow:visible}
.tree-fork path{fill:none;stroke:var(--bark);stroke-width:7;stroke-linecap:round}
.tree-steps{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);row-gap:0;padding:64px 0 28px}
.tree-step{position:relative;grid-column:1;margin-top:-28px}
.tree-step:first-child{margin-top:0}
.tree-step:nth-child(even){grid-column:3}
/* ветка от ствола к карточке */
.tree-step::before{content:"";position:absolute;top:30px;width:34px;height:5px;border-radius:3px;background:var(--bark)}
.tree-step:nth-child(odd)::before{right:-30px;transform:rotate(14deg);transform-origin:100% 50%}
.tree-step:nth-child(even)::before{left:-30px;transform:rotate(-14deg);transform-origin:0 50%}
.tree-card{display:flex;flex-direction:column;gap:6px;max-width:440px;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--text);text-decoration:none;transition:border-color .2s,box-shadow .3s,transform .3s var(--ease-out,cubic-bezier(.22,1,.36,1))}
.tree-step:nth-child(odd) .tree-card{margin-left:auto}
.tree-card:hover{border-color:var(--sky-strong);box-shadow:0 16px 30px -22px rgba(15,23,42,.35);transform:translateY(-2px);color:var(--text)}
.tree-card:focus-visible{outline:2px solid var(--sky-ink);outline-offset:3px}
.tree-card-title{font-size:1.02rem;font-weight:600;line-height:1.3}
.tree-card-text{font-size:.85rem;line-height:1.5;color:var(--text-muted)}
/* основание ствола расширяется к земле */
.tree-base{position:absolute;left:50%;bottom:-2px;width:84px;height:30px;transform:translateX(-50%);background:var(--bark);clip-path:polygon(37% 0,63% 0,100% 100%,0 100%)}

/* корни: под землёй, линии от основания ствола к каждой группе документов */
.tree-roots{position:relative;margin:0 calc(50% - 50vw);padding:44px max(16px,calc(50vw - 600px)) 56px;border-top:3px solid var(--soil-edge);background:linear-gradient(var(--soil),#fbf8f4)}
.tree-root-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.tree-root-lines path{fill:none;stroke:var(--bark);stroke-linecap:round;opacity:.55}
/* подписи «под землёй» закрывают линии корней — корни уходят за них */
.tree-roots .tree-label,.tree-roots-lead{position:relative;z-index:1;width:fit-content;margin-left:auto!important;margin-right:auto!important;padding:4px 14px;border-radius:12px;background:var(--soil)}
.tree-root-groups{position:relative}
.tree-roots-lead{max-width:44em;margin:-6px auto 30px!important;text-align:center;font-size:.9rem;color:var(--text-muted)}
.tree-root-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:18px;align-items:start;margin-top:72px}
.tree-root{padding:16px 18px 10px;border:1px solid var(--soil-edge);border-radius:16px;background:#fff}
.tree-root .resource-group{margin:0 0 6px!important;font-size:.95rem}
.tree-root-link{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:1px solid #f0e8de;color:var(--text);text-decoration:none}
.tree-root li:first-child .tree-root-link{border-top:0}
.tree-root-link:hover .tree-root-title{text-decoration:underline;text-underline-offset:3px}
.tree-root-link:focus-visible{outline:2px solid var(--sky-ink);outline-offset:2px;border-radius:4px}
.tree-root-title{font-size:.88rem;font-weight:500;line-height:1.35}
.tree-root-desc{font-size:.78rem;line-height:1.45;color:var(--text-muted)}
.tree-root-host{font-size:.72rem;color:#9a8670}

@media (max-width:760px){
  /* на телефоне ствол слева, все ветки — вправо */
  .tree-crown{border-radius:36px;padding:28px 16px 32px}
  .tree-leaf{font-size:.84rem;padding:8px 13px}
  .tree-trunk{padding-top:56px}
  .tree-trunk::before{top:52px;left:22px;width:16px}
  .tree-trunk>.tree-label{position:static;align-items:flex-start;margin:0 0 0 52px!important;text-align:left}
  .tree-fork{left:30px;width:180px;transform:none;height:60px}
  .tree-steps{grid-template-columns:44px minmax(0,1fr);padding-top:18px}
  .tree-step,.tree-step:nth-child(even){grid-column:2;margin-top:14px}
  .tree-step:first-child{margin-top:0}
  .tree-step:nth-child(odd)::before,.tree-step:nth-child(even)::before{left:-24px;right:auto;width:26px;transform:rotate(-12deg);transform-origin:0 50%}
  .tree-step:nth-child(odd) .tree-card{margin-left:0}
  .tree-card{max-width:none}
  .tree-base{left:30px;width:60px}
  .tree-root-groups{margin-top:48px}
}
@media (prefers-reduced-motion:reduce){.tree-leaf,.tree-card{transition:none}}
