/*
Theme Name: 寰宇視窗（世界地圖）
Theme URI: https://world.111.org.tw/
Description: 寰宇視窗 Globe Window — 國際局勢與全球視野。深靛藍＋白＋青綠的世界地圖風新聞主題：窗格地球標誌、世界時鐘列、點陣世界地圖（即時晝夜線）、區域分頁、外交部旅遊警示與匯率換算。
Author: 111.org.tw
Template: nvbase
Version: 1.0.0
Text Domain: og-world
*/

:root {
	--night: #060a2a;
	--indigo: #0d1352;
	--indigo-2: #18217a;
	--indigo-3: #2b3a9c;
	--ink: #0b1033;
	--text: #222844;
	--muted: #5d6589;
	--line: #e1e5f1;
	--line-2: #eef1f8;
	--paper: #f4f6fb;
	--white: #fff;
	--teal: #13b3a3;
	--teal-d: #0b8c84;
	--teal-l: #6cf0de;
	--amber: #ffc35a;
	--red: #e5484d;
	--orange: #f08a2b;
	--yellow: #e3b917;
	--gray: #8a93ad;
	--apac: #13b3a3;
	--eu: #6b7cff;
	--am: #ff8a5c;
	--mea: #e3b917;
	--sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
	--serif: "Noto Serif TC", "Noto Sans TC", serif;
	--latin: "Sora", "Noto Sans TC", system-ui, sans-serif;
	--r: 14px;
	--shadow: 0 1px 2px rgba(13, 19, 82, .06), 0 8px 24px rgba(13, 19, 82, .07);
	--map: url(assets/worldmap.svg);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.gw { margin: 0; background: var(--paper); color: var(--text); font: 400 16px/1.7 var(--sans); overflow-x: hidden; }
.gw a { color: inherit; text-decoration: none; }
.gw a:hover { color: var(--teal-d); }
.gw img { max-width: 100%; height: auto; display: block; }
.gw h1, .gw h2, .gw h3 { color: var(--ink); line-height: 1.35; margin: 0; }
.nv-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gw-skip { position: absolute; left: -9999px; top: 0; background: var(--teal); color: #fff; padding: 8px 14px; z-index: 100; }
.gw-skip:focus { left: 8px; }
.gw :focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.gw [hidden] { display: none !important; }

/* ---------- world clocks ---------- */
.gw-clocks { background: var(--night); color: #c7cdf2; font: 500 12.5px/1 var(--latin); border-bottom: 1px solid rgba(255,255,255,.06); }
.gw-clocks-in { display: flex; align-items: center; gap: 18px; height: 38px; }
.gw-clocks-lab { display: flex; align-items: center; gap: 8px; color: var(--teal-l); font-family: var(--sans); font-weight: 700; letter-spacing: .08em; white-space: nowrap; flex: none; }
.gw-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--teal-l); box-shadow: 0 0 0 0 rgba(108,240,222,.6); animation: gwpulse 2s infinite; }
@keyframes gwpulse { 70% { box-shadow: 0 0 0 8px rgba(108,240,222,0); } 100% { box-shadow: 0 0 0 0 rgba(108,240,222,0); } }
.gw-clocks-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; flex: 1; min-width: 0; mask-image: linear-gradient(90deg, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); }
.gw-clocks-list::-webkit-scrollbar { display: none; }
.gw-clk { display: flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; white-space: nowrap; }
.gw-clk b { font-family: var(--sans); font-weight: 500; color: #9aa3d6; }
.gw-clk .gw-clk-t { color: #fff; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.gw-clk:first-child { background: rgba(19,179,163,.16); }
.gw-clk:first-child b { color: var(--teal-l); }
.gw-dn { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.is-day .gw-dn { background: var(--amber); box-shadow: 0 0 6px rgba(255,195,90,.7); }
.is-night .gw-dn { background: transparent; box-shadow: inset -3px -1px 0 0 #b8c1ff; }

/* ---------- masthead ---------- */
.gw-mast { position: relative; background: radial-gradient(120% 140% at 85% 0%, #1f2b96 0%, var(--indigo) 45%, var(--night) 100%); color: #fff; }
.gw-mast-map { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.gw-mast-map::before { content: ""; position: absolute; right: -4%; top: -30%; width: 62%; height: 170%; background: var(--teal-l); -webkit-mask: var(--map) center / contain no-repeat; mask: var(--map) center / contain no-repeat; opacity: .17; }
.gw-mast-in { position: relative; display: flex; align-items: center; gap: 28px; padding-top: 22px; padding-bottom: 22px; }
.gw-logo { display: flex; align-items: center; gap: 14px; flex: none; color: #fff !important; }
.gw-mark { width: 64px; height: 64px; flex: none; filter: drop-shadow(0 6px 16px rgba(0,0,0,.35)); }
.gw-logo-t { display: flex; flex-direction: column; line-height: 1; }
.gw-logo-t b { font: 900 34px/1.05 var(--sans); letter-spacing: .14em; color: #fff; }
.gw-logo-t i { font: 600 11.5px/1 var(--latin); font-style: normal; letter-spacing: .42em; color: var(--teal-l); margin-top: 9px; }
.gw-mast-mid { border-left: 1px solid rgba(255,255,255,.18); padding-left: 24px; min-width: 0; }
.gw-slogan { margin: 0; font: 700 17px/1.4 var(--sans); letter-spacing: .3em; color: #eef1ff; }
.gw-date { margin: 6px 0 0; font-size: 13px; color: #a9b1e3; letter-spacing: .06em; }
.gw-mast-r { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.gw-mast-fx { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; font: 500 12px/1 var(--latin); }
.gw-mast-fx li { display: flex; gap: 6px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: rgba(255,255,255,.04); }
.gw-mast-fx b { color: var(--teal-l); font-weight: 600; }
.gw-mast-fx span { color: #fff; font-variant-numeric: tabular-nums; }
.gw .nv-search { display: flex; align-items: stretch; background: #fff; border-radius: 999px; overflow: hidden; border: 1px solid var(--line); }
.gw .nv-search input { flex: 1; min-width: 0; border: 0; padding: 9px 16px; font: inherit; font-size: 14px; color: var(--ink); background: transparent; outline: 0; }
.gw .nv-search button { border: 0; background: var(--teal); color: #fff; font: 700 13.5px/1 var(--sans); padding: 0 16px; cursor: pointer; letter-spacing: .1em; }
.gw .nv-search button:hover { background: var(--teal-d); }
.gw-mast-search .nv-search { width: 290px; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
.gw-mast-search .nv-search input { color: #fff; }
.gw-mast-search .nv-search input::placeholder { color: #aab2e6; }
.gw-burger { display: none; margin-left: auto; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; background: transparent; cursor: pointer; padding: 11px 10px; flex-direction: column; justify-content: space-between; }
.gw-burger i { display: block; height: 2px; background: #fff; border-radius: 2px; transition: .2s; }
.gw-burger[aria-expanded="true"] i:nth-child(1) { transform: translateY(8.5px) rotate(45deg); }
.gw-burger[aria-expanded="true"] i:nth-child(2) { opacity: 0; }
.gw-burger[aria-expanded="true"] i:nth-child(3) { transform: translateY(-8.5px) rotate(-45deg); }

.gw-nav { position: relative; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 6px 18px rgba(13,19,82,.06); }
.gw-nav-in { display: flex; align-items: center; }
.gw-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.gw-nav li a { position: relative; display: block; padding: 14px 16px; font: 700 15px/1.2 var(--sans); color: var(--ink); letter-spacing: .06em; }
.gw-nav li a::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--teal); transform: scaleX(0); transition: transform .2s; }
.gw-nav li a:hover::after, .gw-nav li.on a::after { transform: scaleX(1); }
.gw-nav li.on a { color: var(--teal-d); }
.gw-nav-search { display: none; }

/* ---------- section headers ---------- */
.gw-h { display: flex; align-items: flex-end; gap: 16px; margin-bottom: 20px; }
.gw-h-t { display: flex; flex-direction: column; }
.gw-h-en { font: 600 11px/1 var(--latin); letter-spacing: .32em; color: var(--teal-d); margin-bottom: 7px; }
.gw-h h2, .gw-h h3 { font: 900 25px/1.2 var(--sans); letter-spacing: .08em; color: var(--ink); }
.gw-h-rule { flex: 1; height: 8px; margin-bottom: 7px; background: radial-gradient(circle, #c4cae3 1.3px, transparent 1.6px) 0 0 / 9px 8px repeat-x; }
.gw-more { font-size: 13.5px; font-weight: 700; color: var(--indigo-2) !important; white-space: nowrap; padding: 6px 12px; border-radius: 999px; background: #e8ebfa; }
.gw-more:hover { background: var(--teal); color: #fff !important; }
.gw-sec { padding: 46px 0 8px; }

/* ---------- region tags ---------- */
.gw-rg, .gw-cat { display: inline-flex; align-items: center; font-size: 12px; font-weight: 700; letter-spacing: .06em; line-height: 1; padding: 5px 8px; border-radius: 6px; }
.gw-cat { background: #e8ebfa; color: var(--indigo-2); }
.gw-rg { color: #fff; }
.gw-rg-apac { background: var(--apac); } .gw-rg-eu { background: var(--eu); } .gw-rg-am { background: var(--am); } .gw-rg-mea { background: #c99d06; }
.gw-rg-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; padding: 0; }

/* ---------- no image ---------- */
.gw-noimg { position: relative; display: block; width: 100%; height: 100%; min-height: 100%; background: linear-gradient(135deg, var(--indigo) 0%, var(--indigo-2) 60%, #0a5f78 130%); overflow: hidden; }
.gw-noimg i { position: absolute; inset: -10% -30% -10% -10%; background: var(--teal-l); -webkit-mask: var(--map) center / cover no-repeat; mask: var(--map) center / cover no-repeat; opacity: .32; }
.gw-noimg.v1 { background: linear-gradient(135deg, #0a1a5c, #1b2fa0 70%, #13b3a3 160%); }
.gw-noimg.v1 i { inset: -10% -10% -10% -50%; }
.gw-noimg.v2 { background: linear-gradient(160deg, #060a2a, #18217a 70%, #ffc35a 220%); }
.gw-noimg.v2 i { background: var(--amber); opacity: .28; inset: -20% -60% -10% 0; }
.gw-noimg.v3 { background: linear-gradient(135deg, #0b3d5c, #0d1352 80%); }
.gw-noimg em { position: absolute; left: 14px; bottom: 12px; font: 700 13px/1 var(--sans); font-style: normal; color: #fff; letter-spacing: .2em; padding: 6px 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 6px; background: rgba(6,10,42,.35); }

/* ---------- cards ---------- */
.gw-card { position: relative; background: #fff; border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.gw-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(13,19,82,.06), 0 16px 34px rgba(13,19,82,.12); }
.gw-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--indigo); }
.gw-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gw-card:hover .gw-card-media img { transform: scale(1.04); }
.gw-card-body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.gw-card-kick { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--muted); }
.gw-card-kick time { font-family: var(--latin); font-size: 12px; }
.gw-card-title { font: 700 17px/1.5 var(--sans) !important; letter-spacing: .02em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gw-card-ex { margin: 0; font-size: 14.5px; color: var(--muted); line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- hero ---------- */
.gw-hero { position: relative; color: #fff; background: var(--night); overflow: hidden; isolation: isolate; }
.gw-hero-bg { position: absolute; inset: 0; z-index: -1; background: url(assets/hero.jpg) 70% 40% / cover no-repeat; }
.gw-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,10,42,.94) 0%, rgba(6,10,42,.78) 38%, rgba(6,10,42,.2) 72%, rgba(6,10,42,.45) 100%), linear-gradient(0deg, rgba(6,10,42,.9) 0%, transparent 35%); }
.gw-hero-in { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 48px; align-items: center; padding-top: 72px; padding-bottom: 64px; min-height: 560px; }
.gw-hero-kick { margin: 0 0 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font: 600 12.5px/1 var(--latin); letter-spacing: .2em; color: #aeb7ee; }
.gw-live { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: rgba(19,179,163,.18); border: 1px solid rgba(108,240,222,.45); color: var(--teal-l); }
.gw-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--teal-l); animation: gwpulse 2s infinite; }
.gw-hero-title { font: 900 clamp(28px, 3.6vw, 46px)/1.3 var(--serif) !important; letter-spacing: .03em; color: #fff !important; text-wrap: balance; }
.gw-hero-title a { color: #fff !important; background: linear-gradient(transparent 88%, rgba(108,240,222,.55) 0) 0 0 / 0 100% no-repeat; transition: background-size .5s; }
.gw-hero-title a:hover { background-size: 100% 100%; }
.gw-hero-ex { margin: 18px 0 0; max-width: 40em; font-size: 16.5px; line-height: 1.85; color: #d3d8f5; }
.gw-hero-meta { margin: 24px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font: 500 13px/1 var(--latin); color: #aeb7ee; }
.gw-hero-meta .gw-cat { background: rgba(255,255,255,.12); color: #fff; }
.gw-hero-go { margin-left: 6px; padding: 11px 20px; border-radius: 999px; background: var(--teal); color: #fff !important; font: 700 14px/1 var(--sans); letter-spacing: .1em; transition: background .2s, transform .2s; }
.gw-hero-go:hover { background: #fff; color: var(--indigo) !important; transform: translateX(3px); }
.gw-hero-side { background: rgba(10,16,64,.55); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 22px 22px 10px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.gw-hero-side-t { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.14); font-size: 16px !important; color: #fff !important; letter-spacing: .14em; }
.gw-hero-side-t i { font: 600 10.5px/1 var(--latin); font-style: normal; letter-spacing: .26em; color: var(--teal-l); }
.gw-hero-side ol { list-style: none; margin: 0; padding: 0; }
.gw-hero-side li + li { border-top: 1px dashed rgba(255,255,255,.14); }
.gw-hero-side li a { display: flex; align-items: center; gap: 14px; padding: 14px 0; color: #fff !important; }
.gw-hs-n { font: 300 26px/1 var(--latin); color: var(--teal-l); flex: none; width: 34px; }
.gw-hs-t { flex: 1; min-width: 0; font-size: 15px; font-weight: 500; line-height: 1.55; display: flex; flex-direction: column; gap: 4px; }
.gw-hs-t time { font: 400 12px/1 var(--latin); color: #9aa3d6; }
.gw-hs-m { width: 72px; height: 54px; border-radius: 8px; overflow: hidden; flex: none; }
.gw-hs-m img { width: 100%; height: 100%; object-fit: cover; }
.gw-hero-side li a:hover .gw-hs-t { color: var(--teal-l); }
.gw-hero-foot { position: absolute; left: 0; right: 0; bottom: 0; font: 500 10.5px/1 var(--latin); letter-spacing: .3em; color: rgba(174,183,238,.6); }
.gw-hero-foot .nv-wrap { display: flex; gap: 22px; padding-bottom: 16px; }
.gw-hero-foot span:last-child { margin-left: auto; }

/* ---------- flash ---------- */
.gw-flash { background: #fff; border-bottom: 1px solid var(--line); }
.gw-flash-in { display: flex; align-items: center; gap: 18px; min-height: 56px; }
.gw-flash-t { display: flex; align-items: center; gap: 8px; flex: none; font-size: 14px !important; letter-spacing: .14em; color: #fff !important; background: var(--red); padding: 8px 12px; border-radius: 8px; }
.gw-flash-t i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: gwblink 1.4s infinite; }
@keyframes gwblink { 50% { opacity: .25; } }
.gw-flash-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; overflow-x: auto; scrollbar-width: none; flex: 1; min-width: 0; mask-image: linear-gradient(90deg, #000 90%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); }
.gw-flash-list::-webkit-scrollbar { display: none; }
.gw-flash-list li { display: flex; align-items: center; gap: 10px; white-space: nowrap; font-size: 15px; font-weight: 500; }
.gw-flash-list time { font: 600 13px/1 var(--latin); color: var(--teal-d); }
.gw-flash-list li + li::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #c4cae3; margin-right: 18px; }

/* ---------- regions ---------- */
.gw-reg-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-bottom: 20px; }
.gw-reg-head .gw-h { margin: 0; flex: 1; min-width: 240px; }
.gw-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 5px; background: #fff; border-radius: 999px; box-shadow: var(--shadow); }
.gw-tabs button { display: inline-flex; align-items: center; gap: 7px; border: 0; background: transparent; padding: 9px 16px; border-radius: 999px; font: 700 14px/1 var(--sans); color: var(--muted); cursor: pointer; letter-spacing: .06em; transition: .2s; }
.gw-tabs button small { font: 600 11px/1 var(--latin); color: #9aa1c3; }
.gw-tabs button:hover { color: var(--ink); }
.gw-tabs button.on { background: var(--indigo); color: #fff; }
.gw-tabs button.on small { color: var(--teal-l); }
.gw-reg-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gw-reg-grid .gw-card.is-lead { grid-column: span 2; grid-row: span 2; }
.gw-reg-grid .gw-card.is-lead .gw-card-media { aspect-ratio: auto; flex: 1; min-height: 260px; }
.gw-reg-grid .gw-card.is-lead .gw-card-title { font-size: 22px !important; }
.gw-reg-grid.is-filtered .gw-card.is-lead { grid-column: auto; grid-row: auto; }
.gw-reg-grid.is-filtered .gw-card.is-lead .gw-card-media { aspect-ratio: 16 / 10; flex: none; min-height: 0; }
.gw-reg-grid.is-filtered .gw-card.is-lead .gw-card-title { font-size: 17px !important; }
.gw-reg-grid .gw-card.is-out { display: none; }
.gw-reg-grid .gw-card { animation: gwin .35s ease both; }
@keyframes gwin { from { opacity: 0; transform: translateY(6px); } }

/* ---------- main layout ---------- */
.gw-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.gw-world-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; }
.gw-card.is-feature .gw-card-media { aspect-ratio: 4 / 3; }
.gw-card.is-feature .gw-card-title { font-size: 22px !important; font-family: var(--serif) !important; font-weight: 900 !important; line-height: 1.45 !important; }
.gw-card.is-feature .gw-card-body { padding: 18px 22px 24px; }
.gw-world-list { display: flex; flex-direction: column; gap: 12px; }
.gw-card.is-row { flex-direction: row; align-items: stretch; flex: 1; }
.gw-card.is-row .gw-card-media { width: 132px; flex: none; aspect-ratio: auto; min-height: 96px; }
.gw-card.is-row .gw-card-body { padding: 12px 14px; justify-content: center; }
.gw-card.is-row .gw-card-title { font-size: 15.5px !important; -webkit-line-clamp: 3; }
.gw-card.is-row .gw-noimg em { display: none; }
.gw-quad-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gw-quad-grid .gw-card.is-first { grid-column: 1 / -1; flex-direction: row; }
.gw-quad-grid .gw-card.is-first .gw-card-media { width: 46%; flex: none; aspect-ratio: 16 / 10; }
.gw-quad-grid .gw-card.is-first .gw-card-body { padding: 22px 26px; justify-content: center; }
.gw-quad-grid .gw-card.is-first .gw-card-title { font-size: 21px !important; }
.gw-quad-grid .gw-card:not(.is-first) .gw-card-title { font-size: 15.5px !important; }
.gw-tech .gw-quad-grid .gw-card.is-first { flex-direction: row-reverse; }
.gw-cs .gw-h-en { color: var(--am); }

/* ---------- aside ---------- */
.gw-aside { padding-top: 46px; display: flex; flex-direction: column; gap: 24px; position: sticky; top: 12px; }
.gw-side-t { display: flex; align-items: baseline; justify-content: space-between; font-size: 17px !important; letter-spacing: .14em; padding-bottom: 12px; margin-bottom: 4px !important; border-bottom: 2px solid var(--ink); }
.gw-side-t i { font: 600 10.5px/1 var(--latin); font-style: normal; letter-spacing: .26em; color: var(--teal-d); }
.gw-rank, .gw-idx { background: #fff; border-radius: var(--r); padding: 20px 20px 12px; box-shadow: var(--shadow); }
.gw-rank ol { list-style: none; margin: 0; padding: 0; counter-reset: r; }
.gw-rank li { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line-2); align-items: flex-start; }
.gw-rank li:last-child { border-bottom: 0; }
.gw-rank-n { font: 700 22px/1 var(--latin); color: #c5cbe6; width: 26px; flex: none; text-align: center; padding-top: 2px; }
.gw-rank li:nth-child(-n+3) .gw-rank-n { color: var(--teal); }
.gw-rank li:first-child .gw-rank-n { font-size: 28px; }
.gw-rank li a { font-size: 15px; font-weight: 500; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gw-idx-row { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "l v" "l c"; gap: 2px 10px; padding: 12px 0; border-bottom: 1px solid var(--line-2); }
.gw-idx-row span { grid-area: l; font-weight: 700; color: var(--ink); display: flex; flex-direction: column; gap: 3px; }
.gw-idx-row small { font: 400 11.5px/1 var(--latin); color: var(--muted); }
.gw-idx-row b { grid-area: v; font: 600 20px/1 var(--latin); color: var(--ink); text-align: right; }
.gw-idx-row em { grid-area: c; font: 500 12.5px/1 var(--latin); font-style: normal; text-align: right; color: var(--muted); }
.gw-idx-row.up em { color: var(--red); } .gw-idx-row.dn em { color: #12a150; }
.gw .nv-side { display: flex; flex-direction: column; gap: 20px; }
.gw .nv-side:empty { display: none; }
.gw .nv-govcredit { margin: 12px 0 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
.gw .nv-govcredit a { color: var(--teal-d); text-decoration: underline; text-underline-offset: 2px; }

/* ---------- world now ---------- */
.gw-now { margin-top: 56px; padding: 56px 0 60px; background: radial-gradient(90% 120% at 20% 0%, #1a2488 0%, var(--indigo) 50%, var(--night) 100%); color: #d8ddfb; }
.gw-now .gw-h h2 { color: #fff; }
.gw-now .gw-h-en { color: var(--teal-l); }
.gw-now .gw-h-rule { background-image: radial-gradient(circle, rgba(255,255,255,.25) 1.3px, transparent 1.6px); }
.gw-now-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: stretch; }
.gw-map-card { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 20px 20px 16px; }
.gw-map { position: relative; width: 100%; aspect-ratio: 1800 / 700; }
.gw-map-dots { position: absolute; inset: 0; background: #4d6bd8; -webkit-mask: var(--map) 0 0 / 100% 100% no-repeat; mask: var(--map) 0 0 / 100% 100% no-repeat; opacity: .9; }
.gw-night { position: absolute; inset: 0; width: 100%; height: 100%; }
.gw-night path { fill: rgba(3,5,24,.55); }
.gw-pin { position: absolute; transform: translate(-50%, -50%); z-index: 2; }
.gw-pin i { display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--teal-l); box-shadow: 0 0 0 3px rgba(108,240,222,.25); }
.gw-pin.is-night i { background: var(--amber); box-shadow: 0 0 0 3px rgba(255,195,90,.25), 0 0 14px 3px rgba(255,195,90,.7); }
.gw-pin.is-home i { width: 13px; height: 13px; animation: gwpulse2 2.2s infinite; }
@keyframes gwpulse2 { 70% { box-shadow: 0 0 0 12px rgba(255,195,90,0); } }
.gw-pin span { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); white-space: nowrap; display: flex; gap: 6px; align-items: baseline; font-size: 12px; padding: 4px 8px; border-radius: 6px; background: rgba(6,10,42,.78); border: 1px solid rgba(255,255,255,.12); }
.gw-pin.is-left span { left: auto; right: 14px; }
.gw-pin b { color: #fff; font-weight: 700; }
.gw-pin em { font: 600 12px/1 var(--latin); font-style: normal; color: var(--teal-l); font-variant-numeric: tabular-nums; }
.gw-pin.is-night em { color: var(--amber); }
.gw-map-legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; font-size: 12.5px; color: #aab2e6; }
.gw-map-legend span { display: flex; align-items: center; gap: 7px; }
.gw-map-legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.gw-map-legend i.d { background: var(--teal-l); } .gw-map-legend i.n { background: var(--amber); } .gw-map-legend i.s { background: #03051a; border: 1px solid rgba(255,255,255,.35); border-radius: 3px; }
.gw-map-utc { margin-left: auto; font-family: var(--latin); letter-spacing: .1em; }
.gw-map-utc b { color: #fff; }

.gw-fx { background: #fff; color: var(--text); border-radius: 18px; padding: 22px 22px 16px; box-shadow: 0 24px 50px rgba(0,0,0,.25); display: flex; flex-direction: column; }
.gw-fx-t { display: flex; align-items: baseline; justify-content: space-between; font-size: 18px !important; letter-spacing: .12em; margin-bottom: 8px !important; }
.gw-fx-t i { font: 600 10.5px/1 var(--latin); font-style: normal; letter-spacing: .26em; color: var(--teal-d); }
.gw-fx-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gw-fx-table th, .gw-fx-table td { padding: 9px 0; border-bottom: 1px solid var(--line-2); text-align: left; }
.gw-fx-table thead th { font-size: 12px; color: var(--muted); font-weight: 500; padding-top: 4px; }
.gw-fx-table thead th:last-child, .gw-fx-table td { text-align: right; }
.gw-fx-table tbody th { font-weight: 500; color: var(--ink); }
.gw-fx-table tbody th b { display: inline-block; min-width: 42px; font: 700 13px/1 var(--latin); color: var(--teal-d); }
.gw-fx-table small { color: var(--muted); font-size: 11.5px; }
.gw-fx-table td { font: 600 16px/1 var(--latin); color: var(--ink); font-variant-numeric: tabular-nums; }
.gw-conv { margin-top: 16px; background: var(--paper); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 6px; position: relative; }
.gw-conv-row { display: flex; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.gw-conv-row:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(19,179,163,.15); }
.gw-conv-row span, .gw-conv-row select { flex: none; width: 46%; padding: 11px 12px; font: 700 13px/1.2 var(--sans); color: var(--indigo-2); background: #eef1fb; border: 0; border-right: 1px solid var(--line); }
.gw-conv-row select { cursor: pointer; appearance: auto; }
.gw-conv-row input { flex: 1; min-width: 0; border: 0; padding: 11px 12px; font: 600 17px/1.2 var(--latin); text-align: right; color: var(--ink); background: #fff; outline: 0; }
.gw-conv-swap { align-self: center; width: 26px; height: 26px; margin: -2px 0; border-radius: 50%; background: var(--teal); color: #fff; display: grid; place-items: center; font-size: 14px; z-index: 1; }

/* ---------- travel warnings ---------- */
.gw-warn { padding: 60px 0 56px; background: #fff; position: relative; overflow: hidden; }
.gw-warn::before { content: ""; position: absolute; right: -8%; top: -10%; width: 70%; height: 80%; background: var(--indigo); -webkit-mask: var(--map) center / contain no-repeat; mask: var(--map) center / contain no-repeat; opacity: .045; pointer-events: none; }
.gw-warn .nv-wrap { position: relative; }
.gw-warn-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
.gw-warn-head .gw-h { margin-bottom: 8px; }
.gw-warn-sum { margin: 0 0 22px; color: var(--muted); font-size: 15px; }
.gw-warn-sum b { font: 700 18px/1 var(--latin); color: var(--ink); }
.gw-warn-sum .t-red { color: var(--red); }
.gw-lv { display: flex; gap: 6px; margin-bottom: 18px; }
.gw-lv-b { flex: var(--w) 1 0; min-width: 0; display: flex; align-items: center; gap: 12px; text-align: left; border: 0; cursor: pointer; padding: 14px 16px; border-radius: 12px; color: #fff; font: inherit; transition: transform .15s, box-shadow .2s, opacity .2s; position: relative; }
.gw-lv-b:first-child { border-radius: 12px 6px 6px 12px; } .gw-lv-b:last-child { border-radius: 6px 12px 12px 6px; }
.gw-lv-b.lv-red { background: linear-gradient(135deg, #f0565b, #c9353a); }
.gw-lv-b.lv-orange { background: linear-gradient(135deg, #f7a04c, #df7419); }
.gw-lv-b.lv-yellow { background: linear-gradient(135deg, #f6d24a, #dcae0c); color: #3a2d00; }
.gw-lv-b.lv-gray { background: linear-gradient(135deg, #a4abc3, #7d86a2); }
.gw-lv-b:hover { transform: translateY(-2px); }
.gw-lv.has-on .gw-lv-b { opacity: .38; }
.gw-lv.has-on .gw-lv-b[aria-pressed="true"] { opacity: 1; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--ink); }
.gw-lv-n { font: 700 30px/1 var(--latin); }
.gw-lv-l { display: flex; flex-direction: column; font-size: 12.5px; line-height: 1.35; opacity: .95; min-width: 0; }
.gw-lv-l b { font-size: 15px; letter-spacing: .1em; }
.gw-warn-ctl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.gw-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gw-chips button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: #fff; padding: 8px 14px; border-radius: 999px; font: 700 13.5px/1 var(--sans); color: var(--muted); cursor: pointer; letter-spacing: .04em; }
.gw-chips button small { font: 600 11px/1 var(--latin); color: #9aa1c3; }
.gw-chips button:hover { border-color: var(--teal); color: var(--ink); }
.gw-chips button.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.gw-chips button.on small { color: var(--teal-l); }
.gw-warn-q input { width: 300px; max-width: 100%; border: 1px solid var(--line); border-radius: 999px; padding: 10px 16px 10px 38px; font: inherit; font-size: 14px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d6589' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 13px 50% / 16px no-repeat; outline: 0; }
.gw-warn-q input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(19,179,163,.15); }
.gw-warn-new { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 12px 16px; margin-bottom: 18px; background: var(--paper); border-radius: 12px; font-size: 14px; }
.gw-warn-new-t { font-weight: 900; color: var(--ink); letter-spacing: .1em; }
.gw-warn-new a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.gw-warn-new small { font: 400 11.5px/1 var(--latin); color: var(--muted); }
.lvdot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; background: var(--gray); }
.lvdot.lv-red { background: var(--red); } .lvdot.lv-orange { background: var(--orange); } .lvdot.lv-yellow { background: var(--yellow); }
.gw-wl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gw-wi { --c: var(--gray); position: relative; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px 12px 20px; display: flex; flex-direction: column; gap: 6px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.gw-wi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--c); }
.gw-wi:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.gw-wi.lv-red { --c: var(--red); } .gw-wi.lv-orange { --c: var(--orange); } .gw-wi.lv-yellow { --c: var(--yellow); } .gw-wi.lv-none { --c: #c7ccdd; }
.gw-wi-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.gw-wi-lv { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--c); }
.gw-wi.lv-yellow .gw-wi-lv { color: #a88300; }
.gw-wi-lv i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.gw-wi-rg { font-size: 11.5px; color: var(--muted); background: var(--paper); padding: 3px 8px; border-radius: 999px; }
.gw-wi-c { font-size: 18px !important; font-weight: 900; letter-spacing: .04em; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.gw-wi-c small { font: 500 12px/1.3 var(--latin); color: var(--muted); letter-spacing: 0; }
.gw-wi-a { margin: 0; font-size: 13px; color: var(--indigo-2); font-weight: 500; }
.gw-wi-x { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gw-wi-f { margin: auto 0 0; padding-top: 6px; display: flex; justify-content: space-between; font-size: 12px; color: #8b92b3; }
.gw-wi-f a { color: var(--teal-d); font-weight: 700; }
.gw-wl-empty { text-align: center; padding: 30px; color: var(--muted); background: var(--paper); border-radius: 12px; }
.gw-wl-more { text-align: center; margin-top: 22px; }
.gw-wl-more button { border: 2px solid var(--ink); background: #fff; color: var(--ink); font: 700 14.5px/1 var(--sans); letter-spacing: .1em; padding: 13px 28px; border-radius: 999px; cursor: pointer; transition: .2s; }
.gw-wl-more button:hover { background: var(--ink); color: #fff; }
.gw-wl-more button span { font: 500 12.5px/1 var(--latin); opacity: .7; margin-left: 4px; }
.gw-warn .nv-govcredit { text-align: center; margin-top: 18px; }

/* ---------- life & latest ---------- */
.gw-life-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gw-life-grid .gw-card-title { font-size: 15.5px !important; }
.gw-latest { padding-bottom: 60px; }
.gw-latest-list { list-style: none; margin: 0; padding: 6px 24px; background: #fff; border-radius: var(--r); box-shadow: var(--shadow); columns: 2; column-gap: 48px; }
.gw-latest-list li { break-inside: avoid; display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line-2); }
.gw-latest-list time { flex: none; display: flex; flex-direction: column; align-items: center; width: 50px; font: 400 11px/1.2 var(--latin); color: var(--muted); }
.gw-latest-list time b { font: 600 15px/1.2 var(--latin); color: var(--teal-d); }
.gw-latest-list a { flex: 1; min-width: 0; font-weight: 500; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gw-latest-list .gw-cat { flex: none; }

/* ---------- footer ---------- */
.gw-foot { position: relative; background: var(--night); color: #a9b1e3; overflow: hidden; margin-top: 0; }
.gw-foot-map { position: absolute; inset: 0; pointer-events: none; }
.gw-foot-map::before { content: ""; position: absolute; left: 50%; top: 0; width: 1200px; height: 100%; transform: translateX(-50%); background: var(--teal-l); -webkit-mask: var(--map) center / cover no-repeat; mask: var(--map) center / cover no-repeat; opacity: .07; }
.gw-foot-in { position: relative; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; padding-top: 56px; padding-bottom: 40px; }
.gw-foot .gw-mark { width: 52px; height: 52px; }
.gw-foot .gw-logo-t b { font-size: 26px; }
.gw-foot-slogan { margin: 16px 0 8px; color: #fff; font-weight: 700; letter-spacing: .3em; }
.gw-foot p { font-size: 14px; line-height: 1.85; }
.gw-foot h3 { color: #fff !important; font-size: 15px; letter-spacing: .2em; margin-bottom: 16px !important; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.12); }
.gw-foot-nav div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
.gw-foot-nav a { font-size: 14px; color: #c7cdf2; }
.gw-foot a:hover { color: var(--teal-l); }
.gw-foot-src ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; }
.gw-foot-src a { color: #c7cdf2; text-decoration: underline; text-decoration-color: rgba(108,240,222,.4); text-underline-offset: 3px; }
.gw-foot-note { font-size: 12.5px !important; color: #7f88bd; margin-top: 14px; }
.gw-copy { position: relative; border-top: 1px solid rgba(255,255,255,.08); font: 400 12.5px/1 var(--latin); color: #7f88bd; }
.gw-copy .nv-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-top: 18px; padding-bottom: 18px; }
.gw-copy-coord { letter-spacing: .14em; }

/* ---------- inner pages (nvbase markup) ---------- */
.gw .nv-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; padding-top: 32px; padding-bottom: 60px; }
.gw .nv-crumb { font-size: 13px; color: var(--muted); margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.gw .nv-crumb a { color: var(--indigo-2); }
.gw .nv-crumb .sep { margin: 0 4px; color: #b5bbd6; }
.gw .nv-crumb > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.gw .nv-article { background: #fff; border-radius: 18px; padding: 34px 44px 40px; box-shadow: var(--shadow); min-width: 0; }
.gw .nv-article-head { position: relative; padding-bottom: 22px; margin-bottom: 26px; border-bottom: 1px solid var(--line); }
.gw .nv-article-head::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 90px; height: 3px; background: linear-gradient(90deg, var(--teal), var(--indigo-2)); }
.gw .nv-article-cat { display: inline-block; background: var(--indigo); color: #fff !important; font-size: 12.5px; font-weight: 700; padding: 5px 11px; border-radius: 6px; letter-spacing: .1em; margin-bottom: 14px; }
.gw .nv-article-title { font: 900 clamp(24px, 3vw, 34px)/1.45 var(--serif); letter-spacing: .02em; color: var(--ink); }
.gw .nv-article-meta { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 14px; font-size: 13.5px; color: var(--muted); font-family: var(--latin); }
.gw .nv-article-meta .nv-site { font-family: var(--sans); color: var(--teal-d); font-weight: 700; }
.gw .nv-article-body { font-size: 17.5px; line-height: 1.95; color: #252b45; overflow-wrap: anywhere; }
.gw .nv-article-body p { margin: 0 0 1.3em; }
.gw .nv-article-body a { color: var(--teal-d); text-decoration: underline; text-underline-offset: 3px; }
.gw .nv-article-body h2, .gw .nv-article-body h3 { margin: 1.8em 0 .8em; padding-left: 14px; border-left: 4px solid var(--teal); }
.gw .nv-article-body img { border-radius: 12px; margin: 1.2em auto; height: auto; }
.gw .nv-article-body figure { margin: 1.4em 0; max-width: 100%; }
.gw .nv-article-body figcaption, .gw .wp-caption-text { font-size: 13.5px; color: var(--muted); text-align: center; margin-top: 6px; }
.gw .nv-article-body blockquote { margin: 1.5em 0; padding: 16px 22px; background: var(--paper); border-left: 4px solid var(--indigo-2); border-radius: 0 12px 12px 0; color: var(--ink); }
.gw .nv-article-body table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; font-size: 15px; }
.gw .nv-article-body td, .gw .nv-article-body th { border: 1px solid var(--line); padding: 8px 10px; }
.gw .nv-article-body iframe, .gw .nv-article-body video { max-width: 100%; }
.gw .nv-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; }
.gw .nv-tags a { font-size: 13px; padding: 6px 12px; border-radius: 999px; background: var(--paper); color: var(--indigo-2); }
.gw .nv-tags a:hover { background: var(--teal); color: #fff; }
.gw .nv-sec-title { font: 900 21px/1.3 var(--sans); letter-spacing: .1em; color: var(--ink); margin: 36px 0 16px; padding-left: 14px; border-left: 4px solid var(--teal); }
.gw .nv-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.gw .nv-404 .nv-related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gw .nv-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.gw .nv-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, var(--indigo), var(--indigo-2)); }
.gw .nv-card-media img { width: 100%; height: 100%; object-fit: cover; }
.gw .nv-card-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; }
.gw .nv-card-title { font: 700 15px/1.55 var(--sans); }
.gw .nv-card-cat { align-self: flex-start; font-size: 12px; font-weight: 700; padding: 4px 8px; border-radius: 6px; background: #e8ebfa; color: var(--indigo-2); }
.gw .nv-card-excerpt { margin: 0; font-size: 14px; color: var(--muted); line-height: 1.7; }
.gw .nv-card-time { font: 400 12px/1 var(--latin); color: #8b92b3; }
.gw .nv-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
.gw .nv-prevnext > div { background: var(--paper); border-radius: 12px; padding: 14px 16px; font-weight: 700; font-size: 14.5px; line-height: 1.55; }
.gw .nv-prevnext .next { text-align: right; grid-column: 2; }
.gw .nv-page-head { position: relative; background: radial-gradient(120% 160% at 90% 0%, #1f2b96, var(--indigo) 50%, var(--night)); color: #fff; border-radius: 18px; padding: 30px 32px; margin-bottom: 24px; overflow: hidden; }
.gw .nv-page-head::after { content: ""; position: absolute; right: -10%; top: -40%; width: 70%; height: 180%; background: var(--teal-l); -webkit-mask: var(--map) center / contain no-repeat; mask: var(--map) center / contain no-repeat; opacity: .16; }
.gw .nv-page-title { position: relative; z-index: 1; font: 900 30px/1.3 var(--sans); letter-spacing: .1em; color: #fff; }
.gw .nv-page-desc { position: relative; z-index: 1; color: #c7cdf2; margin-top: 8px; font-size: 14.5px; }
.gw .nv-list { display: flex; flex-direction: column; gap: 14px; }
.gw .nv-list-item { flex-direction: row; align-items: stretch; transition: transform .2s, box-shadow .2s; }
.gw .nv-list-item:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(13,19,82,.12); }
.gw .nv-list-item .nv-card-media { width: 260px; flex: none; aspect-ratio: 16 / 10; }
.gw .nv-list-item .nv-card-body { padding: 16px 20px; justify-content: center; }
.gw .nv-list-item .nv-card-title { font-size: 18px; }
.gw .nv-list-item:not(:has(.nv-card-media)) { border-left: 5px solid var(--teal); }
.gw .nv-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 28px; }
.gw .nv-pagination .page-numbers { min-width: 40px; height: 40px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: #fff; border: 1px solid var(--line); font: 600 14px/1 var(--latin); color: var(--ink); }
.gw .nv-pagination .current { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.gw .nv-pagination a.page-numbers:hover { border-color: var(--teal); color: var(--teal-d); }
.gw .nv-empty { background: #fff; padding: 30px; border-radius: 14px; text-align: center; color: var(--muted); }
.gw .nv-404 { padding-top: 60px; padding-bottom: 70px; text-align: center; }
.gw .nv-404 .nv-page-title { color: var(--ink); font-size: 34px; margin-bottom: 10px; }
.gw .nv-404 > p { color: var(--muted); }
.gw .nv-404 .nv-search { max-width: 480px; margin: 18px auto 0; }
.gw .nv-404 .nv-sec-title { text-align: left; }
.gw .nv-404 .nv-related-grid { text-align: left; }
.gw .nv-layout > .sidebar { position: sticky; top: 12px; }
.gw .nv-page .nv-article-head::after { display: none; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
	.gw-mast-fx { display: none; }
	.gw-mast-search .nv-search { width: 230px; }
	.gw-layout, .gw .nv-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
	.gw-reg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gw-wl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gw-life-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gw-now-grid { grid-template-columns: minmax(0, 1fr) 300px; }
}
@media (max-width: 900px) {
	.gw-mast-mid, .gw-mast-r { display: none; }
	.gw-burger { display: flex; }
	.gw-nav { display: none; }
	.gw-nav.open { display: block; }
	.gw-nav-in { flex-direction: column; align-items: stretch; padding-top: 8px; padding-bottom: 16px; }
	.gw-nav ul { display: grid; grid-template-columns: repeat(3, 1fr); }
	.gw-nav li a { padding: 12px 8px; text-align: center; }
	.gw-nav li a::after { left: 30%; right: 30%; }
	.gw-nav-search { display: block; margin-top: 10px; }
	.gw-hero-in { grid-template-columns: 1fr; gap: 28px; padding-top: 48px; padding-bottom: 56px; min-height: 0; }
	.gw-hero-bg { background-position: 62% 50%; }
	.gw-hero-bg::after { background: linear-gradient(180deg, rgba(6,10,42,.55) 0%, rgba(6,10,42,.82) 45%, rgba(6,10,42,.96) 100%); }
	.gw-layout, .gw .nv-layout { grid-template-columns: 1fr; }
	.gw-aside { position: static; padding-top: 30px; }
	.gw .nv-layout > .sidebar { position: static; }
	.gw-now-grid { grid-template-columns: 1fr; }
	.gw-reg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gw-life-grid, .gw .nv-related-grid, .gw .nv-404 .nv-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gw-foot-in { grid-template-columns: 1fr 1fr; }
	.gw-foot-brand { grid-column: 1 / -1; }
	.gw .nv-article { padding: 26px 24px 30px; }
	.gw-latest-list { columns: 1; }
	.gw-lv { flex-wrap: wrap; }
	.gw-lv-b { flex: 1 1 calc(50% - 6px); border-radius: 12px !important; }
}
@media (max-width: 640px) {
	body.gw { font-size: 15.5px; }
	.nv-wrap { padding-left: 16px; padding-right: 16px; }
	.gw-clocks-lab { display: none; }
	.gw-mast-in { padding-top: 14px; padding-bottom: 14px; gap: 12px; }
	.gw-mark { width: 50px; height: 50px; }
	.gw-logo { gap: 10px; }
	.gw-logo-t b { font-size: 25px; letter-spacing: .1em; }
	.gw-logo-t i { font-size: 9.5px; letter-spacing: .32em; margin-top: 7px; }
	.gw-nav ul { grid-template-columns: repeat(2, 1fr); }
	.gw-hero-in { padding-top: 34px; padding-bottom: 50px; }
	.gw-hero-ex { font-size: 15px; }
	.gw-hero-side { padding: 16px 16px 4px; }
	.gw-hs-m { display: none; }
	.gw-hero-foot span:not(:last-child) { display: none; }
	.gw-hero-foot span:last-child { margin-left: 0; letter-spacing: .2em; }
	.gw-flash-in { flex-direction: column; align-items: stretch; gap: 10px; padding-top: 12px; padding-bottom: 12px; }
	.gw-flash-t { align-self: flex-start; }
	.gw-h h2, .gw-h h3 { font-size: 21px; }
	.gw-h { margin-bottom: 16px; }
	.gw-sec { padding-top: 34px; }
	.gw-tabs { border-radius: 14px; width: 100%; }
	.gw-tabs button { padding: 8px 11px; font-size: 13px; }
	.gw-reg-grid, .gw-quad-grid, .gw-world-grid { grid-template-columns: 1fr; gap: 14px; }
	.gw-reg-grid .gw-card.is-lead { grid-column: auto; grid-row: auto; }
	.gw-reg-grid .gw-card.is-lead .gw-card-media { aspect-ratio: 16 / 10; flex: none; min-height: 0; }
	.gw-reg-grid .gw-card:not(.is-lead), .gw-quad-grid .gw-card:not(.is-first), .gw-life-grid .gw-card { flex-direction: row; }
	.gw-reg-grid .gw-card:not(.is-lead) .gw-card-media, .gw-quad-grid .gw-card:not(.is-first) .gw-card-media, .gw-life-grid .gw-card .gw-card-media { width: 120px; flex: none; aspect-ratio: auto; min-height: 92px; }
	.gw-reg-grid .gw-card:not(.is-lead) .gw-card-body, .gw-quad-grid .gw-card:not(.is-first) .gw-card-body, .gw-life-grid .gw-card .gw-card-body { padding: 10px 12px; }
	.gw-reg-grid .gw-card:not(.is-lead) .gw-noimg em, .gw-quad-grid .gw-card:not(.is-first) .gw-noimg em, .gw-life-grid .gw-noimg em { display: none; }
	.gw-reg-grid.is-filtered .gw-card.is-lead { flex-direction: row; }
	.gw-reg-grid.is-filtered .gw-card.is-lead .gw-card-media { width: 120px; aspect-ratio: auto; min-height: 92px; }
	.gw-reg-grid.is-filtered .gw-card.is-lead .gw-card-ex { display: none; }
	.gw-card-title { font-size: 15.5px !important; }
	.gw-quad-grid .gw-card.is-first, .gw-tech .gw-quad-grid .gw-card.is-first { flex-direction: column; }
	.gw-quad-grid .gw-card.is-first .gw-card-media { width: 100%; }
	.gw-quad-grid .gw-card.is-first .gw-card-body { padding: 14px 16px 18px; }
	.gw-quad-grid .gw-card.is-first .gw-card-title, .gw-card.is-feature .gw-card-title, .gw-reg-grid .gw-card.is-lead .gw-card-title { font-size: 18.5px !important; }
	.gw-card.is-row .gw-card-media { width: 120px; }
	.gw-life-grid { grid-template-columns: 1fr; gap: 12px; }
	.gw-now { margin-top: 40px; padding: 40px 0 44px; }
	.gw-map-card { padding: 12px 10px 12px; }
	.gw-pin span { display: none; }
	.gw-pin.is-home span { display: flex; font-size: 11px; padding: 3px 6px; }
	.gw-pin i { width: 7px; height: 7px; }
	.gw-pin.is-home i { width: 10px; height: 10px; }
	.gw-map-legend { font-size: 11.5px; gap: 6px 12px; }
	.gw-map-utc { margin-left: 0; }
	.gw-warn { padding: 44px 0; }
	.gw-lv-b { padding: 12px; gap: 10px; }
	.gw-lv-n { font-size: 24px; }
	.gw-lv-l { font-size: 11.5px; }
	.gw-warn-q, .gw-warn-q input { width: 100%; }
	.gw-wl { grid-template-columns: 1fr; gap: 10px; }
	.gw-latest-list { padding: 4px 14px; }
	.gw-latest-list .gw-cat { display: none; }
	.gw-foot-in { grid-template-columns: 1fr; gap: 30px; padding-top: 40px; }
	.gw .nv-layout { padding-top: 20px; }
	.gw .nv-article { padding: 22px 18px 26px; border-radius: 14px; }
	.gw .nv-article-body { font-size: 16.5px; }
	.gw .nv-related-grid, .gw .nv-404 .nv-related-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.gw .nv-prevnext { grid-template-columns: 1fr; }
	.gw .nv-prevnext .next { grid-column: auto; }
	.gw .nv-page-head { padding: 22px 20px; }
	.gw .nv-page-title { font-size: 24px; }
	.gw .nv-list-item .nv-card-media { width: 120px; aspect-ratio: auto; }
	.gw .nv-list-item .nv-card-body { padding: 10px 12px; }
	.gw .nv-list-item .nv-card-title { font-size: 15.5px; }
	.gw .nv-list-item .nv-card-excerpt { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.gw *, .gw *::before, .gw *::after { animation: none !important; transition: none !important; }
}

/* ---------- v1.1 refinements ---------- */
.gw-reg-grid:not(.is-filtered) .gw-card.is-extra { display: none; }
.gw-quad-grid { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }
.gw-pin span { left: auto; top: auto; transform: none; }
.gw-pin.d-r span { left: 14px; top: 50%; transform: translateY(-50%); }
.gw-pin.d-l span { right: 14px; top: 50%; transform: translateY(-50%); }
.gw-pin.d-t span { left: 50%; bottom: 14px; transform: translateX(-50%); }
.gw-pin.d-b span { left: 50%; top: 14px; transform: translateX(-50%); }
.gw-map-card { display: flex; flex-direction: column; }
.gw-now-clocks { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.gw-now-clocks li { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "i n" "t t" "o o"; align-items: center; gap: 2px 7px; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.07); }
.gw-now-clocks li:first-child { background: rgba(19,179,163,.16); border-color: rgba(108,240,222,.35); }
.gw-now-clocks .gw-dn { grid-area: i; }
.gw-now-clocks b { grid-area: n; color: #fff; font-size: 13.5px; font-weight: 700; }
.gw-now-clocks .gw-clk-t { grid-area: t; font: 600 22px/1.15 var(--latin); color: #fff; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.gw-now-clocks .is-night .gw-clk-t { color: var(--amber); }
.gw-now-clocks small { grid-area: o; font-size: 11.5px; color: #8f98cf; }
@media (max-width: 640px) {
	.gw-now-clocks { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
	.gw-now-clocks li { padding: 8px 9px; }
	.gw-now-clocks .gw-clk-t { font-size: 18px; }
	.gw-quad-grid { grid-template-columns: 1fr; }
}
.gw-now-clocks { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.gw-fx .nv-govcredit { margin-top: 12px; }
.gw-fx-cta { margin-top: auto; display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 4px 10px; padding: 16px 16px; border-radius: 12px; background: linear-gradient(135deg, var(--indigo), var(--indigo-2)); color: #fff !important; position: relative; overflow: hidden; }
.gw-fx-cta::before { content: ""; position: absolute; inset: 0; background: var(--teal-l); -webkit-mask: var(--map) 30% 50% / 220% auto no-repeat; mask: var(--map) 30% 50% / 220% auto no-repeat; opacity: .14; }
.gw-fx-cta span { font-weight: 700; font-size: 14.5px; letter-spacing: .06em; position: relative; }
.gw-fx-cta b { font: 700 30px/1 var(--latin); color: #ff7b7f; position: relative; }
.gw-fx-cta small { font-size: 11px; line-height: 1.35; color: #c7cdf2; position: relative; }
.gw-fx-cta i { font-style: normal; width: 30px; height: 30px; border-radius: 50%; background: var(--teal); display: grid; place-items: center; position: relative; transition: transform .2s; }
.gw-fx-cta:hover i { transform: translateX(3px); }
.gw-conv { margin-bottom: 16px; }
@media (max-width: 1100px) { .gw-now-clocks { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .gw-now-clocks { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* QA fix: keep the clock/map band from widening the page on phones */
.gw-now, .gw-home { overflow-x: clip; }
