/* ══════════════════════════════════════════════════════════════════════════
   css/global-presence.css — /global-presence  (prefix fw-gp)

   An atlas, not a timeline, and COMPACT: every band is built to about 45vh
   (the owner's rule for this page, 28 Sep 2026), so each one reads in a
   single screen. The band has a floor and no hard ceiling; its type, gaps
   and media are sized in vh so the content itself stays near 45vh at any
   window height. Tablets and phones release the band and switch back to vw.

   Order: the hero (the shared masthead band with the live world as its
   side), a pinned bar of region tabs and a finder, one three-column spread
   per region (its photograph, its words and countries, its own map), a
   mosaic beside three promises, the numbers in one spread, questions
   beside a pinned heading, and a closing search on a faint map.

   House rules, all kept: bright grounds only, depth from blurred brand
   light; no max-width on any section or text; colour only from :root (a
   region maps a family onto --ac-*); no boxed cards, structure from fade
   dividers, type and space; 28px / 14px gutters. Photographs may round
   their own corners; nothing around them is boxed.

   The dot maps are static/global-presence/world-dots(-zone-s/m/l).svg,
   white dots used as a mask (CSS for the world, an SVG <mask> in each
   region), so the land takes its colour from tokens.

   Motion lives in § 9 and only runs once custom/js/global-presence.js has
   added .fw-gp-anim; prefers-reduced-motion turns all of it off.
   ══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   00 · TOKENS & PRIMITIVES
   ══════════════════════════════════════════════════════════════ */

.fw-gp-page{
	--pad:28px;
	--article-top:116px;
	--gp-bar:58px;
	--band:45vh;
	--band-pad:clamp(18px, 3.2vh, 40px);
	--gap:clamp(22px, 2.8vw, 56px);
	--ink:var(--dk-d);
	--line:color-mix(in srgb, var(--dk) 9%, transparent);
	--line-soft:color-mix(in srgb, var(--dk) 5.5%, transparent);
	--fade-x:linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
	--fade-y:linear-gradient(180deg, transparent, var(--line) 18%, var(--line) 82%, transparent);
	--ease:cubic-bezier(.22,1,.36,1);
	--ease-soft:cubic-bezier(.16,1,.3,1);
	--ease-pop:cubic-bezier(.34,1.56,.64,1);
	background:var(--wh);
	-webkit-text-size-adjust:100%
}

/* A region's colour family. fetch.php hands each region one in turn;
   rose and navy are the deep ends of pink and blue, for regions seven and
   eight, so no two regions on the page share a colour. */
.fw-gp-ac--pk{--ac:var(--pk);--ac-d:var(--pk-d);--ac-dd:var(--pk-dd);--ac-ink:var(--pk-ink);--ac-l:var(--pk-l);--ac-l2:var(--pk-l2);--ac-ring:var(--pk-ring)}
.fw-gp-ac--bl{--ac:var(--bl);--ac-d:var(--bl-d);--ac-dd:var(--bl-dd);--ac-ink:var(--bl-ink);--ac-l:var(--bl-l);--ac-l2:var(--bl-l2);--ac-ring:var(--bl-ring)}
.fw-gp-ac--mt{--ac:var(--mt);--ac-d:var(--mt-d);--ac-dd:var(--mt-dd);--ac-ink:var(--mt-ink);--ac-l:var(--mt-l);--ac-l2:var(--mt-l2);--ac-ring:var(--mt-ring)}
.fw-gp-ac--pu{--ac:var(--pu);--ac-d:var(--pu-d);--ac-dd:var(--pu-dd);--ac-ink:var(--pu-ink);--ac-l:var(--pu-l);--ac-l2:var(--pu-l2);--ac-ring:var(--pu-ring)}
.fw-gp-ac--go{--ac:var(--go);--ac-d:var(--go-d);--ac-dd:var(--go-dd);--ac-ink:var(--go-ink);--ac-l:var(--go-l);--ac-l2:var(--go-l2);--ac-ring:var(--go-ring)}
.fw-gp-ac--co{--ac:var(--co);--ac-d:var(--co-d);--ac-dd:var(--co-dd);--ac-ink:var(--co-ink);--ac-l:var(--co-l);--ac-l2:var(--co-l2);--ac-ring:var(--co-ring)}
.fw-gp-ac--rs{--ac:var(--pk-dd);--ac-d:var(--pk-dd);--ac-dd:var(--pk-dd);--ac-ink:var(--pk-ink);--ac-l:var(--pk-l);--ac-l2:var(--pk-l2);--ac-ring:var(--pk-ring)}
.fw-gp-ac--nv{--ac:var(--bl-dd);--ac-d:var(--bl-dd);--ac-dd:var(--bl-dd);--ac-ink:var(--bl-ink);--ac-l:var(--bl-l);--ac-l2:var(--bl-l2);--ac-ring:var(--bl-ring)}

.fw-gp{display:block;position:relative}
.fw-gp-page em{font-family:var(--ff);font-style:normal}
.fw-gp .fw-ico{stroke-width:1.6}
.fw-gp-inner{position:relative;z-index:1;width:100%;padding-inline:var(--pad)}

.fw-gp-eyebrow{
	display:flex;align-items:center;gap:9px;margin:0;
	font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--g5)
}
.fw-gp-eyebrow::before{content:'';width:22px;height:1.5px;border-radius:2px;background:linear-gradient(90deg, var(--pk), var(--bl));flex-shrink:0}
.fw-gp-live{position:relative;display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--mt)}
.fw-gp-h2{
	margin:clamp(6px, 1.1vh, 12px) 0 0;font-family:var(--ff);
	font-size:clamp(22px, 3.6vh, 40px);font-weight:600;line-height:1.08;letter-spacing:-.034em;color:var(--ink);text-wrap:balance
}
.fw-gp-lead{margin:clamp(8px, 1.4vh, 14px) 0 0;font-size:clamp(14px, 1.9vh, 17px);font-weight:300;line-height:1.6;color:var(--g6);text-wrap:pretty}
.fw-gp-cap{margin:0 0 clamp(8px, 1.4vh, 14px);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--g6)}

