/* Where we've been — UK venue map, place card, abroad map + milestones, partner logos. */

.ei.map { padding: clamp(80px, 10vw, 140px) 0 clamp(64px, 8vw, 110px); background: var(--ei-paper); }
.ei .map__head { max-width: 780px; margin-bottom: 48px; }
.ei .map__grid { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr) minmax(0, 320px); gap: clamp(24px, 3vw, 48px); align-items: start; }
.ei .map__chips { display: flex; flex-direction: column; gap: 8px; }
.ei .map__chips button { display: flex; justify-content: space-between; align-items: center; gap: 10px; text-align: left; background: #fff; color: var(--ei-ink); border: 0; border-radius: 999px; padding: 11px 18px; cursor: pointer; font-size: 15px; font-weight: 600; line-height: 1.3; box-shadow: inset 0 0 0 1px var(--ei-line); transition: background-color .15s, color .15s; }
.ei .map__chips button:hover { box-shadow: inset 0 0 0 1.5px var(--ei-amber); }
.ei .map__chips button span { font: 400 16px/1 var(--ei-display); color: var(--ei-muted); }
.ei .map__chips button[aria-pressed="true"] { background: var(--ei-lapis); color: var(--ei-light); box-shadow: none; }
.ei .map__chips button[aria-pressed="true"] span { color: var(--ei-gold-2); }
.ei .map__canvas { position: relative; }
.ei .uk { width: 100%; height: auto; display: block; max-height: 78vh; }
.ei .uk .land { fill: #e7e0d0; stroke: #b7ab90; stroke-width: 1; }
.ei .uk .land--ie { fill: #efeadf; stroke: #cfc5b0; }
.ei .pin { cursor: pointer; outline: none; }
.ei .pin .dot { fill: var(--ei-lapis); stroke: #fff; stroke-width: 2; transition: r .2s, fill .2s; }
.ei .pin .halo { fill: var(--ei-amber); opacity: 0; transition: opacity .2s; }
.ei .pin .hit { fill: transparent; }
.ei .pin text { font: 600 12.5px var(--ei-sans); fill: var(--ei-ink); paint-order: stroke; stroke: var(--ei-paper); stroke-width: 4px; stroke-linejoin: round; pointer-events: none; opacity: 0; transition: opacity .2s; }
.ei .pin.is-match .dot { fill: var(--ei-amber); }
.ei .pin.is-match text { opacity: 1; }
.ei .pin.is-dim { opacity: .25; }
.ei .pin.is-on .halo, .ei .pin:focus-visible .halo { opacity: .35; }
.ei .pin.is-on text, .ei .pin:hover text, .ei .pin:focus-visible text { opacity: 1; }
.ei .pin--big .dot { fill: var(--ei-amber); }
.ei .map__card { position: sticky; top: 110px; background-color: var(--ei-lapis); color: var(--ei-light); border-radius: 6px; padding: 28px; min-height: 240px;
	background-image: linear-gradient(rgba(16,26,63,.94), rgba(16,26,63,.94)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 2 2'%3E%3Cpath fill='none' stroke='%23d9a74a' stroke-width='.02' d='M0 -1L.2929 -.7071L.7071 -.7071L.7071 -.2929L1 0L.7071 .2929L.7071 .7071L.2929 .7071L0 1L-.2929 .7071L-.7071 .7071L-.7071 .2929L-1 0L-.7071 -.2929L-.7071 -.7071L-.2929 -.7071Z'/%3E%3C/svg%3E");
	background-size: auto, 260px; background-position: 0 0, 120% 130%; background-repeat: no-repeat; }
.ei .card__k { font-size: 14px; font-weight: 600; color: var(--ei-gold-2); }
.ei .card__t { font: 400 30px/1.1 var(--ei-display); margin: 8px 0 14px; }
.ei .card__v { color: #d6daea; font-size: 15.5px; line-height: 1.55; }

.ei .abroad { margin-top: clamp(64px, 8vw, 110px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 20px 48px; align-items: center; }
.ei .abroad__head p { color: var(--ei-muted); margin-top: 12px; max-width: 40ch; }
.ei .world { width: 100%; height: auto; display: block; }
.ei .world .w-land { fill: #e7e0d0; stroke: none; }
.ei .world .w-dot { fill: var(--ei-amber); stroke: var(--ei-paper); stroke-width: 2; }
.ei .world .w-ring { fill: none; stroke: var(--ei-amber); stroke-width: 1.2; opacity: .6; }
.ei .world .w-home { fill: var(--ei-lapis); }
.ei .abroad__list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); margin-top: 24px; position: relative; }
.ei .abroad__list::before { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 1.5px; background: var(--ei-ink); }
.ei .abroad__list li { position: relative; padding: 30px 18px 0 0; display: flex; flex-direction: column; gap: 4px; }
.ei .abroad__list li::before { content: ""; position: absolute; left: 0; top: 0; width: 13px; height: 13px; background: var(--ei-amber); transform: rotate(45deg); box-shadow: 0 0 0 4px var(--ei-paper); }
.ei .abroad__list time { font-size: 13.5px; font-weight: 600; color: var(--ei-gold-dark); }
.ei .abroad__list b { font: 400 22px/1.15 var(--ei-display); }
.ei .abroad__list span { font-size: 14.5px; line-height: 1.45; color: var(--ei-muted); }

.ei .logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 24px; margin-top: clamp(56px, 7vw, 90px); padding-top: 36px; border-top: 1px solid var(--ei-line); }
.ei .logos img { height: 32px; width: auto; max-width: 150px; object-fit: contain; transition: filter .2s, opacity .2s; }
.ei .logos--grey img { filter: grayscale(1) contrast(1.1); opacity: .7; mix-blend-mode: multiply; }
.ei .logos--grey li:hover img { filter: none; opacity: 1; }

@media (max-width: 1180px) {
	.ei .map__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); }
	.ei .map__chips { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 1020px) {
	.ei .abroad { grid-template-columns: minmax(0, 1fr); }
	.ei .abroad__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
}
@media (max-width: 720px) {
	.ei .map__grid { grid-template-columns: minmax(0, 1fr); }
	.ei .map__chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--ei-gut)); padding: 0 var(--ei-gut) 4px; scrollbar-width: none; }
	.ei .map__chips::-webkit-scrollbar { display: none; }
	.ei .map__chips button { flex: none; }
	.ei .map__card { position: static; min-height: 0; }
	.ei .abroad__list { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
	.ei .abroad__list::before { left: 6px; right: auto; top: 6px; bottom: 6px; width: 1.5px; height: auto; }
	.ei .abroad__list li { padding: 0 0 20px 32px; }
	.ei .logos { justify-content: center; gap: 22px 30px; }
	.ei .logos img { height: 26px; }
}
