.map-source-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 var(--gutter); padding: 1.5rem 0; border-bottom: 1px solid var(--rule); font-size: .8rem; }
.map-source { margin: 0 auto; padding: clamp(2rem, 5vw, 5rem) var(--gutter); max-width: 100rem; }
.map-source__intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 3rem; margin-bottom: 2.5rem; }
.map-source__intro h1 { font-size: clamp(3.2rem, 6vw, 7rem); line-height: 1.1; margin-top: .6rem; }
.map-source__intro > p { max-width: 34rem; font-size: clamp(1.05rem, 1.4vw, 1.4rem); line-height: 1.6; }
.map-source__sheet { margin: 0; }
.map-source__sheet img { width: 100%; height: auto; }
.map-source__sheet figcaption { padding: 1rem 0; font-size: .8rem; line-height: 1.6; border-bottom: 1px solid var(--rule); }
.map-source__columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); padding: 3rem 0; }
.map-source h2 { font-size: clamp(2.5rem, 3.5vw, 4rem); line-height: 1.15; margin: .5rem 0 1.5rem; }
.map-source__columns p + p { margin-top: 1rem; }
.map-source__columns p { max-width: 41rem; line-height: 1.65; }
.map-source__references { border-top: 1px solid var(--rule); padding-top: 2rem; }
.map-source__references ol { padding-left: 1.5rem; max-width: 55rem; }
.map-source__references li { margin: 1.5rem 0; padding-left: .5rem; }
.map-source__references li p { margin-top: .35rem; font-size: .88rem; line-height: 1.6; }
.map-source__note { max-width: 55rem; margin: 2rem 0; padding: 1rem 1.25rem; border-left: 2px solid var(--petrol); background: var(--white); }
@media (max-width: 759px) { .map-source__intro, .map-source__columns { grid-template-columns: minmax(0, 1fr); gap: 2rem; } .map-source-header > span { display: none; } }
