/**
 * World Home — ported from the live Astro site (src/pages/index.astro and its
 * components). GENERATED: each component's <style> copied verbatim, every
 * selector prefixed with .home-page to reproduce Astro's scoped-CSS specificity.
 * Do not restyle here without changing the Astro reference first.
 * Regenerate with: python3 tools/port-css.py home
 */

/* === 01 Index hero ===================================================== */
	.home-page .g-hero { height: var(--g-hero-h, 100vh); min-height: 560px; }
	.home-page .g-hero__frame { position: absolute; inset: 18px; z-index: 4; pointer-events: none; }
	.home-page .g-hero__corner { position: absolute; width: 14px; height: 14px; opacity: 0;
		border-color: rgba(232, 228, 214, 0.5); border-style: solid; border-width: 0; }
	.home-page .g-hero__corner--tl { top: 0; left: 0; border-top-width: 1px; border-left-width: 1px; }
	.home-page .g-hero__corner--tr { top: 0; right: 0; border-top-width: 1px; border-right-width: 1px; }
	.home-page .g-hero__corner--bl { bottom: 0; left: 0; border-bottom-width: 1px; border-left-width: 1px; }
	.home-page .g-hero__corner--br { bottom: 0; right: 0; border-bottom-width: 1px; border-right-width: 1px; }
	.home-page .g-hero.is-live .g-hero__corner { opacity: 1; transition: opacity 1.2s var(--g-e) 1.1s; }

	.home-page .g-hero__pre { margin: 0 0 4px; font-size: 9.5px; letter-spacing: 0.34em; text-transform: uppercase;
		color: var(--g-matcha-lt); }
	.home-page .g-hero__brand { font-size: clamp(22px, 2.6vw, 38px); }

	.home-page .g-hero__strip { position: absolute; left: 0; right: 0; bottom: 0; z-index: 6; color: var(--g-on-dark-2);
		border-top: 1px solid rgba(232, 228, 214, 0.14);
		background: linear-gradient(180deg, rgba(11, 13, 10, 0) 0%, rgba(11, 13, 10, 0.55) 100%); }
	.home-page .g-hero__strip-row { display: flex; align-items: center; gap: 32px; padding-top: 16px; padding-bottom: 16px; }
	.home-page .g-hero__axes { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; flex-wrap: wrap;
		font-size: 9.5px; letter-spacing: 0.24em; text-transform: uppercase; }
	.home-page .g-hero__axes span { margin-right: 8px; color: var(--g-matcha-lt); font-variant-numeric: tabular-nums; }
	.home-page .g-hero__ed { margin: 0 0 0 auto; display: flex; gap: 12px; align-items: baseline; font-size: 9.5px;
		letter-spacing: 0.24em; text-transform: uppercase; white-space: nowrap; }
	.home-page .g-hero__ed b { font-weight: 400; color: var(--g-on-dark); }
	.home-page .g-hero__cue { flex: none; width: 28px; height: 28px; display: grid; place-items: center; }
	.home-page .g-hero__cue i { display: block; width: 1px; height: 22px; background: currentColor; position: relative;
		animation: cue 2.4s var(--g-e) infinite; }
	.home-page .g-hero__cue i::after { content: ""; position: absolute; bottom: 0; left: -4px; width: 8px; height: 8px;
		border-bottom: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
	@keyframes cue { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(3px); } }

	.js-rv .home-page .g-hero__strip { opacity: 0; transform: translateY(8px); }
	.home-page .g-hero.is-live .g-hero__strip { opacity: 1; transform: none;
		transition: opacity 1.2s var(--g-e) var(--d, 0ms), transform 1.2s var(--g-e) var(--d, 0ms); }

	@media (max-width: 1000px) {
		.home-page .g-hero__axes { gap: 18px; }
	}
	@media (max-width: 640px) {
		.home-page .g-hero { height: var(--g-hero-h-m, 100svh); min-height: 520px; }
		.home-page .g-hero__frame { inset: 12px; }
		.home-page .g-hero__strip { background: rgba(11, 13, 10, 0.78); }
		.home-page .g-hero__strip-row { gap: 14px; padding-top: 12px; padding-bottom: 12px; }
		.home-page .g-hero__axes { display: none; }
		.home-page .g-hero__ed { margin-left: 0; font-size: 9px; }
	}
	@media (prefers-reduced-motion: reduce) {
		.home-page .g-hero__cue i { animation: none; }
		.js-rv .home-page .g-hero__strip { opacity: 1; transform: none; }
	}