.fw-gp-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:9px;
	min-height:clamp(44px, 5.6vh, 52px);padding:0 24px;border:0;border-radius:100px;cursor:pointer;
	font-family:var(--ff);font-size:14.5px;font-weight:600;white-space:nowrap;
	color:var(--wh);background:linear-gradient(100deg, var(--pk), var(--pk-d) 45%, var(--pk-dd));box-shadow:var(--pk-glow);
	transition:box-shadow .3s, transform .25s var(--ease)
}
.fw-gp-btn .fw-ico{font-size:17px}
.fw-gp-btn i{font-size:13px;transition:transform .3s var(--ease)}
.fw-gp-btn:hover{color:var(--wh);box-shadow:var(--pk-glow-lg);transform:translateY(-1px)}
.fw-gp-btn:hover i{transform:translateX(3px)}
.fw-gp-btn--ghost{color:var(--ink);background:var(--wh);box-shadow:inset 0 0 0 1px var(--line), 0 10px 22px -16px var(--ink-a40)}
.fw-gp-btn--ghost:hover{color:var(--pk-ink);background:var(--pk-wash);box-shadow:inset 0 0 0 1px var(--pk-ring)}
.fw-gp-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--bl-d);transition:color .25s}
.fw-gp-link i{font-size:12px;transition:transform .3s var(--ease)}
.fw-gp-link:hover{color:var(--pk-ink)}
.fw-gp-link:hover i{transform:translateX(3px)}

.fw-gp img.lazy{opacity:0;transition:opacity .6s var(--ease-soft)}
.fw-gp img.lazy-loaded,
.fw-gp img.lazy-error{opacity:1}

/* ══════════════════════════════════════════════════════════════
   01 · §1 THE HERO — words and figures beside the live world
   ══════════════════════════════════════════════════════════════ */

.fw-gp-mast.fw-mast--open{padding:var(--band-pad) 0;min-height:var(--band)}
.fw-gp-mast .fw-mast__grid{grid-template-columns:minmax(0, 5.2fr) minmax(0, 6.8fr);column-gap:var(--gap);align-items:center}
.fw-gp-mast .fw-mast__crumb{margin-bottom:clamp(6px, 1.2vh, 14px)}
.fw-gp-h1{
	margin:0;font-family:var(--ff);font-size:clamp(28px, 5.2vh, 54px);font-weight:600;line-height:1.02;letter-spacing:-.045em;color:var(--ink)
}
.fw-gp-h1 span{
	display:block;margin-top:clamp(4px, .8vh, 8px);font-size:.52em;font-weight:500;letter-spacing:-.025em;line-height:1.15;
	background:linear-gradient(100deg, var(--pk-d), var(--pu) 55%, var(--bl-d));-webkit-background-clip:text;background-clip:text;color:transparent
}
.fw-gp-hero__lede{margin:clamp(8px, 1.5vh, 16px) 0 0;font-size:clamp(14px, 1.95vh, 17px);font-weight:300;line-height:1.6;color:var(--g6);text-wrap:pretty}

/* The four figures: one row, fade dividers, icon beside number. */
.fw-gp-stats{display:grid;grid-template-columns:repeat(4, minmax(0, auto));justify-content:start;margin:clamp(10px, 2vh, 22px) 0 0;padding:0;list-style:none}
.fw-gp-stats__i{position:relative;display:flex;align-items:center;gap:10px;padding:0 clamp(12px, 1.4vw, 22px)}
.fw-gp-stats__i:first-child{padding-left:0}
.fw-gp-stats__i + .fw-gp-stats__i::before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:1px;background:var(--fade-y)}
.fw-gp-stats__ico{
	display:grid;place-items:center;flex-shrink:0;width:clamp(32px, 4.2vh, 40px);height:clamp(32px, 4.2vh, 40px);border-radius:50%;
	font-size:clamp(15px, 2vh, 18px);color:var(--pk-ink);background:var(--pk-wash)
}
.fw-gp-stats__i:nth-child(2) .fw-gp-stats__ico{color:var(--bl-ink);background:var(--bl-bg)}
.fw-gp-stats__i:nth-child(3) .fw-gp-stats__ico{color:var(--mt-ink);background:var(--mt-l)}
.fw-gp-stats__i:nth-child(4) .fw-gp-stats__ico{color:var(--pu-ink);background:var(--pu-l)}
.fw-gp-stats__t{display:flex;flex-direction:column;line-height:1.1}
.fw-gp-stats__t b,
.fw-gp-stats__t b.counter{font-size:clamp(20px, 3.2vh, 30px);font-weight:600;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--ink)}
.fw-gp-stats__t small{margin-top:3px;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;color:var(--g5)}
.fw-gp-hero__act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:clamp(10px, 2vh, 22px)}

/* The atlas, as the band's side. */
.fw-gp-mast .fw-gp-atlas{display:block;min-width:0;padding-left:0;border-left:0}
.fw-gp-atlas__live{
	display:flex;align-items:center;gap:9px;margin:0 0 clamp(6px, 1.2vh, 12px);
	font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--g6)
}
.fw-gp-atlas__live span{margin-left:auto;font-weight:500;letter-spacing:.06em;text-transform:none;font-size:12px;color:var(--g5)}
.fw-gp-atlas__pan{position:relative;width:100%;overflow:hidden}
.fw-gp-map{position:relative;width:100%;aspect-ratio:360 / 134}
.fw-gp-map__land{
	position:absolute;inset:0;
	background:linear-gradient(100deg,
		color-mix(in srgb, var(--pk) 38%, var(--wh)),
		color-mix(in srgb, var(--pu) 34%, var(--wh)) 48%,
		color-mix(in srgb, var(--bl) 40%, var(--wh)));
	-webkit-mask:url(../static/global-presence/world-dots.svg) center / 100% 100% no-repeat;
	        mask:url(../static/global-presence/world-dots.svg) center / 100% 100% no-repeat
}
.fw-gp-map__pins{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fw-gp-pin{cursor:pointer;transition:opacity .3s}
.fw-gp-pin__halo{fill:var(--ac);opacity:.16;transform-box:fill-box;transform-origin:center}
.fw-gp-pin__dot{fill:var(--ac);stroke:var(--wh);stroke-width:1.5;transform-box:fill-box;transform-origin:center;transition:transform .35s var(--ease-pop)}
.fw-gp-pin:hover .fw-gp-pin__dot,
.fw-gp-pin:focus-visible .fw-gp-pin__dot,
.fw-gp-pin.is-hot .fw-gp-pin__dot{transform:scale(1.35)}
.fw-gp-pin:focus{outline:none}
.fw-gp-map.is-focus .fw-gp-pin:not(.is-hot){opacity:.12}

/* The pin card: one element, moved by the script to the pin in hand. */
.fw-gp-tip{
	position:absolute;z-index:3;left:0;top:0;transform:translate(-50%, calc(-100% - 14px));
	display:flex;align-items:center;gap:12px;padding:9px 10px 9px 9px;border-radius:16px;white-space:nowrap;
	background:var(--wh);box-shadow:0 18px 40px -18px var(--ink-a40), 0 0 0 1px var(--line-soft);pointer-events:auto
}
.fw-gp-tip[hidden]{display:none}
.fw-gp-tip::after{
	content:'';position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;
	background:var(--wh);transform:rotate(45deg);box-shadow:1px 1px 0 0 var(--line-soft)
}
.fw-gp-tip__flag{width:28px;height:28px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--wh), 0 0 0 3px var(--line)}
.fw-gp-tip__t{display:flex;flex-direction:column;line-height:1.25}
.fw-gp-tip__t b{font-size:14px;font-weight:600;color:var(--ink)}
.fw-gp-tip__t small{font-size:12px;color:var(--g5)}
.fw-gp-tip__go{
	display:inline-flex;align-items:center;gap:6px;margin-left:4px;padding:7px 12px;border-radius:100px;
	font-size:12.5px;font-weight:600;color:var(--wh);background:var(--pk-d);transition:background .25s
}
.fw-gp-tip__go:hover{color:var(--wh);background:var(--pk-dd)}
.fw-gp-tip__go i{font-size:11px}

