.site-map { padding: 135px 0 70px; }
.site-map h2, .site-map h3 { color: var(--primary); }
.site-map h2 { font-size: 2rem; }
.map-intro { margin: 12px 0 28px; }
.map-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.map-grid section { padding: 24px; background: var(--white); border: 1px solid var(--gray-light); border-radius: var(--border-radius); min-width: 0; }
.map-grid h3 { font-size: 1.2rem; margin-bottom: 16px; }
.map-grid ul { padding-left: 20px; }
.map-grid ul ul { margin-top: 10px; border-left: 2px solid var(--gray-light); }
.map-grid li { margin: 10px 0; overflow-wrap: anywhere; }
.map-grid a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.map-grid a:focus-visible { outline: 3px solid var(--primary-light); outline-offset: 3px; }
.map-empty { color: var(--gray); }
@media(max-width:768px) { .site-map { padding-top: 220px; } .map-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:480px) { .map-grid section { padding: 20px; } .site-map h2 { font-size: 1.6rem; } }