/* === 02 Moving type ==================================================== */
	.home-page .mt { background: var(--g-dark); color: var(--g-matcha-lt); overflow: hidden;
		padding: 26px 0 30px; border-top: 1px solid rgba(239, 234, 222, 0.08); }
	.home-page .mt__band { overflow: hidden; }
	.home-page .mt__track { display: flex; width: max-content; will-change: transform; }
	.home-page .mt__row { display: flex; align-items: center; flex: none; padding-right: 0.32em; }
	.home-page .mt__word { display: block; font-weight: 400; text-transform: uppercase; white-space: nowrap;
		letter-spacing: -0.03em; line-height: 1; font-size: clamp(56px, 8.6vw, 132px);
		padding: 0 0.32em; }
	.home-page .mt__dot { display: block; width: 0.16em; height: 0.16em; border-radius: 50%;
		background: currentColor; opacity: 0.6; font-size: clamp(56px, 8.6vw, 132px); }
	.home-page .mt__dash { display: block; width: 0.9em; height: 1px; background: currentColor; opacity: 0.55;
		font-size: clamp(22px, 2.6vw, 40px); }
	.home-page .mt__band--quiet { margin-top: 12px; color: var(--g-on-dark-2); }
	.home-page .mt__band--quiet .mt__word { font-size: clamp(14px, 1.6vw, 22px); letter-spacing: 0.22em;
		padding: 0 1.2em; }
	@media (max-width: 640px) {
		.home-page .mt { padding: 18px 0 22px; }
		.home-page .mt__word { font-size: 60px; }
		.home-page .mt__dot { font-size: 60px; }
		.home-page .mt__band--quiet .mt__word { font-size: 11px; letter-spacing: 0.2em; }
	}