.fw-gp-atlas__hint{display:none}

/* ══════════════════════════════════════════════════════════════
   02 · §2 THE BAR — region tabs and the finder, pinned
   ══════════════════════════════════════════════════════════════ */

.fw-gp-bar{
	position:sticky;top:var(--article-top);z-index:60;
	background:color-mix(in srgb, var(--wh) 90%, transparent);
	backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);
	border-block:1px solid var(--line-soft)
}
.fw-gp-bar__inner{display:flex;align-items:center;column-gap:clamp(14px, 2vw, 32px);width:100%;min-height:var(--gp-bar);padding:0 var(--pad)}
.fw-gp-bar__rail{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center}
.fw-gp-bar__track{
	display:flex;align-items:stretch;gap:clamp(2px, .6vw, 10px);flex:1 1 auto;min-width:0;margin:0;padding:0 2px;list-style:none;
	overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain
}
.fw-gp-bar__track::-webkit-scrollbar{display:none}
.fw-gp-bar__rail::before,
.fw-gp-bar__rail::after{content:'';position:absolute;top:0;bottom:0;z-index:2;width:clamp(56px, 6vw, 90px);pointer-events:none;opacity:0;transition:opacity .3s}
.fw-gp-bar__rail::before{left:0;background:linear-gradient(90deg, var(--wh) 38%, transparent)}
.fw-gp-bar__rail::after{right:0;background:linear-gradient(270deg, var(--wh) 38%, transparent)}
.fw-gp-bar__rail.has-rail:not(.at-start)::before,
.fw-gp-bar__rail.has-rail:not(.at-end)::after{opacity:1}
.fw-gp-bar__nav{
	position:absolute;top:50%;z-index:3;transform:translateY(-50%);
	display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;
	color:var(--g7);background:var(--wh);cursor:pointer;box-shadow:0 6px 16px -6px var(--ink-a40), inset 0 0 0 1px var(--line);
	transition:color .22s, background .22s, opacity .25s, box-shadow .25s
}
.fw-gp-bar__nav i{font-size:12px;line-height:1}
.fw-gp-bar__rail.has-rail .fw-gp-bar__nav{display:flex}
.fw-gp-bar__nav--prev{left:-4px}
.fw-gp-bar__nav--next{right:-4px}
.fw-gp-bar__nav:hover{color:var(--wh);background:var(--pk-d);box-shadow:var(--pk-glow)}
.fw-gp-bar__nav[disabled]{opacity:0;pointer-events:none}

/* A tab: the region's flags fanned, its name, how many countries. The one
   you are reading is underlined in its own colour; never a filled pill. */
.fw-gp-tab{
	position:relative;display:flex;align-items:center;gap:9px;height:var(--gp-bar);padding:0 10px;
	font-size:13.5px;font-weight:500;white-space:nowrap;color:var(--g6);transition:color .25s
}
.fw-gp-tab::after{
	content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2.5px;border-radius:3px 3px 0 0;
	background:linear-gradient(90deg, var(--ac), var(--ac-d));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)
}
.fw-gp-tab:hover{color:var(--ac-ink)}
.fw-gp-tab.is-on{color:var(--ink);font-weight:600}
.fw-gp-tab.is-on::after{transform:scaleX(1)}
.fw-gp-tab__flags{display:flex}
.fw-gp-tab__flags img{width:20px;height:20px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--wh)}
.fw-gp-tab__flags img + img{margin-left:-7px}
.fw-gp-tab__n{
	min-width:20px;height:20px;padding:0 6px;border-radius:100px;display:grid;place-items:center;
	font-size:10.5px;font-weight:700;color:var(--ac-ink);background:var(--ac-l)
}

