:root{--hil-tour:#8C3B2E;--hil-dated:#2D5A88;--hil-undated:#7B8794}
.hil-section{scroll-margin-top:90px;margin-top:56px}
.hil-section h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:12px 0 14px}
.hil-intro{max-width:68ch;color:var(--ink-soft);margin-bottom:28px}
.hil-map-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:0 14px 40px rgba(27,42,74,.08);max-width:740px;margin:0 auto}
.hil-tools{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.hil-tools:not([hidden]){display:flex}
.hil-tools button{font:inherit;font-weight:600;font-size:.92rem;padding:.5em 1em;border-radius:999px;border:1.5px solid var(--cobalt);background:#fff;color:var(--cobalt);cursor:pointer;transition:background .2s,color .2s}
.hil-tools button[aria-pressed=true]{background:var(--cobalt);color:#fff}
.hil-map{display:block;width:100%;height:auto;border-radius:8px;overflow:hidden;font-family:var(--sans);touch-action:manipulation}
.m-sea{fill:#DDE8EC}.m-nb{fill:#ECE7DB;stroke:#fff;stroke-width:.6;stroke-linejoin:round}
.m-land{fill:#FBF5E8}.m-sand{fill:#EFD6A4}.m-rng path{fill:none;stroke:#A98258;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;opacity:.22}
.m-border{fill:none;stroke:#1B2A4A;stroke-width:1.4px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hil-map text{text-anchor:middle;pointer-events:none}
.sea,.sea-z{fill:#5C7F90;font-style:italic}.sea{font-size:14px}.sea-z{font-size:6.5px}
.nb,.nb-z{fill:#8B8473}.nb{font-size:13px}.nb-z{font-size:6.5px}
.sah{fill:#8A5F22;font-size:24px;font-weight:700}.sah-z{fill:#8A5F22;font-size:8.5px;font-weight:700}
.rng{fill:#6F5232;font-size:13px;font-weight:600}.rng-z{fill:#6F5232;font-size:6.2px;font-weight:600}
.city{fill:#1B2A4A;font-size:13px;font-weight:700;paint-order:stroke;stroke:#FBF5E8;stroke-width:3px}
.lab-z{fill:#1B2A4A;font-size:6.1px;font-weight:600;paint-order:stroke;stroke:#FBF5E8;stroke-width:1.5px;opacity:0;transition:opacity .25s}
.ref circle{fill:#1B2A4A}
.hil-map[data-view=zoom] .sea,.hil-map[data-view=zoom] .nb,.hil-map[data-view=zoom] .sah,.hil-map[data-view=zoom] .rng,.hil-map[data-view=zoom] .city{display:none}
.hil-map[data-view=full] .sea-z,.hil-map[data-view=full] .nb-z,.hil-map[data-view=full] .sah-z,.hil-map[data-view=full] .rng-z{display:none}
.hil-map[data-view=zoom].show-labels .lab-z{opacity:1}
.lab-a{fill:#1B2A4A;font-size:1.95px;font-weight:600;paint-order:stroke;stroke:#FBF5E8;stroke-width:.45px;opacity:0;transition:opacity .25s}
.hil-map[data-view=area].show-labels .lab-a{opacity:1}
.hil-map[data-view=area] .sea,.hil-map[data-view=area] .nb,.hil-map[data-view=area] .sah,.hil-map[data-view=area] .rng,.hil-map[data-view=area] .city,.hil-map[data-view=area] .sea-z,.hil-map[data-view=area] .nb-z,.hil-map[data-view=area] .sah-z,.hil-map[data-view=area] .rng-z,.hil-map[data-view=area] .ref{display:none}
.pin{cursor:pointer;outline:none}
.pin circle{stroke:#fff;stroke-width:2}
.pin text{fill:#fff;font-size:11px;font-weight:700;transition:opacity .2s}
.hil-map[data-view=full] .pin text{opacity:0}
.pin.tour circle{fill:var(--hil-tour)}.pin.dated circle{fill:var(--hil-dated)}.pin.undated circle{fill:var(--hil-undated)}
.pin:hover circle,.pin:focus-visible circle,.pin.on circle{stroke:#C9A04E;stroke-width:4}
.hil-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:.9rem;color:var(--ink-soft)}
.hil-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-inline-end:6px;vertical-align:-1px}
.hil-legend i.tour,.hil-n.tour{background:var(--hil-tour)}.hil-legend i.dated,.hil-n.dated{background:var(--hil-dated)}.hil-legend i.undated,.hil-n.undated{background:var(--hil-undated)}
.hil-info{margin-top:12px;padding:14px 16px;background:var(--parchment);border-radius:8px;min-height:62px}
.hil-info p{margin:0;color:var(--ink-soft);font-size:.98rem}
.hil-info h4{margin:0 0 6px;font-size:1.1rem;color:var(--indigo)}
.hil-info ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.96rem}
.hil-info li span{color:var(--clay);font-weight:600}
.hil-sub{font-size:1.45rem;margin:44px 0 6px;color:var(--indigo)}
.hil-note{color:var(--ink-soft);font-size:.98rem;margin-bottom:18px}
.hil-group{display:grid;grid-template-columns:240px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.hil-when strong{display:block;color:var(--indigo);font-size:1.08rem;line-height:1.35}
.hil-when span{display:block;color:var(--clay);font-weight:600;font-size:.95rem;margin-top:4px}
.hil-group ul,.hil-more{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.hil-group li,.hil-more li{display:flex;gap:10px;align-items:flex-start}
.hil-n{flex:none;width:30px;height:30px;border-radius:50%;border:none;color:#fff;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;display:grid;place-items:center;transition:transform .15s}
.hil-n:hover{transform:scale(1.1)}
.hil-group b,.hil-more b{display:block;color:var(--ink);line-height:1.35}
.hil-group li span,.hil-more li span{display:block;color:var(--ink-soft);font-size:.92rem}
@media(max-width:760px){.hil-map-card{padding:10px;margin-inline:-6px}.hil-group{grid-template-columns:1fr;gap:12px}.hil-group ul,.hil-more{grid-template-columns:1fr}}