/* === 03 What is THE MATCHA BASE ======================================== */
	.home-page .mf { padding-top: 140px; padding-bottom: 150px; }
	.home-page .mf__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
		grid-template-rows: auto minmax(0, 1fr); column-gap: 48px; row-gap: 56px; }
	.home-page .mf__index { grid-column: 1; grid-row: 1; }
	.home-page .mf__def { grid-column: 1; grid-row: 2; align-self: end; margin: 0; }
	.home-page .mf__main { grid-column: 2; grid-row: 1 / 3; }
	.home-page .mf__def div { padding: 16px 0; border-top: 1px solid var(--g-hair); }
	.home-page .mf__def dt { font-size: 9.5px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--g-muted); }
	.home-page .mf__def dd { margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--g-ink-2); max-width: 30ch; }

	.home-page .mf__h { font-size: clamp(40px, 6.1vw, 100px); }
	.home-page .mf__h span { display: block; }
	.home-page .mf__h span + span { padding-left: 0.9em; }
	.home-page .mf .g-rule { margin: 44px 0 0; }
	.home-page .mf__body { margin: 44px 0 0; max-width: 34ch; font-size: clamp(20px, 2.2vw, 30px);
		line-height: 1.35; letter-spacing: -0.012em; color: var(--g-ink); }
	.home-page .mf__triplet { list-style: none; margin: 64px 0 0; padding: 0;
		display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.home-page .mf__triplet li { border-top: 1px solid var(--g-ink); padding-top: 14px;
		font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; }
	.home-page .mf__triplet li:nth-child(2) { border-top-color: var(--g-matcha); color: var(--g-matcha); }

	@media (max-width: 1000px) {
		.home-page .mf { padding-top: 100px; padding-bottom: 110px; }
		.home-page .mf__grid { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 44px; }
		.home-page .mf__index { grid-row: 1; }
		.home-page .mf__main { grid-column: 1; grid-row: 2; }
		.home-page .mf__def { grid-row: 3; max-width: 420px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
	}
	@media (max-width: 640px) {
		.home-page .mf { padding-top: 76px; padding-bottom: 84px; }
		.home-page .mf__grid { row-gap: 32px; }
		.home-page .mf__def { grid-template-columns: 1fr; }
		.home-page .mf__h span + span { padding-left: 0; }
		.home-page .mf .g-rule { margin-top: 30px; }
		.home-page .mf__body { margin-top: 30px; font-size: 19px; }
		.home-page .mf__triplet { margin-top: 44px; grid-template-columns: 1fr; gap: 0; }
		.home-page .mf__triplet li { padding: 14px 0; border-top: 1px solid var(--g-hair); font-size: 11px; }
		.home-page .mf__triplet li:nth-child(2) { border-top-color: var(--g-hair); }
	}

/* === 04 Entrances ====================================================== */
	.home-page .en__grid { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 64px; align-items: start; }
	.home-page .en__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--g-ink); }
	.home-page .en__row { border-bottom: 1px solid var(--g-hair); }
	.home-page .en__link { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-rows: auto auto;
		column-gap: 24px; align-items: baseline; padding: 34px 0 30px; text-decoration: none;
		position: relative; }
	.home-page .en__n { grid-row: 1 / 3; align-self: start; padding-top: 0.5em; font-size: 12px; letter-spacing: 0.16em;
		color: var(--g-accent); font-variant-numeric: tabular-nums; }
	.home-page .en__verb { grid-column: 2; grid-row: 1; font-size: clamp(40px, 5.3vw, 92px); white-space: nowrap;
		transition: transform 0.6s var(--g-e), color 0.4s var(--g-e); }
	.home-page .en__meta { grid-column: 2; grid-row: 2; display: flex; gap: 22px; align-items: baseline; margin-top: 14px; }
	.home-page .en__label { font-size: 13px; letter-spacing: 0.06em; }
	.home-page .en__note { font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--g-muted); }
	.home-page .en__thumb { display: none; }
	.home-page .en__arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; }
	.home-page .en__arrow i { display: block; width: 44px; height: 1px; background: var(--g-ink); position: relative;
		transition: width 0.5s var(--g-e); }
	.home-page .en__arrow i::after { content: ""; position: absolute; right: 0; top: -4px; width: 8px; height: 8px;
		border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
	.home-page .en__row.is-on .en__verb { color: var(--g-matcha); transform: translateX(10px); }
	.home-page .en__row.is-on .en__arrow i { width: 72px; }

	.home-page .en__stage { position: sticky; top: 96px; aspect-ratio: 4 / 5; }
	.home-page .en__fig { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 0.7s var(--g-e); }
	.home-page .en__fig img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04);
		transition: transform 1.6s var(--g-e); }
	.home-page [data-swap-active="0"] .en__fig[data-i="0"], .home-page [data-swap-active="1"] .en__fig[data-i="1"], .home-page [data-swap-active="2"] .en__fig[data-i="2"] { opacity: 1; }
	.home-page [data-swap-active="0"] .en__fig[data-i="0"] img, .home-page [data-swap-active="1"] .en__fig[data-i="1"] img, .home-page [data-swap-active="2"] .en__fig[data-i="2"] img { transform: none; }
	.home-page .en__cap { position: absolute; left: 0; bottom: -28px; font-size: 9.5px; letter-spacing: 0.22em;
		text-transform: uppercase; color: var(--g-muted); }
	.home-page .en__cap span { display: none; }
	.home-page [data-swap-active="0"] .en__cap [data-i="0"], .home-page [data-swap-active="1"] .en__cap [data-i="1"], .home-page [data-swap-active="2"] .en__cap [data-i="2"] { display: inline; }

	@media (max-width: 1000px) {
		.home-page .en__grid { grid-template-columns: 1fr; gap: 0; }
		.home-page .en__stage { display: none; }
		.home-page .en__link { grid-template-columns: 40px minmax(0, 1fr) 96px; }
		.home-page .en__thumb { display: block; grid-column: 3; grid-row: 1 / 3; align-self: center; aspect-ratio: 1; }
		.home-page .en__thumb img { width: 100%; height: 100%; object-fit: cover; }
		.home-page .en__arrow { display: none; }
		.home-page .en__row.is-on .en__verb { transform: none; }
	}
	@media (max-width: 640px) {
		.home-page .en__grid { margin-top: 26px; }
		.home-page .en__link { grid-template-columns: 30px minmax(0, 1fr) 72px; column-gap: 14px; padding: 22px 0 20px; }
		/* UNDERSTAND must fit beside a 72px thumbnail on a 390px frame: ~34px */
	.home-page .en__verb { font-size: clamp(26px, 8.6vw, 40px); }
		.home-page .en__meta { flex-direction: column; gap: 4px; margin-top: 8px; }
	}