/* The finder. */
.fw-gp-find{position:relative;flex:0 0 clamp(250px, 24vw, 380px)}
.fw-gp-find__open{display:none}
.fw-gp-find__box{
	display:flex;align-items:center;gap:10px;margin:0;height:42px;padding:0 16px;border-radius:100px;cursor:text;
	background:var(--g0);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .25s, background .25s
}
.fw-gp-find__box:focus-within{background:var(--wh);box-shadow:inset 0 0 0 1.5px var(--pk), 0 10px 26px -16px var(--pk)}
.fw-gp-find__ico{display:grid;place-items:center;font-size:17px;color:var(--pk-ink)}
.fw-gp-find__in{
	flex:1 1 auto;min-width:0;height:100%;padding:0;border:0;background:transparent;outline:0;
	font-family:var(--ff);font-size:14px;color:var(--ink)
}
.fw-gp-find__in::placeholder{color:var(--g5)}
.fw-gp-find__pop{
	position:absolute;top:calc(100% + 10px);right:0;z-index:5;width:max(100%, 340px);max-height:min(60vh, 440px);overflow-y:auto;
	padding:6px;border-radius:18px;background:var(--wh);box-shadow:0 26px 60px -24px var(--ink-a40), 0 0 0 1px var(--line-soft)
}
.fw-gp-find__pop[hidden]{display:none}
.fw-gp-find__opt{
	display:grid;grid-template-columns:30px minmax(0, 1fr) auto;align-items:center;column-gap:12px;
	padding:9px 10px;border-radius:12px;color:var(--ink);transition:background .2s
}
.fw-gp-find__opt img{width:30px;height:30px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.fw-gp-find__opt span{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.fw-gp-find__opt b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-gp-find__opt b mark{padding:0;color:var(--pk-ink);background:none}
.fw-gp-find__opt small{font-size:12px;color:var(--g5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-gp-find__opt em{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--g5)}
.fw-gp-find__opt:hover,
.fw-gp-find__opt.is-on{color:var(--ink);background:var(--pk-wash)}
.fw-gp-find__none{margin:0;padding:14px 12px;font-size:13.5px;line-height:1.55;color:var(--g6)}
.fw-gp-find__none a{font-weight:600;color:var(--pk-ink);border-bottom:1px solid var(--pk-ring)}

/* ══════════════════════════════════════════════════════════════
   03 · §3 THE REGIONS — one 45vh spread per zone
   [photograph | words and countries | map], mirrored on alternate
   regions. The photograph and the map take the band's height.
   ══════════════════════════════════════════════════════════════ */

.fw-gp-chapters{position:relative;overflow:clip}
.fw-gp-zone{position:relative;padding:var(--band-pad) 0}
.fw-gp-zone + .fw-gp-zone::before{content:'';position:absolute;top:0;left:var(--pad);right:var(--pad);height:1px;background:var(--fade-x)}
.fw-gp-zone__grid{
	--h:calc(var(--band) - var(--band-pad) * 2);
	display:grid;grid-template-columns:minmax(0, 3.2fr) minmax(0, 5fr) minmax(0, 3.8fr);column-gap:var(--gap);align-items:center;
	min-height:var(--h)
}
.fw-gp-zone--flip .fw-gp-zone__photo{order:3}
.fw-gp-zone--flip .fw-gp-zmap{order:1}
.fw-gp-zone--flip .fw-gp-zone__copy{order:2}

.fw-gp-zone__photo{position:relative;margin:0;height:var(--h);min-height:220px;overflow:hidden;border-radius:clamp(18px, 1.8vw, 28px);background:var(--g1)}
.fw-gp-zone__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-soft)}
.fw-gp-zone__photo:hover img{transform:scale(1.04)}
.fw-gp-zone__photo::after{content:'';position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--dk-d) 55%, transparent));pointer-events:none}
.fw-gp-zone__badge{
	position:absolute;z-index:1;left:14px;bottom:14px;display:flex;align-items:center;gap:10px;
	font-size:12.5px;font-weight:600;color:var(--wh)
}
.fw-gp-zone__flags{display:flex}
.fw-gp-zone__flags img{width:24px;height:24px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--wh)}
.fw-gp-zone__flags img + img{margin-left:-8px}

.fw-gp-zone__num{
	display:flex;align-items:center;gap:12px;margin:0;
	font-size:11.5px;font-weight:600;letter-spacing:.2em;color:var(--ac-ink)
}
.fw-gp-zone__num::before{content:'Region';font-weight:500;color:var(--g5)}
.fw-gp-zone__num::after{content:'';flex:0 0 clamp(30px, 4vw, 70px);height:1.5px;background:linear-gradient(90deg, var(--ac), transparent)}
.fw-gp-zone__h{
	margin:clamp(3px, .6vh, 8px) 0 0;font-family:var(--ff);font-size:clamp(26px, 4.4vh, 48px);font-weight:600;line-height:1;letter-spacing:-.045em;color:var(--ink);text-wrap:balance
}
.fw-gp-zone__h::after{content:'.';color:var(--ac)}
.fw-gp-zone__desc{margin:clamp(4px, .9vh, 10px) 0 0;font-size:clamp(13.5px, 1.8vh, 16px);font-weight:300;line-height:1.55;color:var(--g6);text-wrap:pretty}

.fw-gp-zone__stats{display:flex;flex-wrap:wrap;margin:clamp(8px, 1.6vh, 18px) 0 0;padding:0}
.fw-gp-zone__stats > div{position:relative;display:flex;align-items:baseline;gap:7px;padding:0 clamp(12px, 1.4vw, 22px)}
.fw-gp-zone__stats > div:first-child{padding-left:0}
.fw-gp-zone__stats > div + div::before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:1px;background:var(--fade-y)}
.fw-gp-zone__stats dd{order:-1;margin:0;font-size:clamp(20px, 3.2vh, 30px);font-weight:600;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--ink)}
.fw-gp-zone__stats dt{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--g5)}

.fw-gp-nations{display:grid;grid-template-columns:minmax(0, 1fr);column-gap:clamp(16px, 1.8vw, 30px);margin:clamp(8px, 1.6vh, 18px) 0 0;padding:0;list-style:none}
.fw-gp-nations--two{grid-template-columns:repeat(2, minmax(0, 1fr))}
.fw-gp-nation{position:relative;padding:clamp(6px, 1vh, 10px) 0}
.fw-gp-nation::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--fade-x)}
.fw-gp-nation__head{display:flex;align-items:center;gap:10px;min-width:0;color:var(--ink)}
.fw-gp-nation__flag{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px var(--wh), 0 0 0 3px var(--ac-ring)}
.fw-gp-nation__name{font-size:clamp(14px, 1.9vh, 16px);font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s}
.fw-gp-nation__n{flex-shrink:0;font-size:11.5px;font-weight:500;color:var(--g5)}
.fw-gp-nation__go{margin-left:auto;font-size:12px;color:var(--ac-ink);opacity:.35;transition:opacity .25s, transform .3s var(--ease)}
.fw-gp-nation__head:hover .fw-gp-nation__name{color:var(--ac-ink)}
.fw-gp-nation__head:hover .fw-gp-nation__go{opacity:1;transform:translate(2px, -2px)}
.fw-gp-nation__cities{display:flex;flex-wrap:wrap;gap:2px 10px;margin:4px 0 0 36px;font-size:12.5px;line-height:1.5}
.fw-gp-nation__cities a{color:var(--g6);transition:color .2s}
.fw-gp-nation__cities a:hover{color:var(--ac-ink)}
.fw-gp-nation__cities .fw-gp-nation__more{font-weight:600;color:var(--ac-ink)}
/* Three countries or more: one line each, so the spread holds its band;
   every city is still one tap away in the country's own list. */
.fw-gp-nations--two .fw-gp-nation__cities{display:none}

/* The region's own map: the fine dot world through an SVG mask, cropped
   by fetch.php's viewBox to a 4:3 box around its cities; its pins on a
   second layer so the land's soft edge never fades a pin. */
