/* /sitemap/ — compact grouped link directory */
.sm-sec { padding: 24px 0 120px; background: #fff; }
.sm-wrap { width: min(1250px, 100% - 48px); margin-inline: auto; }
.sm-group { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 48px; padding: 56px 0; border-top: 1px solid #e5e5e5; }
.sm-group:first-child { border-top: 0; }
.sm-title h2 { margin: 0 0 12px; font-size: 36px; line-height: 42px; font-weight: 400; letter-spacing: -.5px; }
.sm-title p { margin: 0; max-width: 260px; font-size: 16px; line-height: 24px; color: #6b6b6b; }
.sm-body ul { margin: 0; padding: 0; list-style: none; }
.sm-body a { color: #141414; text-decoration: none; transition: color var(--dur-fast, 200ms) var(--ease, ease); }
.sm-body a:hover { color: #06b22d; }
.sm-cols { display: grid; gap: 0 32px; }
.sm-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sm-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sm-cols > li > a { display: block; padding: 11px 0; font-size: 17px; line-height: 24px; border-bottom: 1px solid #efefef; }
.sm-trees { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.sm-tree h3 { margin: 0 0 16px; padding-bottom: 14px; font-size: 22px; line-height: 28px; font-weight: 500; border-bottom: 1px solid #141414; }
.sm-tree ul ul { margin: 2px 0 6px 14px; padding-left: 14px; border-left: 1px solid #e5e5e5; }
.sm-tree li { padding: 5px 0; font-size: 15px; line-height: 21px; }
.sm-tree > ul > li > a { font-size: 17px; line-height: 24px; font-weight: 600; }
.sm-tree > ul > li { padding: 10px 0 4px; }
.sm-tree > ul > li > ul > li > a { font-weight: 500; }
@media (max-width: 1100px) { .sm-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sm-trees { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .sm-group { grid-template-columns: 1fr; gap: 28px; padding: 40px 0; } .sm-title p { max-width: 520px; } .sm-cols-3, .sm-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sm-sec { padding-bottom: 72px; } .sm-title h2 { font-size: 30px; line-height: 36px; } .sm-cols-3, .sm-cols-4, .sm-trees { grid-template-columns: 1fr; } .sm-cols > li > a { font-size: 16px; } }