/* === 05 Selection ====================================================== */
	.home-page .se { padding-top: 130px; padding-bottom: 140px; }
	.home-page .se__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
	.home-page .se__h { margin-top: 26px; }
	.home-page .se__h span { display: block; }
	.home-page .se__h span + span { color: var(--g-matcha-lt); }
	.home-page .se__sub { margin: 22px 0 0; display: flex; gap: 22px; align-items: baseline; font-size: 11px;
		letter-spacing: 0.22em; text-transform: uppercase; color: var(--g-on-dark-2); }
	.home-page .se__seal { flex: none; width: 150px; color: var(--g-on-dark); }
	.home-page .se__seal svg { width: 100%; height: auto; display: block; }
	.home-page .se__seal text { fill: currentColor; font-family: inherit; }
	.home-page .se__seal textPath { animation: none; }
	.home-page .se__seal svg > text:first-of-type { transform-origin: 60px 60px; animation: se-turn 40s linear infinite; }
	@keyframes se-turn { to { transform: rotate(360deg); } }

	.home-page .se__lead { margin-top: 84px; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
		gap: 64px; align-items: center; }
	.home-page .se__plate { display: block; text-decoration: none; }
	.home-page .se__fig { display: block; aspect-ratio: 4 / 5; }
	.home-page .se__fig img { width: 100%; height: 100%; object-fit: cover; }
	.home-page .se__rank { margin: 0; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase;
		color: var(--g-matcha-lt); }
	.home-page .se__name { margin: 18px 0 0; font-weight: 400; letter-spacing: -0.02em; line-height: 1.04;
		font-size: clamp(30px, 3.6vw, 54px); }
	.home-page .se__name a { text-decoration: none; }
	.home-page .se__place { margin: 14px 0 0; font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase;
		color: var(--g-on-dark-2); }
	.home-page .se__score { margin: 40px 0 0; display: flex; align-items: flex-end; gap: 18px; }
	.home-page .se__score b { font-weight: 400; font-size: clamp(72px, 8vw, 128px); line-height: 0.86;
		letter-spacing: -0.04em; color: var(--g-matcha-lt); font-variant-numeric: tabular-nums; }
	.home-page .se__score span { font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase;
		color: var(--g-on-dark-2); line-height: 1.7; padding-bottom: 6px; }
	.home-page .se__score em { font-style: normal; color: var(--g-matcha-lt); }
	.home-page .se__axes { margin: 38px 0 0; }
	.home-page .se__axis { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 18px; align-items: center;
		padding: 10px 0; border-bottom: 1px solid var(--g-quiet); }
	.home-page .se__axis dt { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--g-on-dark-2); }
	.home-page .se__axis dd { margin: 0; height: 2px; background: var(--g-quiet); }
	.home-page .se__axis dd i { display: block; height: 100%; width: 0; background: var(--g-matcha-lt);
		transition: width 1.2s var(--g-e) var(--d, 600ms); }
	.home-page .is-in .se__axis dd i { width: var(--w); }
	.home-page .se__axis:nth-child(2) dd i { --d: 700ms; } .home-page .se__axis:nth-child(3) dd i { --d: 800ms; }
	.home-page .se__axis:nth-child(4) dd i { --d: 900ms; } .home-page .se__axis:nth-child(5) dd i { --d: 1000ms; }
	.home-page .se__scale { margin: 14px 0 0; font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase;
		color: rgba(174, 179, 163, 0.7); }

	.home-page .se__rows { list-style: none; margin: 80px 0 0; padding: 0; border-top: 1px solid var(--g-quiet); }
	.home-page .se__row { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 28px; align-items: center;
		padding: 28px 0; border-bottom: 1px solid var(--g-quiet); text-decoration: none; }
	.home-page .se__row-n { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--g-on-dark-2); }
	.home-page .se__row-name { display: block; font-size: clamp(22px, 2.4vw, 34px); letter-spacing: -0.015em;
		transition: transform 0.5s var(--g-e); }
	.home-page .se__row:hover .se__row-name { transform: translateX(8px); }
	.home-page .se__row-place { display: block; margin-top: 8px; font-size: 10px; letter-spacing: 0.22em;
		text-transform: uppercase; color: var(--g-on-dark-2); }
	.home-page .se__row-score { display: flex; align-items: baseline; gap: 12px; }
	.home-page .se__row-score b { font-weight: 400; font-size: 36px; color: var(--g-matcha-lt);
		font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
	.home-page .se__row-score span { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase;
		color: var(--g-on-dark-2); }
	.home-page .se .g-more { margin-top: 56px; }

	@media (max-width: 1000px) {
		.home-page .se { padding-top: 96px; padding-bottom: 100px; }
		.home-page .se__lead { grid-template-columns: 1fr; gap: 36px; margin-top: 60px; }
		.home-page .se__fig { aspect-ratio: 4 / 3; }
		.home-page .se__seal { width: 116px; }
	}
	@media (max-width: 640px) {
		.home-page .se { padding-top: 70px; padding-bottom: 76px; }
		.home-page .se__head { flex-direction: column; align-items: flex-start; gap: 22px; }
		.home-page .se__seal { width: 96px; align-self: flex-end; margin-top: -30px; }
		.home-page .se__sub { flex-direction: column; gap: 8px; }
		.home-page .se__lead { margin-top: 40px; }
		.home-page .se__plate { margin: 0 calc(var(--g-pad) * -1); }
		.home-page .se__score { margin-top: 28px; }
		.home-page .se__axis { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
		.home-page .se__rows { margin-top: 56px; }
		.home-page .se__row { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 20px 0; }
		.home-page .se__row-n { grid-column: 1 / -1; }
		.home-page .se__row-score b { font-size: 30px; }
	}
	@media (prefers-reduced-motion: reduce) {
		.home-page .se__seal svg > text:first-of-type { animation: none; }
		.home-page .se__axis dd i { transition: none; width: var(--w); }
	}

/* === 06 Editions ======================================================= */
	.home-page .ed { position: relative; height: calc(var(--n) * 100vh + 40vh); background: var(--g-dark);
		color: var(--g-on-dark); }
	.home-page .ed__stage { position: sticky; top: 0; height: 100vh; overflow: hidden; }
	.home-page .ed__media { position: absolute; inset: 0; }
	.home-page .ed__fig { position: absolute; inset: 0; margin: 0; clip-path: inset(100% 0 0 0);
		transition: clip-path 1.1s var(--g-e); }
	.home-page .ed__fig img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08);
		transition: transform 2.4s var(--g-e); opacity: 0.9; }
	.home-page .ed__scrim { position: absolute; inset: 0;
		background: linear-gradient(180deg, rgba(8, 11, 8, 0.86) 0%, rgba(8, 11, 8, 0.08) 42%,
			rgba(8, 11, 8, 0.8) 100%); }
	/* the active panel and everything before it are uncovered; later ones wait */
	.home-page [data-active="0"] .ed__fig[data-i="0"], .home-page [data-active="1"] .ed__fig[data-i="0"], .home-page [data-active="1"] .ed__fig[data-i="1"], .home-page [data-active="2"] .ed__fig[data-i="0"], .home-page [data-active="2"] .ed__fig[data-i="1"], .home-page [data-active="2"] .ed__fig[data-i="2"], .home-page [data-active="3"] .ed__fig { clip-path: inset(0 0 0 0); }
	.home-page [data-active="0"] .ed__fig[data-i="0"] img, .home-page [data-active="1"] .ed__fig[data-i="1"] img, .home-page [data-active="2"] .ed__fig[data-i="2"] img, .home-page [data-active="3"] .ed__fig[data-i="3"] img { transform: none; }

	.home-page .ed__inner { position: relative; height: 100%; display: grid;
		grid-template-rows: auto minmax(0, 1fr) auto; grid-template-columns: minmax(0, 1fr) auto;
		padding-top: 96px; padding-bottom: 44px; }
	.home-page .ed__top { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; }
	.home-page .ed__hint { margin: 0; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
		color: var(--g-on-dark-2); }

	.home-page .ed__names { grid-column: 1; grid-row: 2 / 4; display: grid; align-self: end; align-items: end; }
	/* every name occupies the same cell, so the block is as tall as the tallest
	   and the index below is never overlapped, whichever country is showing */
	.home-page .ed__name { grid-area: 1 / 1; opacity: 0; transform: translateY(26px);
		transition: opacity 0.7s var(--g-e), transform 0.9s var(--g-e); pointer-events: none; }
	.home-page .ed__name.is-on, .home-page [data-active="0"] .ed__name[data-i="0"], .home-page [data-active="1"] .ed__name[data-i="1"], .home-page [data-active="2"] .ed__name[data-i="2"], .home-page [data-active="3"] .ed__name[data-i="3"] {
		opacity: 1; transform: none; pointer-events: auto; }
	.home-page .ed__code { display: block; font-size: 11px; letter-spacing: 0.3em; color: var(--g-matcha-lt); }
	.home-page .ed__name h2 { margin-top: 12px; font-size: clamp(56px, 11vw, 190px); line-height: 0.9; }
	.home-page .ed__note { margin: 18px 0 0; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
		color: var(--g-on-dark-2); }
	.home-page .ed__enter { display: inline-flex; align-items: center; gap: 14px; margin-top: 26px; text-decoration: none;
		font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--g-on-dark); }
	.home-page .ed__enter i { display: block; width: 36px; height: 1px; background: currentColor;
		transition: width 0.4s var(--g-e); }
	.home-page .ed__enter:hover i { width: 56px; }
	.home-page .ed__soon { display: inline-block; margin-top: 26px; font-size: 10px; letter-spacing: 0.22em;
		text-transform: uppercase; color: var(--g-on-dark-2); border: 1px solid rgba(239, 234, 222, 0.28);
		padding: 7px 12px; }

	.home-page .ed__index { grid-column: 2; grid-row: 2 / 4; align-self: end; list-style: none; margin: 0; padding: 0;
		min-width: 240px; border-top: 1px solid rgba(239, 234, 222, 0.22); }
	.home-page .ed__index li { border-bottom: 1px solid rgba(239, 234, 222, 0.14); }
	.home-page .ed__index a, .home-page .ed__index-off { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 14px;
		align-items: baseline; padding: 14px 0; text-decoration: none; color: var(--g-on-dark-2);
		transition: color 0.4s var(--g-e); }
	.home-page .ed__index span { font-size: 10px; letter-spacing: 0.14em; font-variant-numeric: tabular-nums; }
	.home-page .ed__index b { font-weight: 400; font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; }
	.home-page .ed__index em { font-style: normal; font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; }
	.home-page [data-active="0"] li[data-i="0"] a, .home-page [data-active="0"] li[data-i="0"] .ed__index-off, .home-page [data-active="1"] li[data-i="1"] a, .home-page [data-active="1"] li[data-i="1"] .ed__index-off, .home-page [data-active="2"] li[data-i="2"] a, .home-page [data-active="2"] li[data-i="2"] .ed__index-off, .home-page [data-active="3"] li[data-i="3"] a, .home-page [data-active="3"] li[data-i="3"] .ed__index-off { color: var(--g-on-dark); }
	.home-page .ed__index a em { color: var(--g-matcha-lt); }
	.home-page .ed__all { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0 0;
		font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(174, 179, 163, 0.55);
		border-bottom: 0 !important; }
	.home-page .ed__all em { font-style: normal; }

	.home-page .ed__bar { position: absolute; left: var(--g-pad); right: var(--g-pad); bottom: 22px; height: 1px;
		background: rgba(239, 234, 222, 0.14); }
	.home-page .ed__bar i { display: block; height: 100%; width: 100%; background: var(--g-matcha-lt);
		transform-origin: left; transform: scaleX(var(--p, 0)); }

	@media (max-width: 1000px) {
		/* minmax(0, …): a long country name must not widen the column past the frame */
	.home-page .ed__inner { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; padding-top: 84px; }
		.home-page .ed__names { grid-row: 2; padding-bottom: 28px; }
		.home-page .ed__index { grid-column: 1; grid-row: 3; min-width: 0; }
	}
	@media (max-width: 640px) {
		.home-page .ed__inner { padding-top: 76px; padding-bottom: 44px; }
		.home-page .ed__hint { display: none; }
		.home-page .ed__name h2 { font-size: clamp(40px, 14.5vw, 72px); }
		.home-page .ed__index a, .home-page .ed__index-off { padding: 11px 0; }
		.home-page .ed__index b { font-size: 12px; }
		.home-page .ed__bar { bottom: 16px; }
	}

	/* reduced motion: no pinning, no uncovering — the editions stack */
	@media (prefers-reduced-motion: reduce) {
		.home-page .ed { height: auto; }
		.home-page .ed__stage { position: relative; height: auto; }
		.home-page .ed__media { display: none; }
		.home-page .ed__inner { display: block; padding-bottom: 60px; }
		.home-page .ed__names { margin-top: 44px; }
		.home-page .ed__names { display: block; }
		.home-page .ed__name { opacity: 1; transform: none; pointer-events: auto; padding: 36px 0;
			border-top: 1px solid rgba(239, 234, 222, 0.14); }
		.home-page .ed__index { margin-top: 30px; }
		.home-page .ed__bar { display: none; }
	}