.fw-gp-zmap{position:relative;margin:0;min-width:0}
.fw-gp-zmap::before{
	content:'';position:absolute;inset:6% 8%;z-index:0;border-radius:50%;
	background:var(--ac);opacity:.1;filter:blur(80px);pointer-events:none
}
.fw-gp-zmap__box{position:relative;z-index:1;width:100%;max-height:calc(var(--band) - var(--band-pad) * 2 - 30px);aspect-ratio:4 / 3;margin-inline:auto}
.fw-gp-zmap__svg,
.fw-gp-zmap__pins{position:absolute;inset:0;display:block;width:100%;height:100%}
.fw-gp-zmap__svg{
	overflow:hidden;
	-webkit-mask:radial-gradient(ellipse 58% 56% at 50% 50%, var(--dk) 62%, transparent 100%);
	        mask:radial-gradient(ellipse 58% 56% at 50% 50%, var(--dk) 62%, transparent 100%)
}
.fw-gp-zmap__pins{z-index:2;overflow:visible}
.fw-gp-zmap__land{fill:color-mix(in srgb, var(--ac) 42%, var(--wh))}
.fw-gp-zpin__halo{fill:var(--ac);opacity:.18;transform-box:fill-box;transform-origin:center}
.fw-gp-zpin__dot{fill:var(--ac-d);stroke:var(--wh);stroke-width:1.5px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;transition:transform .35s var(--ease-pop)}
.fw-gp-zpin:hover .fw-gp-zpin__dot{transform:scale(1.35)}
.fw-gp-zmap__cap{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:6px;font-size:12.5px;color:var(--g6)}
.fw-gp-zmap__cap b{font-weight:600;color:var(--ink)}
.fw-gp-zmap__dot{width:8px;height:8px;border-radius:50%;background:var(--ac-d);box-shadow:0 0 0 4px var(--ac-l)}

/* ══════════════════════════════════════════════════════════════
   04 · §4 CLOSE TO HOME — words beside a mosaic
   ══════════════════════════════════════════════════════════════ */

.fw-gp-home{position:relative;padding:var(--band-pad) 0;background:linear-gradient(180deg, var(--wh), var(--paper-p))}
.fw-gp-home__grid{
	--h:calc(var(--band) - var(--band-pad) * 2);
	display:grid;grid-template-columns:minmax(0, 4.4fr) minmax(0, 7.6fr);column-gap:var(--gap);align-items:center;min-height:var(--h)
}
.fw-gp-promises{margin:clamp(10px, 2vh, 20px) 0 0;padding:0;list-style:none}
.fw-gp-promises li{position:relative;display:flex;align-items:center;gap:14px;padding:clamp(5px, 1vh, 10px) 0}
.fw-gp-promises li + li::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--fade-x)}
.fw-gp-promises__ico{
	display:grid;place-items:center;flex-shrink:0;width:clamp(34px, 4.6vh, 42px);height:clamp(34px, 4.6vh, 42px);border-radius:50%;
	font-size:clamp(16px, 2.1vh, 19px);color:var(--ac-ink);background:var(--ac-l)
}
.fw-gp-promises li > span:last-child{display:flex;flex-direction:column;line-height:1.35}
.fw-gp-promises b{font-size:clamp(14px, 1.9vh, 15.5px);font-weight:600;color:var(--ink)}
.fw-gp-promises small{font-size:13px;color:var(--g6)}
.fw-gp-mosaic{
	display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2, calc((var(--h) - clamp(8px, 1vw, 12px)) / 2));gap:clamp(8px, 1vw, 12px)
}
.fw-gp-mosaic__f{position:relative;margin:0;overflow:hidden;border-radius:clamp(14px, 1.4vw, 22px);background:var(--g1)}
.fw-gp-mosaic__f img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-soft)}
.fw-gp-mosaic__f:hover img{transform:scale(1.04)}
.fw-gp-mosaic__f--1{grid-row:1 / span 2}
.fw-gp-mosaic__f--1 img{object-position:50% 30%}
.fw-gp-mosaic__f--3 img{object-position:60% 40%}

/* ══════════════════════════════════════════════════════════════
   05 · §5 THE NETWORK IN NUMBERS — one spread
   ══════════════════════════════════════════════════════════════ */

.fw-gp-numbers{position:relative;padding:var(--band-pad) 0;min-height:var(--band)}
.fw-gp-numbers__top{display:grid;grid-template-columns:minmax(0, 4.4fr) minmax(0, 7.6fr);column-gap:var(--gap);align-items:end}
.fw-gp-share{margin:0}
.fw-gp-share__bar{display:block;width:100%;height:clamp(26px, 4vh, 38px);overflow:visible}
.fw-gp-share__seg{fill:var(--ac);transition:opacity .3s}
.fw-gp-share__bar:hover .fw-gp-share__seg{opacity:.45}
.fw-gp-share__bar .fw-gp-share__seg:hover{opacity:1}
.fw-gp-share__key{display:flex;flex-wrap:wrap;gap:4px clamp(10px, 1.2vw, 20px);margin:10px 0 0;padding:0;list-style:none}
.fw-gp-share__key a{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--g7);transition:color .25s}
.fw-gp-share__key i{width:9px;height:9px;border-radius:3px;background:var(--ac)}
.fw-gp-share__key b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.fw-gp-share__key a:hover{color:var(--ac-ink)}

