.section--sitemap { padding-top: 0; }
.smap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); }
.smap__g { border-top: var(--bd) solid var(--c-accent); padding-top: var(--space-5); }
.smap__g--full { grid-column: 1 / -1; }
.smap__g--top { display: flex; align-items: baseline; gap: var(--space-5); padding-top: var(--space-4); }
.smap__en { font-size: var(--fs-2); line-height: var(--lh-1); letter-spacing: calc(var(--fs-2) / 5); color: var(--c-accent-2); }
.smap__h { margin-top: var(--space-2); font-family: var(--ff-serif); font-size: var(--fs-5); font-weight: var(--fw-regular); line-height: var(--lh-2); }
.smap__g--top .smap__h { margin-top: 0; }
.smap__h a { color: var(--c-accent); transition: color var(--t-1); }
.smap__h a:is(:hover, :focus-visible) { color: var(--c-accent-2); }
.smap__list { margin-top: var(--space-4); }
.smap__list--3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-7); }
.smap__list li { border-bottom: var(--bd) solid var(--c-line); }
.smap__list :is(a, [aria-current]) { position: relative; display: block; padding: var(--space-3) var(--space-5) var(--space-3) 0; font-size: var(--fs-3); transition: color var(--t-1); }
.smap__list a:not([target])::after { content: "›"; position: absolute; top: 0; right: 0; bottom: 0; display: flex; align-items: center; color: var(--c-accent-2); }
.smap__list a:is(:hover, :focus-visible) { color: var(--c-accent-2); }
.smap__list [aria-current] { color: var(--c-ink-sub); }
.smap__sub { margin-top: var(--space-6); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-7); row-gap: var(--space-3); }
.smap__sub-t { grid-column: 1 / -1; font-size: var(--fs-2); color: var(--c-ink-sub); }
.smap__card { padding: var(--space-4) var(--space-5); background: var(--c-tint); }
.smap__card .smap__h { margin-top: 0; font-size: var(--fs-4); }
.smap__card .smap__list { margin-top: var(--space-2); }
.smap__card .smap__list li { border-bottom: 0; }
.smap__card .smap__list a { padding-block: var(--space-1); }
@media (max-width: 1024px) {
 .smap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .smap__list--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .smap__sub { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
 .smap { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
 .smap__list--3 { grid-template-columns: minmax(0, 1fr); }
}