/* === 07 Knowledge ====================================================== */
	.home-page .kn { padding-top: 130px; padding-bottom: 140px; background: var(--g-paper-2); }
	.home-page .kn__head { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 48px; align-items: end; }
	.home-page .kn__head .g-index { grid-column: 1; align-self: start; }
	.home-page .kn__h { grid-column: 2; }
	.home-page .kn__path { grid-column: 2; margin: 22px 0 0; font-size: 10.5px; letter-spacing: 0.22em;
		text-transform: uppercase; color: var(--g-matcha); }

	.home-page .kn__lead { margin-top: 72px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 56px; align-items: end; text-decoration: none; }
	.home-page .kn__fig { display: block; aspect-ratio: 16 / 10; }
	.home-page .kn__fig img { width: 100%; height: 100%; object-fit: cover; }
	.home-page .kn__txt { display: block; padding-bottom: 8px; }
	.home-page .kn__kicker { display: flex; gap: 22px; align-items: baseline; font-size: 10px; letter-spacing: 0.24em;
		text-transform: uppercase; color: var(--g-muted); }
	.home-page .kn__title { display: block; margin-top: 18px; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.12;
		letter-spacing: -0.02em; }
	.home-page .kn__ex { display: block; margin-top: 18px; font-size: 15px; line-height: 1.6; color: var(--g-ink-2);
		max-width: 40ch; }
	.home-page .kn__lead .g-more { margin-top: 26px; }

	.home-page .kn__grid { margin-top: 96px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; }
	.home-page .kn__fields { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--g-ink); }
	.home-page .kn__field { display: grid; grid-template-columns: 40px 200px minmax(0, 1fr) auto; gap: 20px;
		align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--g-hair); }
	.home-page .kn__fn { font-size: 11px; letter-spacing: 0.16em; color: var(--g-accent); font-variant-numeric: tabular-nums; }
	.home-page .kn__fname { font-size: clamp(20px, 2vw, 28px); letter-spacing: -0.01em; }
	.home-page .kn__fline { font-size: 13px; color: var(--g-ink-2); }
	.home-page .kn__fstate { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--g-muted); }
	.home-page .kn__latest { border-top: 1px solid var(--g-ink); padding-top: 22px; }
	.home-page .kn__lh { margin: 0; font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--g-muted); }
	.home-page .kn__list { list-style: none; margin: 14px 0 0; padding: 0; }
	.home-page .kn__list li { border-bottom: 1px solid var(--g-hair); }
	.home-page .kn__list a { display: block; padding: 16px 0; text-decoration: none; font-size: 17px; line-height: 1.3; }
	.home-page .kn__latest .g-more { margin-top: 26px; }

	@media (max-width: 1000px) {
		.home-page .kn { padding-top: 96px; padding-bottom: 100px; }
		.home-page .kn__head { grid-template-columns: 1fr; gap: 22px; }
		.home-page .kn__h, .home-page .kn__path { grid-column: 1; }
		.home-page .kn__lead { grid-template-columns: 1fr; gap: 26px; margin-top: 52px; }
		.home-page .kn__grid { grid-template-columns: 1fr; gap: 44px; margin-top: 64px; }
		.home-page .kn__field { grid-template-columns: 34px minmax(0, 1fr) auto; }
		.home-page .kn__fline { grid-column: 2; }
	}
	@media (max-width: 640px) {
		.home-page .kn { padding-top: 70px; padding-bottom: 76px; }
		.home-page .kn__fig { margin: 0 calc(var(--g-pad) * -1); }
		.home-page .kn__field { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 6px 12px; padding: 16px 0; }
		.home-page .kn__fname { font-size: 20px; }
		.home-page .kn__fline { font-size: 12.5px; }
	}