.fw-gp-numbers__grid{
	display:grid;grid-template-columns:minmax(0, 7.6fr) minmax(0, 4.4fr);column-gap:var(--gap);
	margin-top:clamp(12px, 2.4vh, 28px);align-items:start
}
.fw-gp-board{margin:0}
.fw-gp-board__list{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-rows:repeat(4, auto);grid-auto-flow:column;column-gap:clamp(20px, 2.4vw, 44px);margin:0;padding:0;list-style:none}
.fw-gp-board__list li{position:relative}
.fw-gp-board__list li:not(:nth-child(4n+1))::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--fade-x)}
.fw-gp-board__row{
	display:grid;grid-template-columns:24px 26px minmax(0, 1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;
	padding:clamp(4px, .8vh, 8px) 4px;border-radius:10px;color:var(--ink);transition:background .25s
}
.fw-gp-board__row:hover{color:var(--ink);background:linear-gradient(90deg, var(--ac-l), transparent 90%)}
.fw-gp-board__rank{font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--g5);font-variant-numeric:tabular-nums}
.fw-gp-board__list li:first-child .fw-gp-board__rank{color:var(--ac-ink)}
.fw-gp-board__flag{width:26px;height:26px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.fw-gp-board__who{display:flex;align-items:baseline;gap:8px;min-width:0;line-height:1.25}
.fw-gp-board__who b{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-gp-board__who small{font-size:11.5px;color:var(--g5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-gp-board__n{font-size:17px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fw-gp-board__bar{
	grid-column:3 / span 2;grid-row:2;margin-top:5px;
	-webkit-appearance:none;appearance:none;width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;background:var(--g1);color:var(--ac)
}
.fw-gp-board__bar::-webkit-progress-bar{background:var(--g1);border-radius:10px}
.fw-gp-board__bar::-webkit-progress-value{background:linear-gradient(90deg, var(--ac-l2), var(--ac));border-radius:10px}
.fw-gp-board__bar::-moz-progress-bar{background:linear-gradient(90deg, var(--ac-l2), var(--ac));border-radius:10px}

.fw-gp-facts{margin:0;padding:0;list-style:none}
.fw-gp-facts li{position:relative;display:grid;grid-template-columns:auto minmax(0, 1fr) auto;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:clamp(6px, 1.2vh, 12px) 0}
.fw-gp-facts li:first-child{padding-top:0}
.fw-gp-facts li + li::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--fade-x)}
.fw-gp-facts__ico{
	grid-row:1 / span 2;display:grid;place-items:center;width:clamp(36px, 4.8vh, 44px);height:clamp(36px, 4.8vh, 44px);border-radius:50%;
	font-size:clamp(16px, 2.2vh, 20px);color:var(--ac-ink);background:var(--ac-l)
}
.fw-gp-facts small{grid-column:2;grid-row:1;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--g5)}
.fw-gp-facts b{
	grid-column:3;grid-row:1 / span 2;font-size:clamp(22px, 3.8vh, 36px);font-weight:600;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;
	background:linear-gradient(120deg, var(--ac-d), var(--ac));-webkit-background-clip:text;background-clip:text;color:transparent
}
.fw-gp-facts p{grid-column:2;grid-row:2;margin:2px 0 0;font-size:12.5px;line-height:1.45;color:var(--g6)}

/* ══════════════════════════════════════════════════════════════
   06 · §6 QUESTIONS
   ══════════════════════════════════════════════════════════════ */

.fw-gp-faq{position:relative;padding:var(--band-pad) 0;background:linear-gradient(180deg, var(--paper-p), var(--wh))}
.fw-gp-faq__head{display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);column-gap:var(--gap);align-items:end;margin-bottom:clamp(10px, 2vh, 22px)}
.fw-gp-faq__aside{display:flex;align-items:center;justify-content:space-between;gap:18px}
.fw-gp-faq__aside .fw-gp-lead{margin:0}
.fw-gp-faq__cols{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:var(--gap);align-items:start}
.fw-gp-faq__list{position:relative}
.fw-gp-faq__list::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--fade-x)}
.fw-gp-faq__item{position:relative}
.fw-gp-faq__item + .fw-gp-faq__item::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--fade-x)}
.fw-gp-faq__q{
	display:grid;grid-template-columns:40px minmax(0, 1fr) 28px;align-items:center;column-gap:12px;
	padding:clamp(8px, 1.4vh, 14px) 0;cursor:pointer;list-style:none
}
.fw-gp-faq__q::-webkit-details-marker{display:none}
.fw-gp-faq__n{font-size:12.5px;font-weight:600;letter-spacing:.08em;color:var(--g4);font-variant-numeric:tabular-nums;transition:color .25s}
.fw-gp-faq__t{font-size:clamp(15px, 2vh, 17.5px);font-weight:600;line-height:1.35;letter-spacing:-.015em;color:var(--ink)}
.fw-gp-faq__plus{position:relative;width:28px;height:28px;border-radius:50%;background:var(--g0);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s, transform .4s var(--ease)}
.fw-gp-faq__plus::before,
.fw-gp-faq__plus::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:1.8px;margin:-.9px 0 0 -5px;border-radius:2px;background:var(--g7);transition:transform .35s var(--ease), background .3s}
.fw-gp-faq__plus::after{transform:rotate(90deg)}
.fw-gp-faq__item[open] .fw-gp-faq__n{color:var(--pk-ink)}
.fw-gp-faq__item[open] .fw-gp-faq__plus{background:var(--pk-d);transform:rotate(180deg)}
.fw-gp-faq__item[open] .fw-gp-faq__plus::before{background:var(--wh)}
.fw-gp-faq__item[open] .fw-gp-faq__plus::after{transform:rotate(0);background:var(--wh)}
.fw-gp-faq__q:hover .fw-gp-faq__t{color:var(--pk-ink)}
.fw-gp-faq__a{margin:0;padding:0 40px clamp(8px, 1.5vh, 14px) 52px;font-size:14px;line-height:1.6;color:var(--g6)}

/* ══════════════════════════════════════════════════════════════
   07 · §7 CLOSING — a search on a faint map
   ══════════════════════════════════════════════════════════════ */

.fw-gp-close{position:relative;overflow:hidden;display:flex;align-items:center;min-height:var(--band);padding:var(--band-pad) 0;text-align:center;background:var(--wh)}
.fw-gp-close__map{
	position:absolute;inset:6% -4%;z-index:0;opacity:.55;
	background:linear-gradient(100deg, var(--pk-l2), var(--pu-l) 50%, var(--bl-l2));
	-webkit-mask:url(../static/global-presence/world-dots.svg) center / contain no-repeat;
	        mask:url(../static/global-presence/world-dots.svg) center / contain no-repeat
}
.fw-gp-close__inner{display:flex;flex-direction:column;align-items:center}
.fw-gp-close__title{
	margin:clamp(8px, 1.4vh, 14px) 0 0;font-family:var(--ff);font-size:clamp(28px, 5.4vh, 56px);font-weight:600;line-height:1.05;letter-spacing:-.04em;color:var(--ink);text-wrap:balance
}
.fw-gp-close__form{display:flex;align-items:center;gap:10px;width:clamp(280px, 48vw, 700px);margin-top:clamp(16px, 3vh, 30px);padding:6px;border-radius:100px;background:var(--wh);box-shadow:0 22px 50px -26px var(--ink-a40), inset 0 0 0 1px var(--line)}
.fw-gp-close__field{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;margin:0;padding-left:16px}
.fw-gp-close__ico{display:grid;place-items:center;font-size:18px;color:var(--pk-ink)}
.fw-gp-close__field input{flex:1 1 auto;min-width:0;height:44px;padding:0;border:0;background:transparent;outline:0;font-family:var(--ff);font-size:15px;color:var(--ink)}
.fw-gp-close__field input::placeholder{color:var(--g5)}
.fw-gp-close__form:focus-within{box-shadow:0 22px 50px -26px var(--pk), inset 0 0 0 1.5px var(--pk)}
.fw-gp-close__alt{margin:14px 0 0;font-size:14px;color:var(--g6)}
.fw-gp-close__alt a{font-weight:600;color:var(--pk-ink);border-bottom:1px solid var(--pk-ring)}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

@media(max-width:1280px){
	.fw-gp-zone__grid{grid-template-columns:minmax(0, 2.8fr) minmax(0, 5.4fr) minmax(0, 3.8fr)}
	.fw-gp-stats{grid-template-columns:repeat(2, minmax(0, auto));row-gap:12px}
	.fw-gp-stats__i:nth-child(3){padding-left:0}
	.fw-gp-stats__i:nth-child(3)::before{display:none}}

/* A spread that has become one column is no longer a spread: the band is
   released and type goes back to the width. */
@media(max-width:1024px){
	.fw-gp-page{--pad:14px;--band:auto;--band-pad:clamp(34px, 8vw, 56px);--gap:clamp(18px, 4vw, 28px)}
	.fw-gp-mast.fw-mast--open{min-height:0}
	.fw-gp-mast .fw-mast__grid,
	.fw-gp-home__grid,
	.fw-gp-numbers__top,
	.fw-gp-numbers__grid,
	.fw-gp-faq__head,
	.fw-gp-faq__cols{grid-template-columns:minmax(0, 1fr);row-gap:clamp(14px, 3vw, 22px);min-height:0}
	.fw-gp-faq__cols{row-gap:0}
	.fw-gp-faq__cols .fw-gp-faq__list + .fw-gp-faq__list::before{display:none}
	.fw-gp-faq__aside{flex-wrap:wrap}
	.fw-gp-h1{font-size:clamp(32px, 8vw, 50px)}
	.fw-gp-h2{font-size:clamp(24px, 5.6vw, 34px)}
	.fw-gp-stats{grid-template-columns:repeat(4, minmax(0, auto))}
	.fw-gp-stats__i:nth-child(3){padding-left:clamp(12px, 1.4vw, 22px)}
	.fw-gp-stats__i:nth-child(3)::before{display:block}

	.fw-gp-zone__grid{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);grid-template-areas:'photo map' 'copy copy';row-gap:22px;min-height:0}
	.fw-gp-zone__photo,
	.fw-gp-zone--flip .fw-gp-zone__photo{grid-area:photo;order:0;height:auto;aspect-ratio:4 / 3;min-height:0}
	.fw-gp-zmap,
	.fw-gp-zone--flip .fw-gp-zmap{grid-area:map;order:0}
	.fw-gp-zone__copy,
	.fw-gp-zone--flip .fw-gp-zone__copy{grid-area:copy;order:0}
	.fw-gp-zmap__box{max-height:none}
	.fw-gp-zone__h{font-size:clamp(30px, 7vw, 46px)}

	.fw-gp-mosaic{grid-template-rows:repeat(2, clamp(140px, 26vw, 220px))}
	.fw-gp-bar__inner{column-gap:10px}
	.fw-gp-find{flex-basis:clamp(210px, 32vw, 300px)}}

/* ── THE APP LAYER ──────────────────────────────────────────── */
@media(max-width:768px){
	.fw-gp-page{--gp-bar:54px}
	.fw-gp-stats{grid-template-columns:repeat(2, minmax(0, 1fr));row-gap:14px}
	.fw-gp-stats__i:nth-child(3){padding-left:0}
	.fw-gp-stats__i:nth-child(3)::before{display:none}
	.fw-gp-hero__act .fw-gp-btn{flex:1 1 100%}

	/* The world is wider than the phone: it pans by swipe, starting where
	   the network is busiest (global-presence.js). */
	.fw-gp-atlas__pan{overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--pad) * -1)}
	.fw-gp-atlas__pan::-webkit-scrollbar{display:none}
	.fw-gp-map{width:250vw}
	.fw-gp-atlas__hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 0;font-size:12.5px;color:var(--g5)}

	/* The bar: region tabs swipe; the finder is a round button that opens
	   over the tabs, the way a phone app searches. */
	.fw-gp-bar__inner{padding:0 0 0 var(--pad);column-gap:6px}
	.fw-gp-bar__nav{display:none!important}
	.fw-gp-tab{padding:0 8px;font-size:13px}
	.fw-gp-tab__flags img{width:18px;height:18px}
	.fw-gp-find{position:static;flex:0 0 auto;padding-right:var(--pad)}
	.fw-gp-find__open{
		display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;cursor:pointer;
		font-size:18px;color:var(--wh);background:linear-gradient(135deg, var(--pk), var(--pk-d));box-shadow:var(--pk-glow)
	}
	.fw-gp-find__box{display:none}
	.fw-gp-find.is-open .fw-gp-find__open{display:none}
	.fw-gp-find.is-open .fw-gp-find__box{
		display:flex;position:absolute;left:var(--pad);right:var(--pad);top:50%;z-index:4;transform:translateY(-50%);background:var(--wh)
	}
	.fw-gp-find__pop{left:var(--pad);right:var(--pad);width:auto;top:calc(100% + 6px)}

	.fw-gp-zone__grid{grid-template-columns:minmax(0, 1fr);grid-template-areas:'photo' 'copy' 'map'}
	.fw-gp-zone__photo,
	.fw-gp-zone--flip .fw-gp-zone__photo{aspect-ratio:16 / 10}
	.fw-gp-nations--two{grid-template-columns:minmax(0, 1fr)}
	.fw-gp-zmap__box{width:80%}

	.fw-gp-mosaic{grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-rows:clamp(210px, 60vw, 300px) repeat(2, clamp(120px, 38vw, 180px))}
	.fw-gp-mosaic__f--1{grid-column:1 / span 2;grid-row:1}
	.fw-gp-mosaic__f--5{display:none}
	.fw-gp-board__list{grid-template-columns:minmax(0, 1fr);grid-template-rows:none;grid-auto-flow:row}
	.fw-gp-board__list li:nth-child(5)::before{display:block}
	.fw-gp-facts b{font-size:clamp(22px, 6.4vw, 30px)}
	.fw-gp-faq__q{grid-template-columns:30px minmax(0, 1fr) 28px;column-gap:10px}
	.fw-gp-faq__a{padding:0 0 16px 40px}
	.fw-gp-close__form{flex-direction:column;align-items:stretch;width:100%;border-radius:24px;padding:10px}
	.fw-gp-close__field{padding:0 8px}
	.fw-gp-close__map{inset:18% -40%}}