/* === 08 Origins ======================================================== */
	.home-page .or { position: relative; overflow: hidden; background: var(--g-dark); color: var(--g-on-dark);
		padding: 150px 0 140px; }
	.home-page .or__field { position: absolute; inset: -10% 0; }
	.home-page .or__field img { width: 100%; height: 100%; object-fit: cover; opacity: 0.62;
		transform: translate3d(0, var(--py, 0%), 0); will-change: transform; }
	.home-page .or__scrim { position: absolute; inset: 0;
		background: linear-gradient(180deg, rgba(11, 13, 10, 0.78) 0%, rgba(11, 13, 10, 0.25) 45%,
			rgba(11, 13, 10, 0.9) 100%); }
	.home-page .or__inner { position: relative; }
	.home-page .or__h { margin: 26px 0 0; }
	.home-page .or__h span { display: block; }
	.home-page .or__h2 { padding-left: 1.2em; color: var(--g-matcha-lt); }
	.home-page .or__body { margin: 40px 0 0; max-width: 46ch; font-size: 16px; line-height: 1.6; color: var(--g-on-dark-2); }

	.home-page .or__lower { margin-top: 96px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 64px; align-items: end; }
	.home-page .or__regions { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(239, 234, 222, 0.3); }
	.home-page .or__region { display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1fr) auto; gap: 20px;
		align-items: baseline; padding: 24px 0; border-bottom: 1px solid rgba(239, 234, 222, 0.14);
		cursor: default; outline: none; }
	.home-page .or__rn { font-size: 11px; letter-spacing: 0.16em; color: var(--g-matcha-lt); font-variant-numeric: tabular-nums; }
	.home-page .or__rname { font-size: clamp(30px, 4vw, 58px); letter-spacing: -0.02em; line-height: 1;
		text-transform: uppercase; transition: transform 0.6s var(--g-e), color 0.4s var(--g-e); color: var(--g-on-dark-2); }
	.home-page .or__region.is-on .or__rname { color: var(--g-on-dark); transform: translateX(10px); }
	.home-page .or__rpref { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--g-on-dark-2); }
	.home-page .or__rstate { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(174, 179, 163, 0.55); }
	.home-page .or__stage { position: relative; aspect-ratio: 4 / 5; }
	.home-page .or__fig { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 0.7s var(--g-e); }
	.home-page .or__fig img { width: 100%; height: 100%; object-fit: cover; }
	.home-page [data-swap-active="0"] .or__fig[data-i="0"], .home-page [data-swap-active="1"] .or__fig[data-i="1"], .home-page [data-swap-active="2"] .or__fig[data-i="2"] { opacity: 1; }

	@media (max-width: 1000px) {
		.home-page .or { padding: 110px 0 100px; }
		.home-page .or__lower { grid-template-columns: 1fr; gap: 36px; margin-top: 64px; }
		.home-page .or__stage { aspect-ratio: 16 / 10; }
		.home-page .or__region.is-on .or__rname { transform: none; }
	}
	@media (max-width: 640px) {
		.home-page .or { padding: 76px 0 76px; }
		.home-page .or__h2 { padding-left: 0; }
		.home-page .or__h .g-display { font-size: 38px; }
		.home-page .or__body { margin-top: 26px; font-size: 15px; }
		.home-page .or__region { grid-template-columns: 26px minmax(0, 1fr) auto; gap: 4px 12px; padding: 18px 0; }
		.home-page .or__rpref { grid-column: 2; }
		.home-page .or__rstate { grid-column: 3; grid-row: 1; }
		.home-page .or__rname { font-size: 34px; }
		.home-page .or__stage { margin: 0 calc(var(--g-pad) * -1); aspect-ratio: 4 / 3; }
	}
	@media (prefers-reduced-motion: reduce) {
		.home-page .or__field img { transform: none; }
	}