/* ══════════════════════════════════════════════════════════════
   09 · MOTION — only when it is welcome
   ══════════════════════════════════════════════════════════════ */

@media(prefers-reduced-motion:no-preference){
	.fw-gp-live::after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--mt);animation:fwGpPing 2.2s ease-out infinite}

	/* Pins breathe, out of step with each other. */
	.fw-gp-pin__halo,
	.fw-gp-zpin__halo{animation:fwGpBreathe 3.2s ease-in-out infinite}
	.fw-gp-pin:nth-child(3n) .fw-gp-pin__halo{animation-delay:-1.1s}
	.fw-gp-pin:nth-child(3n+1) .fw-gp-pin__halo{animation-delay:-2.2s}
	.fw-gp-pin:nth-child(5n) .fw-gp-pin__halo{animation-duration:4s}
	.fw-gp-pin:nth-child(7n) .fw-gp-pin__halo{animation-duration:2.6s}
	.fw-gp-zpin:nth-child(2n) .fw-gp-zpin__halo{animation-delay:-1.6s}

	.fw-gp-anim [data-gp-reveal]{opacity:0;transform:translate3d(0,26px,0);transition:opacity .9s var(--ease-soft), transform 1s var(--ease-soft)}
	.fw-gp-anim [data-gp-reveal].is-in{opacity:1;transform:none}
	.fw-gp-anim .fw-gp-zone [data-gp-reveal]:nth-child(2){transition-delay:.1s}
	.fw-gp-anim .fw-gp-zone [data-gp-reveal]:nth-child(3){transition-delay:.2s}

	/* The world's pins drop in as the page opens. */
	.fw-gp-anim .fw-gp-map:not(.is-in) .fw-gp-pin__dot{transform:scale(0)}
	.fw-gp-anim .fw-gp-map .fw-gp-pin__dot{transition:transform .6s var(--ease-pop)}
	.fw-gp-anim .fw-gp-map .fw-gp-pin:nth-child(4n+1) .fw-gp-pin__dot{transition-delay:.15s}
	.fw-gp-anim .fw-gp-map .fw-gp-pin:nth-child(4n+2) .fw-gp-pin__dot{transition-delay:.35s}
	.fw-gp-anim .fw-gp-map .fw-gp-pin:nth-child(4n+3) .fw-gp-pin__dot{transition-delay:.55s}
	.fw-gp-anim .fw-gp-map .fw-gp-pin:nth-child(4n) .fw-gp-pin__dot{transition-delay:.75s}
	.fw-gp-anim .fw-gp-map.is-in .fw-gp-pin:hover .fw-gp-pin__dot{transition-delay:0s}

	/* A region's map fades up from its land, then its pins. */
	.fw-gp-anim .fw-gp-zmap[data-gp-reveal] .fw-gp-zpin__dot{transform:scale(0);transition:transform .6s var(--ease-pop) .5s}
	.fw-gp-anim .fw-gp-zmap[data-gp-reveal].is-in .fw-gp-zpin__dot{transform:none}
	.fw-gp-anim .fw-gp-zmap[data-gp-reveal].is-in .fw-gp-zpin:hover .fw-gp-zpin__dot{transform:scale(1.35);transition-delay:0s}

	/* The share bar grows left to right; the leaderboard bars fill. */
	.fw-gp-anim .fw-gp-numbers__top[data-gp-reveal] .fw-gp-share__bar{clip-path:inset(-10px 100% -10px 0);transition:clip-path 1.6s var(--ease-soft) .2s}
	.fw-gp-anim .fw-gp-numbers__top[data-gp-reveal].is-in .fw-gp-share__bar{clip-path:inset(-10px -10px -10px 0)}
	.fw-gp-anim .fw-gp-board[data-gp-reveal] .fw-gp-board__bar{clip-path:inset(0 100% 0 0);transition:clip-path 1.3s var(--ease-soft) .3s}
	.fw-gp-anim .fw-gp-board[data-gp-reveal].is-in .fw-gp-board__bar{clip-path:inset(0 0 0 0)}

	.fw-gp-anim [data-gp-reveal] .fw-gp-draw > *{stroke-dasharray:130;stroke-dashoffset:130}
	.fw-gp-anim [data-gp-reveal].is-in .fw-gp-draw > *{animation:fwGpDraw 1.6s var(--ease-soft) .25s forwards}
	.fw-gp-find__pop:not([hidden]){animation:fwGpPop .28s var(--ease)}}

@keyframes fwGpPing{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(3.2);opacity:0}}
@keyframes fwGpBreathe{0%,100%{transform:scale(1);opacity:.16}50%{transform:scale(1.45);opacity:.05}}
@keyframes fwGpDraw{to{stroke-dashoffset:0}}
@keyframes fwGpPop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
	.fw-gp-page *,
	.fw-gp-page *::before,
	.fw-gp-page *::after{
		animation-duration:.01ms!important;animation-iteration-count:1!important;
		transition-duration:.01ms!important;scroll-behavior:auto!important
	}
	.fw-gp img.lazy{opacity:1}}

/* ══════════════════════════════════════════════════════════════
   TOUCH · FOCUS · ANCHORS
   ══════════════════════════════════════════════════════════════ */

@media(hover:none){
	.fw-gp-btn:hover,
	.fw-gp-btn:hover i,
	.fw-gp-mosaic__f:hover img,
	.fw-gp-zone__photo:hover img,
	.fw-gp-nation__head:hover .fw-gp-nation__go{transform:none}}

/* core.js scrolls in-page links with scrollIntoView: clear the header and
   the pinned bar. */
.fw-gp [id]{scroll-margin-top:calc(var(--article-top) + var(--gp-bar))}

.fw-gp-page a:focus-visible,
.fw-gp-page button:focus-visible,
.fw-gp-page summary:focus-visible,
.fw-gp-page input:focus-visible{outline:2px solid var(--bl);outline-offset:3px;border-radius:8px}
.fw-gp-find__in:focus-visible,
.fw-gp-close__field input:focus-visible{outline:0}
