/* Shared base stylesheet. Brand look comes from CSS variables set per site (site.json → theme). */
/* Inter, self-hosted (engine/assets/fonts, SIL OFL 1.1): used by the theme fonts "grotesk" (layout.mjs FONTS);
   downloaded only by pages that use it, the main latin file is preloaded by layout.mjs */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
:root {
  --accent: #2563eb;
  --accent-2: #7c3aed;
  --accent-ink: #ffffff;
  --bg: #ffffff;
  --surface: #f6f7f9;
  --surface-2: #eef0f4;
  --text: #0f172a;
  --muted: #5b6475;
  --border: #e3e6ec;
  --radius: 14px;
  --font-head: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  --wrap: 1120px;
  --yes: #16a34a;
  --no: #dc2626;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.65 var(--font-body); text-rendering: optimizeLegibility; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--accent); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
h1, h2, h3, h4 { font-family: var(--font-head); line-height: 1.2; letter-spacing: -0.015em; margin: 0 0 .6em; }
h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); letter-spacing: -0.03em; }
h2 { font-size: clamp(1.45rem, 2.6vw, 1.9rem); margin-top: 2.2em; scroll-margin-top: 90px; }
h3 { font-size: 1.18rem; margin-top: 1.6em; scroll-margin-top: 90px; }
p, ul, ol, dl, table, figure, blockquote { margin: 0 0 1.1em; }
ul, ol { padding-left: 1.3em; }
li { margin: .25em 0; }
code { font-family: var(--font-mono); font-size: .88em; background: var(--surface-2); padding: .12em .38em; border-radius: 6px; }
blockquote { border-left: 3px solid var(--accent); padding: .2em 0 .2em 1em; color: var(--muted); }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 8px; z-index: 50; background: var(--bg); padding: 8px 12px; }

/* top bar + header */
.topbar { background: var(--topbar-bg, var(--text)); color: var(--topbar-ink, var(--bg)); font-size: .85rem; text-align: center; padding: 7px 0; }
.topbar a { color: inherit; }
.topbar strong { color: var(--accent-2, var(--accent)); filter: brightness(1.3); }
.hdr { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: saturate(1.6) blur(10px); border-bottom: 1px solid var(--border); }
.hdr-in { display: flex; align-items: center; gap: 22px; min-height: 66px; }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); font: 800 1.2rem/1 var(--font-head); letter-spacing: -0.02em; }
.logo-mark { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: var(--accent-ink); font-size: .95rem; }
.nav { display: flex; gap: 20px; flex: 1; }
.nav a { color: var(--muted); text-decoration: none; font-weight: 600; font-size: .95rem; }
.nav a:hover, .nav a[aria-current] { color: var(--text); }
.menu { display: none; margin-left: auto; background: none; border: 1px solid var(--border); border-radius: 10px; padding: 6px 12px; font: inherit; color: var(--text); }
@media (max-width: 860px) {
  .menu { display: inline-block; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 66px; flex-direction: column; gap: 0; background: var(--bg); border-bottom: 1px solid var(--border); padding: 8px 16px 16px; }
  .nav.open { display: flex; }
  .nav a { padding: 10px 0; border-bottom: 1px solid var(--border); }
  .hdr-cta { display: none; }
}

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border-radius: calc(var(--radius) - 4px); font-weight: 700; text-decoration: none; border: 1.5px solid transparent; transition: transform .12s ease, box-shadow .12s ease; white-space: nowrap; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: var(--accent-ink); box-shadow: 0 6px 20px -8px var(--accent); }
.btn-ghost { border-color: var(--border); color: var(--text); background: var(--bg); }
.btn-sm { padding: 8px 14px; font-size: .92rem; }
.btn-lg { padding: 14px 26px; font-size: 1.05rem; }

/* page head */
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 22px 0 0; font-size: .86rem; color: var(--muted); }
.crumbs li + li::before { content: "›"; margin-right: 6px; opacity: .6; }
.crumbs a { color: var(--muted); text-decoration: none; }
.page-head { padding: 34px 0 10px; max-width: 860px; }
.page-head.hero { padding: 64px 0 28px; max-width: 920px; }
.page-head.hero h1 { font-size: clamp(2.3rem, 5.4vw, 3.9rem); }
.kicker { display: inline-block; font-weight: 700; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); padding: 5px 11px; border-radius: 999px; margin-bottom: 16px; }
.lede { font-size: 1.18rem; color: var(--muted); }
.hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 18px; }
.badges { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 14px 0; }
.badges li { margin: 0; font-size: .88rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); }
.meta { font-size: .88rem; color: var(--muted); margin-top: 10px; }

/* content */
.content { max-width: 860px; }
.t-home .content, .t-pricing .content, .t-hub .content { max-width: none; }
.quick-answer { margin: 22px 0 28px; padding: 20px 22px; border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 7%, var(--bg)); border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border)); border-left: 5px solid var(--accent); }
.qa-label { margin: 0 0 6px; font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--accent); }
.qa-q { font-weight: 700; margin-bottom: 6px; }
.qa-text p:last-child { margin-bottom: 0; }
.toc { max-width: 860px; margin: 8px 0 26px; padding: 14px 18px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); font-size: .93rem; }
.toc-h { font-weight: 700; margin: 0 0 4px; }
.toc ol { margin: 0; columns: 2 260px; }
.toc a { color: var(--text); text-decoration: none; }

.facts-table, .tbl table { width: 100%; border-collapse: collapse; font-size: .96rem; }
.facts-table th, .facts-table td, .tbl th, .tbl td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: top; }
.facts-table th { width: 38%; color: var(--muted); font-weight: 600; }
.facts { margin: 8px 0 10px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); }
.tbl thead th { background: var(--surface); font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.tbl tbody th { font-weight: 700; }
.tbl tr.hl { background: color-mix(in srgb, var(--accent) 9%, transparent); }
.tbl tr.hl th { color: var(--accent); }
.tbl tr:last-child th, .tbl tr:last-child td { border-bottom: 0; }
.tbl caption { caption-side: bottom; padding: 8px 12px; color: var(--muted); font-size: .85rem; text-align: left; }
.table-note { font-size: .88rem; color: var(--muted); margin-top: 8px; }
.yes { color: var(--yes); font-weight: 800; }
.no { color: var(--no); font-weight: 800; }

/* pricing */
.pricing { margin-top: 10px; }
.plans { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.plan { position: relative; display: flex; flex-direction: column; padding: 22px 18px 18px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); }
.plan.popular { border: 2px solid var(--accent); box-shadow: 0 14px 40px -22px var(--accent); }
.plan-badge { position: absolute; top: -12px; left: 16px; margin: 0; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; background: var(--accent); color: var(--accent-ink); padding: 3px 10px; border-radius: 999px; }
.plan-name { margin: 0 0 4px; font-size: 1.05rem; }
.plan-qty { margin: 0; color: var(--muted); font-size: .92rem; }
.plan-price { margin: 10px 0 0; font: 800 2rem/1.1 var(--font-head); letter-spacing: -0.03em; }
.plan-unit { margin: 2px 0 12px; color: var(--accent); font-weight: 700; font-size: .92rem; }
.plan-features { list-style: none; padding: 0; font-size: .9rem; margin: 0 0 16px; flex: 1; }
.plan-features li::before { content: "✓ "; color: var(--yes); font-weight: 800; }
.plan .btn { width: 100%; }
.pricing-note { font-size: .88rem; color: var(--muted); margin-top: 12px; }

/* faq */
.faq-item { border-bottom: 1px solid var(--border); padding: 4px 0 6px; }
.faq-item h3 { margin-top: 1.1em; }

/* steps */
.step-list { list-style: none; counter-reset: s; padding: 0; }
.step-list > li { counter-increment: s; position: relative; padding: 2px 0 6px 52px; margin-bottom: 12px; }
.step-list > li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; background: var(--surface-2); color: var(--accent); }
.step-name { font-weight: 700; margin: 4px 0 2px; }

/* cards */
.cards { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.card { padding: 18px 18px 6px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); }
.card h3 { margin-top: 0; font-size: 1.05rem; }
.card h3 a { color: var(--text); text-decoration: none; }
.card h3 a:hover { color: var(--accent); }
.card p { color: var(--muted); font-size: .95rem; }
.card-tag { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: var(--accent); margin: 0 0 6px; }

/* ranking */
.rank-list { list-style: none; padding: 0; }
.rank { border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 20px 6px; margin-bottom: 14px; }
.rank.self { border: 2px solid var(--accent); background: color-mix(in srgb, var(--accent) 5%, var(--bg)); }
.rank-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.rank-head h3 { margin: 0; }
.rank-n { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--text); color: var(--bg); font-weight: 800; }
.rank-badge { font-size: .76rem; font-weight: 800; background: var(--accent); color: var(--accent-ink); padding: 3px 10px; border-radius: 999px; }
.rank-verdict { margin: 10px 0; }
.rank-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: .9rem; margin: 0 0 8px; }
.rank-meta dt { display: inline; color: var(--muted); }
.rank-meta dt::after { content: ": "; }
.rank-meta dd { display: inline; margin: 0; font-weight: 600; }
.pc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; font-size: .92rem; }
.pc-h { font-weight: 700; margin: 0; }
@media (max-width: 600px) { .pc { grid-template-columns: 1fr; } }
.disclosure { font-size: .82rem; color: var(--muted); }

/* stats */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 10px 0 20px; }
.stat { padding: 16px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); }
.stat-v { margin: 0; font: 800 1.8rem/1.1 var(--font-head); letter-spacing: -0.03em; color: var(--accent); }
.stat-l { margin: 4px 0 0; font-weight: 600; font-size: .93rem; }
.stat-n { margin: 2px 0 0; font-size: .8rem; color: var(--muted); }

/* cta */
.cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin: 36px 0; padding: 26px 28px; border-radius: calc(var(--radius) + 6px); background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: var(--accent-ink); }
.cta-h { font: 800 1.45rem/1.25 var(--font-head); margin: 0 0 4px; }
.cta-t p { margin: 0; opacity: .92; }
.cta .btn-primary { background: var(--accent-ink); color: var(--accent); box-shadow: none; }
.cta .btn-ghost { background: transparent; color: var(--accent-ink); border-color: color-mix(in srgb, var(--accent-ink) 50%, transparent); }
.cta-btns { display: flex; gap: 10px; flex-wrap: wrap; }

/* code */
.code { position: relative; margin: 0 0 1.4em; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); background: #0b1020; }
.code figcaption { font-size: .82rem; color: #9aa4bf; padding: 8px 14px; border-bottom: 1px solid #1d2540; font-family: var(--font-mono); }
.code pre { margin: 0; padding: 16px; overflow-x: auto; }
.code code { background: none; padding: 0; color: #e6e9f2; font-size: .86rem; line-height: 1.6; }
.copy { position: absolute; top: 6px; right: 8px; font: 600 .75rem var(--font-body); background: #1d2540; color: #cbd2e6; border: 0; border-radius: 6px; padding: 4px 8px; cursor: pointer; }

/* callout */
.callout { padding: 14px 18px; border-radius: var(--radius); border: 1px solid var(--border); background: var(--surface); margin: 0 0 1.2em; }
.callout.warn { background: color-mix(in srgb, #f59e0b 12%, var(--bg)); border-color: color-mix(in srgb, #f59e0b 50%, var(--border)); }
.callout.success { background: color-mix(in srgb, #16a34a 11%, var(--bg)); border-color: color-mix(in srgb, #16a34a 45%, var(--border)); }
.callout-h { font-weight: 800; margin: 0 0 4px; }
.callout p:last-child { margin-bottom: 0; }

/* definitions, link grid, sources */
.defs dl { margin: 0; }
.def { padding: 12px 0; border-bottom: 1px solid var(--border); }
.def dt { font-weight: 800; }
.def dd { margin: 4px 0 0; }
.def dd p:last-child { margin-bottom: 0; }
.lg { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 4px 16px; font-size: .95rem; }
.lg a { text-decoration: none; }
.lg-note { color: var(--muted); font-size: .82rem; }
.lg-group { font-weight: 800; margin: 18px 0 6px; font-size: .9rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.sources ol { font-size: .9rem; color: var(--muted); }
.coins { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.coins li { margin: 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius); display: flex; flex-direction: column; }
.coin-code { font: 800 1.05rem var(--font-mono); color: var(--accent); }
.coin-name { font-weight: 600; font-size: .92rem; }
.coin-note { color: var(--muted); font-size: .8rem; }

/* related + about */
.related { max-width: 860px; margin-top: 30px; }
.related-list { list-style: none; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.related-list li { margin: 0; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); }
.related-list a { font-weight: 700; text-decoration: none; }
.related-list p { margin: 4px 0 0; color: var(--muted); font-size: .88rem; }
.about-box { max-width: 860px; margin: 34px 0 10px; padding: 16px 18px; border-radius: var(--radius); background: var(--surface); font-size: .92rem; color: var(--muted); }
.about-h { font-weight: 800; color: var(--text); margin: 0 0 4px; }
.about-box p:last-child { margin: 0; }

/* footer */
.ftr { margin-top: 70px; background: var(--surface); border-top: 1px solid var(--border); padding: 44px 0 18px; font-size: .93rem; }
.ftr .wrap:first-child { display: grid; grid-template-columns: minmax(220px, 1.2fr) 2fr; gap: 34px; }
@media (max-width: 760px) { .ftr .wrap:first-child { grid-template-columns: 1fr; } }
.f-logo { font: 800 1.2rem var(--font-head); margin: 0 0 6px; }
.f-desc { color: var(--muted); }
.coins-mini { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.coins-mini li { margin: 0; font: 700 .75rem var(--font-mono); border: 1px solid var(--border); border-radius: 6px; padding: 3px 7px; background: var(--bg); }
.f-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; }
.f-h { font-weight: 800; margin: 0 0 8px; }
.f-col ul { list-style: none; padding: 0; margin: 0; }
.f-col a { color: var(--muted); text-decoration: none; }
.f-col a:hover { color: var(--text); }
.f-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--border); color: var(--muted); font-size: .85rem; }
.langs { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; }

/* home layout helpers */
.t-home .sec, .t-home .cards-sec, .t-home .faq, .t-home .ranking, .t-home .tbl { max-width: 1120px; }
.t-home .sec > p, .t-home .faq-item, .t-home .quick-answer { max-width: 860px; }

/* ==========================================================================================================
   v2 — trust & conversion layer: icons, hero visual, trust row, coin logos, band, sticky buy bar, polish.
   Everything uses the theme variables (light + dark), no external resource; site theme.css still loads after.
   ========================================================================================================== */
:root {
  --shadow-sm: 0 1px 2px rgb(15 23 42 / .05), 0 3px 10px -6px rgb(15 23 42 / .10);
  --shadow-md: 0 2px 4px rgb(15 23 42 / .04), 0 16px 36px -18px rgb(15 23 42 / .28);
  --focus: color-mix(in srgb, var(--accent) 75%, var(--text));
}
h1, h2, h3, .cta-h { text-wrap: balance; }
p, li { text-wrap: pretty; }
code, .sources li, .facts-table td { overflow-wrap: anywhere; }
:where(a, button, summary, [tabindex]):focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.ic { width: 1em; height: 1em; flex: none; vertical-align: -0.14em; }
.coin-logo { display: block; width: 22px; height: 22px; flex: none; }

/* buttons: clearer states */
.btn { line-height: 1.25; transition: transform .12s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, filter .15s ease; cursor: pointer; }
.btn .ic { width: 1.05em; height: 1.05em; transition: transform .15s ease; }
.btn:hover .ic { transform: translateX(2px); }
.btn-primary:hover { box-shadow: 0 12px 28px -12px var(--accent); filter: saturate(1.08) brightness(1.04); }
.btn:active { transform: translateY(0); filter: none; }
.btn-ghost:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); }
.btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }

/* header */
.hdr { box-shadow: 0 1px 0 color-mix(in srgb, var(--border) 50%, transparent), 0 6px 20px -18px rgb(15 23 42 / .5); }
.nav { gap: 4px; }
.nav a { padding: 7px 11px; border-radius: 8px; transition: background-color .15s ease, color .15s ease; }
.nav a:hover { background: var(--surface); }
.nav a[aria-current] { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.logo-mark { box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14), 0 6px 14px -8px var(--accent); }
@media (max-width: 860px) {
  .nav { box-shadow: 0 18px 30px -24px rgb(15 23 42 / .5); }
  .nav a { padding: 12px 4px; border-radius: 0; }
  .nav a:hover, .nav a[aria-current] { background: none; color: var(--accent); }
}

/* hero: reassurance line + optional visual (two columns on wide screens) */
.hero-note { display: flex; align-items: flex-start; gap: 8px; margin: -6px 0 14px; font-size: .92rem; color: var(--muted); }
.hero-note .ic { width: 16px; height: 16px; margin-top: .25em; color: var(--yes); }
.page-head.hero.has-visual { max-width: none; }
.hero-main { min-width: 0; }
.hero-visual { min-width: 0; margin-top: 30px; }
@media (min-width: 960px) {
  .page-head.hero.has-visual { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: center; }
  .page-head.hero.has-visual h1 { font-size: clamp(2.2rem, 4.1vw, 3.35rem); }
  .has-visual .hero-visual { margin-top: 0; }
}
.hero-term { margin: 0; border-radius: calc(var(--radius) + 2px); overflow: hidden; background: #0b1020; color: #e6e9f2; border: 1px solid #1d2540; box-shadow: 0 30px 60px -32px rgb(2 6 23 / .6); }
.ht-bar { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #10172b; border-bottom: 1px solid #1d2540; }
.ht-dots { display: inline-flex; gap: 6px; flex: none; }
.ht-dots i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.ht-dots i:nth-child(2) { background: #febc2e; }
.ht-dots i:nth-child(3) { background: #28c840; }
.ht-title { font: 600 .78rem var(--font-mono); color: #9aa4bf; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ht-body { margin: 0; padding: 16px 18px 18px; font: .82rem/1.75 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.ht-body code { background: none; padding: 0; border-radius: 0; color: inherit; font: inherit; }
.ht-c { color: #7180a6; }
.ht-p { color: color-mix(in srgb, var(--accent) 65%, #fff); font-weight: 700; user-select: none; }
.ht-cmd { color: #f4f6fb; }
.ht-v { color: #9ee6bd; }
.ht-o { color: #a9b3cc; }
.hero-term figcaption { padding: 10px 16px; font-size: .8rem; color: #9aa4bf; border-top: 1px solid #1d2540; }
.hero-price { position: relative; padding: 26px 22px 20px; border: 1px solid var(--border); border-radius: calc(var(--radius) + 6px); background: var(--bg); box-shadow: var(--shadow-md); }
.hero-price::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 5px; border-radius: calc(var(--radius) + 6px) calc(var(--radius) + 6px) 0 0; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.hp-k { margin: 0 0 4px; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.hp-from { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0 0 16px; }
.hp-from-l { font-weight: 600; color: var(--muted); }
.hp-from strong { font: 800 clamp(2.4rem, 5vw, 3rem)/1 var(--font-head); letter-spacing: -.035em; color: var(--text); }
.hp-unit { font-weight: 700; color: var(--muted); margin-left: -6px; }
.hp-tiers { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 8px; }
.hp-tiers li { margin: 0; }
.hp-tiers a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border: 1px solid var(--border); border-radius: calc(var(--radius) - 4px); background: var(--surface); color: var(--text); text-decoration: none; transition: border-color .15s ease, background-color .15s ease; }
.hp-tiers a:hover { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 6%, var(--bg)); }
.hp-pop a { border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); background: color-mix(in srgb, var(--accent) 8%, var(--bg)); box-shadow: inset 3px 0 0 var(--accent); }
.hp-n { font-weight: 700; line-height: 1.3; }
.hp-n small { display: block; font-weight: 500; font-size: .82rem; color: var(--muted); }
.hp-badge { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font: 800 .66rem/1.6 var(--font-body); font-style: normal; text-transform: uppercase; letter-spacing: .06em; vertical-align: 2px; background: var(--accent); color: var(--accent-ink); }
.hp-p { text-align: right; font: 800 1.15rem/1.2 var(--font-head); white-space: nowrap; }
.hp-p small { display: block; font: 600 .78rem/1.4 var(--font-body); color: var(--muted); }
.hp-btn { width: 100%; }
.hp-note { margin: 10px 0 0; font-size: .85rem; color: var(--muted); text-align: center; }
.hp-pay { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--border); font-size: .74rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.hp-pay .coin-row { gap: 6px; }

/* icon tiles on cards, stats, steps, trust */
.card-ic, .stat-ic, .trust-ic, .step-ic { display: inline-grid; place-items: center; flex: none; color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent); }
.card-ic { width: 42px; height: 42px; border-radius: 12px; margin-bottom: 12px; }
.card-ic .ic, .trust-ic .ic { width: 21px; height: 21px; }
.stat-ic { width: 34px; height: 34px; border-radius: 10px; margin-bottom: 10px; }
.stat-ic .ic { width: 18px; height: 18px; }
.step-list > li.has-ic { padding-left: 60px; }
.step-ic { position: absolute; left: 0; top: 0; width: 42px; height: 42px; border-radius: 12px; }
.step-ic .ic { width: 21px; height: 21px; }
.step-list > li.has-ic::before { z-index: 1; left: 28px; top: -7px; width: 22px; height: 22px; font-size: .7rem; background: var(--accent); color: var(--accent-ink); border: 2px solid var(--bg); }

/* cards: depth + whole-card click when the card links somewhere */
.card { position: relative; box-shadow: var(--shadow-sm); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.card-link:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.card-link h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.card-link p a { position: relative; z-index: 1; }
.card-link:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
.card-link h3 a:focus-visible { outline: none; }

/* trust row */
.trust-sec { margin: 18px 0 8px; }
.trust { list-style: none; padding: 0; margin: 12px 0 20px; display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.trust > li { margin: 0; display: flex; align-items: flex-start; gap: 14px; padding: 16px 16px 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); box-shadow: var(--shadow-sm); }
.trust-ic { width: 40px; height: 40px; border-radius: 11px; }
.trust-t { margin: 1px 0 2px; font-weight: 750; line-height: 1.3; }
.trust-d { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--muted); }
@media (min-width: 900px) { .trust.n-3, .trust.n-5, .trust.n-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .trust.n-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.trust-sec.compact .trust { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.trust-sec.compact .trust > li { align-items: center; gap: 9px; padding: 0; border: 0; background: none; box-shadow: none; }
.trust-sec.compact .trust-ic { width: 28px; height: 28px; border-radius: 8px; }
.trust-sec.compact .trust-ic .ic { width: 16px; height: 16px; }
.trust-sec.compact .trust-t { margin: 0; font-size: .93rem; }

/* coins: logos */
.coins li { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 12px; }
.coins li > .coin-logo { grid-row: 1 / span 3; width: 34px; height: 34px; }
.coins li > :not(.coin-logo) { grid-column: 2; }
.coin-row { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.coin-row li { margin: 0; display: inline-flex; align-items: center; gap: 7px; font: 700 .88rem var(--font-mono); }
.coinstrip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 22px 0; padding: 14px 18px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.cs-label { margin: 0; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cs-note { margin: 0 0 0 auto; font-size: .86rem; color: var(--muted); }
@media (max-width: 640px) { .cs-note { margin-left: 0; flex-basis: 100%; } }

/* band: full-width alternate background without horizontal overflow (shadow + clip-path, no 100vw) */
.band { position: relative; margin: 48px 0; padding: 36px 0 26px; background: var(--surface); box-shadow: 0 0 0 100vmax var(--surface); clip-path: inset(0 -100vmax); }
.band > :first-child { margin-top: 0; }
.band > :first-child > :first-child { margin-top: 0; }
.band .card, .band .trust > li, .band .plan, .band .stat, .band .coinstrip, .band .coins li, .band .rank, .band .table-wrap, .band .hp-tiers a { background: var(--bg); }

/* pricing cards */
.plans { gap: 16px; }
.cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.plan { box-shadow: var(--shadow-sm); transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease; }
.plan:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.plan.popular { box-shadow: 0 20px 44px -24px var(--accent); }
@media (min-width: 900px) { .plan.popular { transform: translateY(-6px); } .plan.popular:hover { transform: translateY(-8px); } }
.plan-price { font-size: 2.15rem; }
.plan-features { border-top: 1px solid var(--border); padding-top: 12px; }
.plan-features li { margin: .35em 0; }

/* tables */
.table-wrap { box-shadow: var(--shadow-sm); }
.tbl th, .tbl td { padding: 12px 14px; }
.tbl :where(tbody tr:nth-child(even)) { background: color-mix(in srgb, var(--surface) 55%, transparent); }
.tbl :where(tbody tr):hover { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.tbl tr.hl th:first-child { box-shadow: inset 3px 0 0 var(--accent); }
.facts-table th, .facts-table td { padding: 11px 12px; }

/* faq, stats, related */
.faq-item { padding: 8px 0 12px; }
.faq-item h3 { font-size: 1.1rem; margin: 1em 0 .45em; }
.faq-a p:last-child { margin-bottom: .35em; }
.stat { box-shadow: var(--shadow-sm); }
.related-list li { transition: border-color .15s ease; }
.related-list li:hover { border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }

/* footer: brand + support, columns, payments row, legal links */
.ftr { margin-top: 80px; padding-top: 52px; }
.f-logo { display: flex; align-items: center; gap: 10px; }
.f-logo .logo-mark { width: 30px; height: 30px; border-radius: 9px; font-size: .85rem; }
.f-desc { font-size: .9rem; line-height: 1.6; max-width: 48ch; }
.f-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0; font-size: .9rem; }
.f-contact-h { flex-basis: 100%; font-weight: 800; }
.f-contact a { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; opacity: .85; overflow-wrap: anywhere; }
.f-contact a:hover { opacity: 1; text-decoration: underline; }
.f-col li { margin: .45em 0; }
.f-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 32px; padding-top: 20px; border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent); }
.f-pay-h { margin: 0; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.f-pay-n { margin: 0 0 0 auto; font-size: .85rem; opacity: .75; }
.f-pay + .f-bottom { margin-top: 18px; }
.f-bottom p { margin: 0; }
.f-legal { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 0; margin: 0; }
.f-legal li { margin: 0; }
.f-legal a, .langs a { color: inherit; text-decoration: none; }
.f-legal a:hover, .langs a:hover { text-decoration: underline; }
.coins-mini li { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px 4px 5px; border-radius: 999px; }
.coins-mini .coin-logo { width: 18px; height: 18px; }
@media (max-width: 640px) { .f-pay-n { margin-left: 0; flex-basis: 100%; } }

/* sticky buy bar (site.stickyCta), small screens only */
.sticky-cta { display: none; }
@media (max-width: 760px) {
  .sticky-cta { display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: saturate(1.6) blur(10px); border-top: 1px solid var(--border); box-shadow: 0 -10px 26px -18px rgb(0 0 0 / .45); transition: transform .2s ease; }
  .sticky-cta .btn { flex: 1; }
  .sc-note { margin: 0; flex: 0 1 auto; max-width: 46%; font-size: .8rem; line-height: 1.3; color: var(--muted); }
  body.has-sticky { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  body.sticky-off .sticky-cta { transform: translateY(115%); }
}

/* header on small screens: compact buy button; it gives way to the sticky buy bar on phones */
@media (max-width: 860px) {
  .hdr-in { gap: 12px; }
  .hdr .hdr-cta { white-space: nowrap; padding: 7px 12px; font-size: .86rem; }
  .logo { min-width: 0; }
  .logo-txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (max-width: 420px) {
  .hdr .hdr-cta { display: none; }
}
/* small screens: no horizontal overflow at 375 px */
@media (max-width: 520px) {
  .btn { white-space: normal; text-align: center; }
  .hero-btns .btn { flex: 1 1 100%; }
  .cta { padding: 22px 18px; }
  .cta-btns { width: 100%; }
  .cta-btns .btn { flex: 1 1 100%; }
  .hero-price { padding: 22px 16px 18px; }
  .ht-body { font-size: .76rem; padding: 14px; }
  .tbl th, .tbl td, .facts-table th, .facts-table td { padding: 10px 9px; }
  .tbl thead th { font-size: .78rem; letter-spacing: .02em; }
  .step-list > li { padding-left: 48px; }
  .step-list > li.has-ic { padding-left: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
  .btn:hover, .plan:hover, .card-link:hover, .plan.popular, .plan.popular:hover { transform: none; }
}

/* drawn flags (emoji flags show as letters on Windows) + header login link */
img.flag { display: inline-block; width: 20px; height: 15px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px color-mix(in srgb, var(--text) 14%, transparent); vertical-align: -2px; margin-right: 8px; }
h1 img.flag-h1 { width: .9em; height: .675em; vertical-align: -.02em; margin-right: .3em; border-radius: 5px; }
.hdr-login { color: var(--text); font-weight: 600; font-size: .95rem; text-decoration: none; white-space: nowrap; }
.hdr-login:hover { color: var(--accent); }

/* visually hidden (screen readers only) */
.vh { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* pricing = purchase page: included line, tier table, payment reminder (once per page) */
.plan-incl { margin: 14px 0 0; font-size: .9rem; color: var(--muted); }
.plan-incl strong { color: var(--text); }
.tiers { margin-top: 18px; }
.tiers table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tiers th, .tiers td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.tiers thead th { background: var(--surface); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.tiers tr:last-child th, .tiers tr:last-child td { border-bottom: 0; }
.tiers tr.hl { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.tiers caption { caption-side: top; text-align: left; padding: 10px 12px 4px; font-weight: 700; }
.tiers td:last-child a { font-weight: 700; }
.tier-badge { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; background: var(--accent); color: var(--accent-ink); vertical-align: 1px; }
.pay-terms { margin: 18px 0 0; padding: 14px 18px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); font-size: .92rem; }
.band .pay-terms { background: var(--bg); }
.pt-h { margin: 0 0 6px; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.pay-terms ul { list-style: none; padding: 0; margin: 0; }
.pay-terms li { display: flex; gap: 10px; align-items: flex-start; margin: .35em 0; }
.pay-terms li > svg { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--accent); }
.cs-solo { margin: 14px 0; font-size: .9rem; color: var(--muted); }

/* paymentSteps */
.pay-table { margin: 10px 0 4px; }
.pay-table table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.pay-table th, .pay-table td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.pay-table thead th { background: var(--surface); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.pay-table tbody th { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.pay-table tr:last-child th, .pay-table tr:last-child td { border-bottom: 0; }
.pay-help { font-size: .9rem; color: var(--muted); }

/* productShots: real client-area screenshots, each one links to the full-size image */
.shots { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.shots.n-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.shot { margin: 0; }
.shot-link { display: block; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: var(--shadow-sm); cursor: zoom-in; }
.shot-link img { display: block; width: 100%; height: auto; }
.shot-link:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
.shot figcaption { margin-top: 8px; font-size: .9rem; color: var(--muted); }
.shot-tag { display: inline-block; margin-right: 8px; padding: 1px 8px; border-radius: 999px; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; background: var(--surface-2); color: var(--text); }
.shot-dlg { max-width: min(96vw, 1400px); max-height: 94vh; padding: 0; border: 0; border-radius: var(--radius); background: var(--bg); color: var(--text); }
.shot-dlg::backdrop { background: rgb(0 0 0 / .72); }
.shot-dlg img { display: block; max-width: 100%; max-height: calc(94vh - 52px); width: auto; height: auto; margin: 0 auto; }
.shot-dlg p { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin: 0; padding: 10px 14px; font-size: .9rem; }
.shot-dlg button { font: inherit; font-weight: 700; border: 1px solid var(--border); background: var(--surface); color: var(--text); border-radius: 8px; padding: 4px 12px; cursor: pointer; }

/* ranking methodology + dated competitor prices */
.method { margin: 0 0 18px; padding: 14px 18px; border-left: 4px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; background: var(--surface); font-size: .93rem; }
.method-h { margin: 0 0 4px; font-weight: 800; }
.method p:last-child { margin-bottom: 0; }
.checked { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; font-size: .86rem; color: var(--muted); }
.checked > svg { width: 16px; height: 16px; flex: none; }

/* "collapsed": true on any block → folded section (details/summary, works without JS) */
.fold { margin: 26px 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); }
.fold > summary { cursor: pointer; padding: 14px 18px; font: 700 1.05rem/1.3 var(--font-head); list-style-position: inside; }
.fold > summary:hover { color: var(--accent); }
.fold[open] > summary { border-bottom: 1px solid var(--border); }
.fold > :not(summary) { margin: 0; padding: 4px 18px 10px; }
.fold > :not(summary) > h2:first-child { margin-top: .8em; font-size: 1.25rem; }

/* brand logo drawn outside the engine (engine/assets/logos/<slug>/), height fixed, width from the SVG ratio */
.logo.has-img { gap: 0; }
.logo-img { display: block; height: 34px; width: auto; max-width: min(240px, 54vw); }
.f-logo.has-img .logo-img { height: 30px; max-width: 240px; }

/* API reference (/docs/api/, engine/lib/apidocs.mjs): one section per endpoint */
.endpoint { margin-top: 2.4em; padding-top: .2em; border-top: 1px solid var(--border); }
.endpoint > h2 { margin-top: 1em; }
.ep-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: -2px 0 16px; }
.ep-m { font: 800 .82rem/1 var(--font-mono); letter-spacing: .05em; padding: 7px 10px; border-radius: 7px; color: #fff; background: #1d4ed8; }
.ep-get { background: #0f766e; }
.ep-patch, .ep-put { background: #a16207; }
.ep-delete { background: #b91c1c; }
.ep-path { font-size: .95rem; padding: 5px 10px; overflow-wrap: anywhere; }
.ep-auth { display: flex; align-items: flex-start; gap: 8px; font-size: .95rem; color: var(--muted); }
.ep-auth .ic { flex: none; margin-top: .3em; color: var(--accent); }
.ep-h { font-size: 1.02rem; margin: 1.5em 0 .6em; }
.ep-h code { font-size: .85em; }
.ep-tbl { margin: 0 0 1.1em; }
.ep-tbl th:first-child { white-space: nowrap; }
.ep-tbl td { font-size: .95rem; }
.ep-none { color: var(--muted); font-size: .95rem; }
.code-tabs { margin: 0 0 1.4em; }
.code-tabs .ct-bar { display: none; }
.code-tabs.js .ct-bar { display: flex; flex-wrap: wrap; gap: 4px; }
.ct-bar [role="tab"] { min-height: 44px; padding: 0 16px; font: 700 .95rem var(--font-body); color: var(--muted); background: var(--surface); border: 1px solid var(--border); border-bottom: 0; border-radius: 10px 10px 0 0; cursor: pointer; }
.ct-bar [role="tab"]:hover { color: var(--text); }
.ct-bar [aria-selected="true"] { color: #e6e9f2; background: #0b1020; border-color: #0b1020; }
.code-tabs.js .code { border-top-left-radius: 0; margin-bottom: 0; }
.code-tabs.js .code figcaption { display: none; }
.code-tabs .code[hidden] { display: none; }
@media (max-width: 640px) {
  /* parameter tables as stacked cards: no sideways scrolling on phones */
  .ep-tbl { border: 0; box-shadow: none; overflow: visible; }
  .ep-tbl table, .ep-tbl tbody, .ep-tbl tr, .ep-tbl th, .ep-tbl td { display: block; width: auto; }
  .ep-tbl thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ep-tbl tr { margin: 0 0 10px; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); }
  .ep-tbl :where(tbody tr:nth-child(even)) { background: var(--bg); }
  .ep-tbl th, .ep-tbl td { padding: 3px 0; border: 0; white-space: normal; }
  .ep-tbl td::before { content: attr(data-label) ": "; font-weight: 700; color: var(--muted); }
}

/* location pages (plan 3.5): buy card after the quick answer, a sticky side column on wide screens */
.buy-rail { margin: 0 0 30px; }
.buy-card { position: relative; padding: 22px 18px 16px; border: 1px solid var(--border); border-radius: calc(var(--radius) + 4px); background: var(--bg); box-shadow: var(--shadow-md); }
.buy-card::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 5px; border-radius: calc(var(--radius) + 4px) calc(var(--radius) + 4px) 0 0; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.bc-k { display: flex; align-items: center; margin: 0 0 6px; font-weight: 800; font-size: 1rem; line-height: 1.3; }
.buy-card .hp-from { margin-bottom: 14px; }
.buy-card .hp-from strong { font-size: 2.4rem; }
.buy-card .hp-tiers a { min-height: 48px; }
.bc-trust { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; font-size: .95rem; line-height: 1.45; color: var(--muted); }
.bc-trust .ic { flex: none; margin-top: .2em; color: var(--yes); }
@media (min-width: 1040px) {
  .t-location .content.has-buy { position: relative; max-width: none; padding-right: 336px; }
  .content.has-buy > .buy-rail { position: absolute; top: 22px; right: 0; bottom: 0; z-index: 2; width: 300px; margin: 0; }
  .content.has-buy .buy-card { position: sticky; top: 86px; }
}

/* ==========================================================================================================
   3.8 — phones (checked at 375 px on home, pricing, location, guide, FAQ and API pages of the 5 sites):
   no sideways scroll, touch targets of at least 44 px, no text under 15 px, one-line top bar, balanced pills.
   `:root` raises the specificity above the site theme.css rules of the same shape (they load after this file).
   ========================================================================================================== */
.table-wrap { position: relative; } /* keeps absolutely positioned children (.vh) inside the scroll box */
main, .ftr { overflow-wrap: break-word; } /* long URLs in plain text wrap instead of widening the page */
.kicker, .badges li { text-wrap: balance; }
.kicker .k-s { white-space: nowrap; }
.topbar .tb-sep { white-space: pre; }
@media (max-width: 760px) {
  /* top bar: one line, the first statement only (the rest is repeated on the page) */
  :root .topbar { padding: 10px 0; font-size: 15px; line-height: 1.35; }
  .topbar .wrap { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar .tb-sep, .topbar .tb-s ~ .tb-s { display: none; }

  /* text floor: 15 px */
  :root :is(.crumbs ol, .kicker, .meta, .badges li, .qa-label, .hero-note, .lede small, .toc, .toc-h, .table-note, .checked,
    .tbl table, .facts-table, .tbl thead th, .tiers table, .tiers thead th, .tiers caption, .tier-badge, .pay-table table, .pay-table thead th,
    .plan-qty, .plan-unit, .plan-badge, .plan-features, .plan-incl, .pricing-note, .pay-terms, .pt-h, .pay-help, .cs-label, .cs-note, .cs-solo,
    .hp-k, .hp-note, .hp-pay, .hp-badge, .hp-n small, .hp-p small, .coin-row li, .coins-mini li, .coin-note, .coin-name,
    .trust-t, .trust-d, .card p, .card-tag, .stat-l, .stat-n, .lg, .lg-note, .lg-group, .related-list p, .sources ol, .about-box, .disclosure,
    .rank-meta, .pc, .method, .shot figcaption, .shot-tag, .callout, .step-list, .faq-a, .defs, .code figcaption, .copy,
    .ftr, .f-desc, .f-h, .f-contact, .f-bottom, .f-pay-h, .f-pay-n, .sc-note, .hdr-login, .nav a, .menu, .ep-m, .ep-auth, .bc-trust) {
    font-size: 15px;
  }
  :root code { font-size: max(15px, .88em); }
  :root :is(.table-wrap, .facts-table) :is(th, td, caption) { font-size: 15px; }
  :root body :is(.plan .btn, .btn-sm, .hdr-cta, .sticky-cta .btn) { font-size: 15px; }
  :root .code code, :root .ht-body { font-size: 15px; }
  :root .kicker, :root .qa-label, :root .cs-label, :root .hp-k, :root .pt-h, :root .f-pay-h, :root .plan-badge, :root .hp-badge, :root .tier-badge { letter-spacing: .04em; }
  .sc-note { line-height: 1.25; }
  :root .kicker { border-radius: 12px; line-height: 1.45; }

  /* touch targets: 44 px */
  :root .btn { min-height: 46px; }
  .menu { min-height: 44px; }
  .logo, .hdr-login { display: inline-flex; align-items: center; min-height: 44px; }
  .hdr-login { padding: 0 4px; }
  .crumbs ol { margin-top: 12px; row-gap: 0; }
  .crumbs a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  .toc li { margin: 0; }
  .toc a { display: block; padding: 10px 0; }
  .f-col li, .f-legal li, .langs li, .lg li, .related-list li { margin: 0; }
  .f-col a, .f-legal a, .langs a, .f-contact a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
  .lg a { display: flex; align-items: center; min-height: 44px; }
  .sources li { margin: 0; }
  .sources a { display: inline-block; min-width: 44px; padding: 11px 0; }
  .related-list a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
  :root .trust-sec.compact .trust-t { font-size: 15px; }
  .tbl td > a:only-child, .tiers td > a:only-child, .facts-table td > a:only-child { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
  .fold > summary { min-height: 44px; display: flex; align-items: center; }
  /* copy button: a 44 px tab in the corner of the code box, in the caption bar when there is one */
  .code figcaption { display: flex; align-items: center; min-height: 44px; padding-right: 84px; }
  .code > pre:first-child, .code-tabs.js .code pre { padding-top: 52px; }
  .copy { top: 0; right: 0; min-width: 72px; min-height: 44px; padding: 0 12px; border-radius: 0 0 0 10px; }
  .ht-body { padding: 14px; }
}
.bc-k { font-size: 1.15rem; margin-bottom: 0; }
.bc-p { margin: 0 0 10px; font-size: .95rem; color: var(--muted); }

/* sources: collapsed; competitor references are plain text */
.sources details { border-top: 1px solid var(--border); padding-top: 10px; margin-top: 26px; }
.sources summary { cursor: pointer; font-weight: 700; color: var(--muted); font-size: .92rem; }
.sources ol { margin-top: 10px; }
.src-u { color: var(--muted); font-size: .85em; }
.ext-ref { text-decoration: underline dotted color-mix(in srgb, var(--text) 35%, transparent); text-underline-offset: 3px; }
/* language menu (header): <details>, opens without JS; site.js closes it on outside click / Escape (CONTENT-GUIDE § 8) */
.lang-menu { position: relative; flex: none; }
.lang-menu > summary { list-style: none; display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 6px 9px; border-radius: 8px; cursor: pointer; color: var(--muted); font-weight: 600; font-size: .9rem; letter-spacing: .02em; white-space: nowrap; user-select: none; }
.lang-menu > summary::-webkit-details-marker { display: none; }
.lang-menu > summary::marker { content: ''; }
.lang-menu > summary .ic { width: 18px; height: 18px; }
.lang-menu > summary:hover, .lang-menu[open] > summary { color: var(--text); background: var(--surface); }
.lang-menu > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.lm-list { position: absolute; right: 0; top: calc(100% + 6px); z-index: 40; list-style: none; margin: 0; padding: 6px; min-width: 190px; max-height: min(70vh, 460px); overflow: auto; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 18px 40px -18px rgb(15 23 42 / .45); }
.lm-list li { margin: 0; }
.lm-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border-radius: 8px; color: var(--text); text-decoration: none; font-size: .95rem; }
.lm-list a:hover, .lm-list a:focus-visible { background: var(--surface); }
.lm-list a[aria-current] { font-weight: 700; color: var(--accent); }
.lm-list a[aria-current]::after { content: '✓'; }
.langs a[aria-current] { font-weight: 700; color: var(--text); }
@media (max-width: 860px) { .lang-menu { margin-left: -4px; } }
@media (max-width: 760px) {
  .lang-menu > summary { min-height: 44px; min-width: 44px; justify-content: center; font-size: 15px; }
  .lm-list { position: fixed; left: 16px; right: 16px; top: auto; margin-top: 6px; min-width: 0; }
  .lm-list a { min-height: 44px; font-size: 15px; }
}
/* phones: globe only, tighter header; a drawn logo scales down instead of running under the buttons (long translated labels) */
@media (max-width: 520px) {
  .lang-menu .lm-code { display: none; }
  .hdr-in { gap: 8px; }
  .hdr .logo.has-img { flex: 0 1 auto; min-width: 64px; }
  .hdr .logo-img { height: auto; max-height: 34px; max-width: 100%; }
}

/* ---------------------------------------------------------------- domain-name sites (engine/lib/tlds.mjs) */
/* tldPricing: price table of the extensions. Category chips = radio buttons: the filter works without JavaScript (:has);
   site.js adds sortable headers and a text filter. */
.tldp-f { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; padding: 0; border: 0; }
.tldp-f legend { float: left; margin: 0 6px 0 0; padding: 6px 0; font-size: .85rem; font-weight: 700; color: var(--muted); }
.tldp-f label { position: relative; cursor: pointer; }
.tldp-f input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tldp-f span { display: inline-block; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg); font-size: .88rem; font-weight: 600; }
.tldp-f input:checked + span { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.tldp-f input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.tldp:has(input[value="generic"]:checked) tbody tr:not([data-g~="generic"]),
.tldp:has(input[value="tech"]:checked) tbody tr:not([data-g~="tech"]),
.tldp:has(input[value="business"]:checked) tbody tr:not([data-g~="business"]),
.tldp:has(input[value="country"]:checked) tbody tr:not([data-g~="country"]),
.tldp:has(input[value="lifestyle"]:checked) tbody tr:not([data-g~="lifestyle"]),
.tldp:has(input[value="open"]:checked) tbody tr:not([data-g~="open"]),
.tldp:has(input[value="private"]:checked) tbody tr:not([data-g~="private"]),
.tldp tbody tr.tldp-hide { display: none; }
.tldp td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.tldp td.tldp-r { white-space: normal; font-size: .9rem; color: var(--muted); min-width: 9rem; }
.tldp td.tldp-r.warn { color: var(--text); }
.tldp tbody th a { text-decoration: none; font-weight: 800; }
.tldp th button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.tldp th button::after { content: '↕'; opacity: .45; font-size: .9em; }
.tldp th[aria-sort="ascending"] button::after { content: '↑'; opacity: 1; }
.tldp th[aria-sort="descending"] button::after { content: '↓'; opacity: 1; }
.tldp th button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tldp-q { display: block; width: 100%; max-width: 320px; margin: 0 0 12px; padding: 9px 12px; font: inherit; color: var(--text); background: var(--bg); border: 1px solid var(--border); border-radius: calc(var(--radius) - 4px); }
/* domainSearch: GET form to the client area + popular extensions */
.dsearch { margin: 26px 0; }
.ds-form { display: flex; gap: 10px; max-width: 680px; }
.ds-form input[type="search"] { flex: 1 1 auto; min-width: 0; padding: 13px 16px; font: inherit; font-size: 1.05rem; color: var(--text); background: var(--bg); border: 1.5px solid var(--border); border-radius: calc(var(--radius) - 4px); }
.ds-form input[type="search"]:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.ds-form .btn svg { width: 18px; height: 18px; }
.ds-pop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.ds-pop-h { margin: 0; font-size: .85rem; font-weight: 700; color: var(--muted); }
.ds-pop ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ds-pop li { margin: 0; }
.ds-pop a, .ds-pop li > span { display: inline-flex; gap: 6px; align-items: baseline; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--text); text-decoration: none; font-size: .9rem; }
.ds-pop a:hover { border-color: var(--accent); }
.ds-pop strong + span { color: var(--muted); font-variant-numeric: tabular-nums; }
.ds-note { font-size: .88rem; color: var(--muted); margin-top: 10px; }
@media (max-width: 560px) {
  .ds-form { flex-direction: column; }
  .ds-form .btn { width: 100%; }
}

/* ---------------------------------------------------------------- travel sites
   Added after site.css by engine/build.mjs for the sites with site.json "kind": "travel" only (the other sites keep
   site.css unchanged). Search forms .trv-search (blocks hotelSearch / flightSearch), measured price card .trv-price
   (fromPrice), status badges .trv-b, index tables .trv-index (acceptanceIndex, priceIndex, networkFees, saleStatus list),
   points of interest .trv-poi, hero search .trv-hero-search (page.hero.search), columns of figures .num and tables as
   cards on phones .trv-stack (engine/lib/layout.mjs), phone buy bar hidden next to a search form (travel.js), every
   statement of the top bar shown on phones. Hooks for a site's theme.css: .trv-home-search (search of the home page),
   .trv-ai-col-<column> (cells of the index tables), <body data-city="<slug>"> (city pages).
   See engine/lib/travel-blocks.mjs and docs/CONTENT-GUIDE.md § 11. */

/* search forms: one line on wide screens, two columns on tablets, stacked on phones; work without JavaScript */
.trv-search { margin: 26px 0; padding: 20px 20px 16px; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 4%, var(--bg)); }
.trv-search > h2, .trv-search > h3 { margin-top: 0; }
.trv-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.trv-f { display: flex; flex-direction: column; gap: 5px; min-width: 0; flex: 1 1 150px; }
.trv-f-m { flex: 1 1 180px; }
.trv-f-s { flex: 0 1 96px; }
.trv-f label { font-size: .8rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }
/* help of a field without JavaScript (<noscript> in the label: "3-letter airport code", flightSearch) */
.trv-f label .trv-hint { display: block; font-weight: 400; letter-spacing: 0; text-transform: none; }
.trv-f input, .trv-f select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; font: inherit; font-size: 1rem; color: var(--text); background: var(--bg); border: 1.5px solid var(--border); border-radius: calc(var(--radius) - 4px); }
.trv-f input:focus, .trv-f select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.trv-f-wide { flex: 2 1 260px; }
.trv-form .btn { min-height: 46px; flex: 0 0 auto; }
.trv-form .btn svg { width: 18px; height: 18px; }
.trv-swap { flex: 0 0 44px; align-self: flex-end; min-width: 44px; min-height: 46px; border: 1.5px solid var(--border); border-radius: calc(var(--radius) - 4px); background: var(--surface); color: var(--accent); font-size: 1.2rem; cursor: pointer; }
.trv-note, .trv-paused { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; font-size: .88rem; color: var(--muted); }
.trv-note svg, .trv-paused svg { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--accent); }
.trv-paused { margin: 0 0 12px; padding: 10px 12px; border-radius: calc(var(--radius) - 4px); background: color-mix(in srgb, #d97706 10%, var(--bg)); color: var(--text); }
@media (max-width: 640px) {
  .trv-search { padding: 16px 14px 12px; }
  .trv-f { flex: 1 1 calc(50% - 6px); }
  .trv-f-wide, .trv-f-m, .trv-form .btn { flex: 1 1 100%; }
  .trv-swap { display: none; }
}

/* measured price card (fromPrice): a dated statistic, never a promise */
.trv-price { margin: 18px 0; padding: 16px 18px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border)); border-radius: var(--radius); background: var(--bg); max-width: 520px; }
.trv-price p { margin: 0 0 6px; }
.trv-price-k { font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.trv-price-v strong { font-size: 1.6rem; line-height: 1.2; }
.trv-price-o, .trv-price-n { font-size: .88rem; color: var(--muted); }
.trv-price .btn { margin-top: 6px; }
.trv-price.trv-none { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: space-between; }
.trv-price.trv-none p { display: flex; gap: 8px; align-items: center; margin: 0; color: var(--muted); }
.trv-price.trv-none svg { width: 16px; height: 16px; }
.trv-sample { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; background: #fef3c7; color: #92400e; vertical-align: middle; }

/* status badges (crypto acceptance, sale status) */
.trv-b { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: .78rem; font-weight: 700; white-space: nowrap; border: 1px solid transparent; }
.trv-b-active, .trv-b-on { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.trv-b-reported { background: #e0f2fe; color: #075985; border-color: #bae6fd; }
.trv-b-unverified, .trv-b-unknown { background: var(--surface-2); color: var(--muted); }
.trv-b-stopped, .trv-b-none, .trv-b-off, .trv-b-not-sold { background: #f3f4f6; color: #374151; border-color: #e5e7eb; }
.trv-b-paused { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.trv-b-blocked { background: #fee2e2; color: #991b1b; border-color: #fecaca; }

/* index tables */
.trv-index td, .trv-index th { vertical-align: top; }
.trv-index .trv-sub { display: block; margin-top: 2px; font-size: .78rem; font-weight: 400; color: var(--muted); }
.trv-index code { font-size: .78rem; }
.trv-dl { display: flex; gap: 8px; align-items: center; margin: 10px 0 0; font-size: .9rem; }
.trv-dl svg { width: 16px; height: 16px; color: var(--accent); }
.trv-none-l { padding: 12px 14px; border: 1px dashed var(--border); border-radius: var(--radius); color: var(--muted); font-size: .92rem; }
.trv-sale .trv-b { margin-right: 6px; }

/* points of interest (OpenStreetMap) */
.trv-poi-l { columns: 2 260px; padding-left: 1.1em; }
.trv-poi-l li { break-inside: avoid; margin: 0 0 6px; }
.trv-poi-l small { color: var(--muted); }
.trv-poi-d { color: var(--muted); font-size: .88rem; }
.trv-attr { font-size: .8rem; color: var(--muted); }
.trv-attr a { color: inherit; }
/* wide index tables (acceptanceIndex): readable columns, scroll sideways inside the frame on tablets */
.trv-wide table { min-width: 900px; }
.trv-wide thead th { white-space: nowrap; }
.trv-wide td { min-width: 88px; }
.trv-wide td:nth-child(4) { min-width: 240px; }

/* columns of figures (engine/lib/layout.mjs adds "num"): right-aligned, tabular figures */
.table-wrap .num { text-align: right; font-variant-numeric: tabular-nums; }

/* hero search (page.hero.search): the form of the site's product inside the page head, under the lede */
.page-head .trv-hero-search { margin: 22px 0 6px; }

/* tables as cards on phones (engine/lib/layout.mjs: frame .trv-stack, cells data-label): one card per row, the row
   header as its title, each value under the name of its column; the column headers stay for screen readers */
@media (max-width: 640px) {
  .table-wrap.trv-stack.trv-stack { overflow: visible; border: 0; border-radius: 0; box-shadow: none; background: none; }
  .table-wrap.trv-stack :is(table, tbody, tr) { display: block; width: auto; min-width: 0; border: 0; background: none; }
  .table-wrap.trv-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .table-wrap.trv-stack caption { display: block; padding: 0 0 10px; text-align: left; }
  .table-wrap.trv-stack tbody tr { margin: 0 0 12px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); box-shadow: none; }
  .table-wrap.trv-stack tbody tr:last-child { margin-bottom: 0; }
  .table-wrap.trv-stack tbody tr.hl { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); background: color-mix(in srgb, var(--accent) 6%, var(--bg)); }
  .table-wrap.trv-stack tbody :is(th, td) { padding: 9px 0; border: 0; text-align: left; white-space: normal; background: none; }
  /* the table layout of a theme (sticky first column, fixed widths, column rules) does not apply inside a card */
  .table-wrap.trv-stack.trv-stack tbody :is(th, td) { position: static; display: block; width: auto; min-width: 0; max-width: none; box-shadow: none; }
  .table-wrap.trv-stack tbody tr > :first-child { padding-top: 0; font-size: 1.05rem; }
  .table-wrap.trv-stack tbody tr > [data-label] { border-top: 1px solid var(--border); }
  .table-wrap.trv-stack tbody tr > [data-label]:last-child { padding-bottom: 0; }
  .table-wrap.trv-stack tbody [data-label]::before { content: attr(data-label); display: block; margin: 0 0 2px; font-size: .8rem; font-weight: 700; letter-spacing: .02em; color: var(--muted); }
  .table-wrap.trv-stack .trv-b { white-space: normal; }
}

/* top bar on phones: site.css keeps the first statement only, on one line; the travel sites show every statement, on
   short centred lines, so no text of the bar is hidden (checked at 375 px: no sideways scroll). The " · " separators
   stay hidden there, as in site.css. */
@media (max-width: 760px) {
  .topbar .wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 14px; text-align: center; white-space: normal; overflow: visible; text-overflow: clip; }
  .topbar .tb-s ~ .tb-s { display: inline; }
  .topbar .tb-s { min-width: 0; }
}

/* phone buy bar (site.stickyCta): also tucked away while a search form is on screen (travel.js) */
@media (max-width: 760px) {
  body.trv-sticky-off .sticky-cta { transform: translateY(115%); }
}

/* never broken at its hyphen (the text keeps an ASCII hyphen, no U+2011): a hyphenated word of a step title ("e-ticket"),
   and in the visible text of every page a date (2026-10-12), a token standard (TRC-20, ERC-20, BEP-20) and "e-ticket"
   (engine/lib/layout.mjs nobrTokens) */
.trv-nobr { white-space: nowrap; }

/* empty table cells ("—" or nothing, class trv-empty from engine/lib/layout.mjs markEmptyCells): greyed on phones; in
   the cards of .trv-stack the column name and the dash share one short line */
@media (max-width: 640px) {
  .content td.trv-empty { color: var(--muted); }
  .table-wrap.trv-stack.trv-stack tbody td.trv-empty { display: flex; align-items: baseline; gap: 8px; padding-top: 6px; padding-bottom: 6px; color: var(--muted); opacity: .8; }
  .table-wrap.trv-stack tbody td.trv-empty[data-label]::before { margin: 0; font-weight: 600; }
}

/* FAQ as an accordion (engine/lib/blocks.mjs faq, travel sites): one <details class="faq-item"> per question, the
   question (h3) in its <summary>, the answer always in the page; the first 3 questions of the page are open. Indicator:
   a chevron after the question, pointing down when closed and up when open; the summary takes the keyboard focus
   (Enter / Space toggle it) with the focus ring of site.css or of the theme. */
.trv-faq .faq-item > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; list-style: none; cursor: pointer; border-radius: 4px; }
.trv-faq .faq-item > summary::-webkit-details-marker { display: none; }
.trv-faq .faq-item > summary::marker { content: ""; }
.trv-faq .faq-item > summary > h3 { flex: 1 1 auto; min-width: 0; margin: 0; }
.trv-faq .faq-item > summary::after { content: ""; flex: none; width: 9px; height: 9px; margin-right: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; color: var(--accent); transform: translateY(-25%) rotate(45deg); transition: transform .15s ease; }
.trv-faq .faq-item[open] > summary::after { transform: translateY(25%) rotate(-135deg); }
.trv-faq .faq-item > summary:hover > h3 { color: var(--accent); }
:where(.trv-faq .faq-item > summary):focus-visible { outline: 2px solid var(--focus, var(--accent)); outline-offset: 3px; }
.trv-faq .faq-item > .faq-a { margin-top: 10px; }
/* phones: a touch target of 44 px or more around a one-line question, without moving the text (padding + negative margin) */
@media (max-width: 760px) {
  .trv-faq .faq-item > summary { padding-block: 11px; margin-block: -11px; }
}
@media (prefers-reduced-motion: reduce) {
  .trv-faq .faq-item > summary::after { transition: none; }
}

/* Language banner (engine/assets/lang-banner.js, site.json "i18n": {"autoRedirect": false}; default on the travel sites):
   offers the visitor's browser language, never redirects. Fixed at the bottom: no layout shift; above the sticky buy bar. */
.lang-offer { position: fixed; z-index: 40; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); max-width: 560px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px 10px 12px 16px; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 14px 34px -14px rgb(0 0 0 / .4); font-size: .95rem; line-height: 1.4; }
.lang-offer p { margin: 0; flex: 1 1 200px; }
.lang-offer .btn { flex: none; }
.lang-offer-x { flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; margin-left: auto; border: 0; border-radius: 50%; background: transparent; color: inherit; font: inherit; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.lang-offer-x:hover, .lang-offer-x:focus-visible { background: var(--surface-2); }
@media (max-width: 760px) { body.has-sticky .lang-offer { bottom: calc(82px + env(safe-area-inset-bottom)); } }

/* =====================================================================================================================
   StaySats — "Sunset window" design system (direction d3, modern editorial travel), integrated 2026-10-12 with the
   jury grafts (d2: protection strip under the home search, checks in the top bar, coloured coins in the footer, the
   protection box after the three steps, tabular figures on numbers only; d1: city art in the page head below 1100 px,
   compact two-column destinations on phones, a stronger coral button). Appended after the engine's site.css +
   travel.css, so it overrides them.
   Identity: midnight green (#0F2A27) for the hero, the promise band and the footer; warm white paper and a sage mist for
   the reading surfaces; one sunset coral for actions; apricot only on the dark bands and in the drawings. Display serif
   for headlines: Newsreader (OFL), the family of the logo wordmark, inlined below so every system shows the same
   headlines; Inter for text and figures. Signature: the arched window at dusk (logo, hero, destination postcards, the
   closing panel).

   Rules this file follows
   - 8 px spacing grid (--s-*), one type scale (--fs-*), three radii (--r-sm 10 / --r-md 18 / --r-lg 28 + pills),
     three shadows. No uppercase label, no emoji, no text inside CSS content (the site is translated into 6 languages:
     only numerals and drawn shapes come from CSS).
   - Pictures are original flat SVG drawings inlined below (tools/ill.py): no photo, no third-party image.
   - DOM order never changes (GEO: the quick answer stays the first block); the home hero is rebuilt with CSS order.
   - Never hide indexable text: display:none only targets decorative pseudo-elements, decorative SVG icons and UA
     markers; the header links fold behind Menu from 999 px down (1099 px in the translations; the engine does it under 861 px).
   - WCAG AA: ink 16:1 and body 11:1 on paper, muted 6.1:1 on paper and 5.1:1 on mist-2, coral text 5.8:1 on paper,
     white on the coral button 5.7:1, cream on night 13.3:1, sage on night 8.6:1, apricot on night 7.4:1, form field
     edges 3.5:1. One 2 px focus ring.
   - No sideways overflow by design: no 100vw box anywhere. Full-bleed colour comes from box-shadow / border-image
     outsets (ink overflow, never scrollable) and the engine's clip-path on .band; html and body do not clip.
   - Phones (375 px): no sideways scroll, touch targets of 44 px or more, no text under 15 px (14 px for the price note
     under the home search only). forced-colors handled.
   - Robust hooks first: template classes on body, hrefs, og:url. Where only :has() can tell (city of a page, first
     search of the home), the fallback without :has() is the generic drawing / the plain d3 order.

   1 tokens · 2 base · 3 top bar + header · 4 buttons · 5 page head · 6 home hero · 7 hotel search + postcards
   · 8 panels · 9 tables + badges · 10 steps · 11 trust, cards, stats, ranking, link grid, coins · 12 FAQ, folds,
   sources · 13 call to action · 14 related, about · 15 footer · 16 band, sticky bar · 17 page layouts · 18 404
   · 19 tablets · 20 phones · 21 translations, motion, forced colours
   ===================================================================================================================== */

/* FONT:BEGIN */
/* the display serif, the same family as the logo wordmark: Newsreader, Copyright 2020 The Newsreader Project Authors
   (https://github.com/productiontype/Newsreader), SIL Open Font License 1.1 (https://openfontlicense.org), no Reserved
   Font Name. Instance wght 500-600 (variable), opsz 36; latin + Latin Extended-A subsets (sites/staysats/_work/fonts,
   make-font.py). Inlined so every visitor gets the same headlines from the first paint (no swap, no layout shift);
   the metric-matched Georgia face covers the rare case where it is not used. */
@font-face { font-family: "StaySats Serif"; font-style: normal; font-weight: 500 600; font-display: swap; src: url(/assets/fonts/staysats-serif-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "StaySats Serif"; font-style: normal; font-weight: 500 600; font-display: swap; src: url(/assets/fonts/staysats-serif-latin-ext.woff2) format("woff2"); unicode-range: U+0100-0130, U+0132-0151, U+0154-017F, U+0218-021B, U+1E9E; }
@font-face { font-family: "StaySats Serif Fallback"; src: local("Georgia"); size-adjust: 97.35%; ascent-override: 75.5%; descent-override: 27.22%; line-gap-override: 0%; }
/* FONT:END */

/* ---------------------------------------------------------------------------------------------------- 1. tokens */
/* :root:root outranks the inline :root{} the engine prints from site.json "theme" (same values, kept in sync) */
:root:root {
  /* colour */
  --night: #0F2A27;             /* midnight green: hero, promise band, footer, the logo */
  --night-2: #173833;           /* raised surfaces on night */
  --night-3: #22423C;
  --ink: #10211F;               /* headings, strong text (16:1 on paper) */
  --ink-2: #2E3C39;             /* body copy (11:1 on paper) */
  --muted: #55625F;             /* secondary text (6.1:1 on paper, 5.7:1 on mist, 5.1:1 on mist-2) */
  --paper: #FBFAF6;             /* page */
  --mist: #F1F2EB;              /* tinted sections, panels */
  --mist-2: #E4E8E0;            /* deeper tint: tiles, table heads on mist */
  --line: #E0E3DA;              /* hairlines */
  --line-2: #C6CCC1;            /* chips, ghost buttons, decorative rules */
  --field: #808C86;             /* edges of form controls: 3.5:1 on white (WCAG 1.4.11) */
  --coral: #B83C23;             /* actions: white text on it 5.7:1 (was #C9442A, 4.8:1) */
  --coral-hover: #9C331E;       /* 7.2:1 */
  --coral-ink: #B03A22;         /* coral text on light surfaces (5.8:1 on paper, 5.4:1 on mist) */
  --coral-bright: #E8603C;      /* logo sun, drawn accents, small marks on night */
  --coral-soft: #FCEDE6;        /* our own row, highlighted rows, icon discs */
  --coral-line: #F0C3B3;
  --sun: #F4A259;               /* apricot: headings' accents and figures on night only (7.4:1 there) */
  --on-dark: #F4EFE6;           /* 13.3:1 on night */
  --on-dark-2: #B9C6C0;         /* 8.6:1 on night */
  --dark-line: rgb(244 239 230 / .14);
  --row-hover: #F6F7F1;

  /* type */
  --font-display: "StaySats Serif", "StaySats Serif Fallback", Georgia, serif;
  --font-serif: var(--font-display);
  --fs-13: .8125rem; --fs-14: .875rem; --fs-15: .9375rem; --fs-16: 1rem; --fs-17: 1.0625rem; --fs-18: 1.125rem;
  --fs-20: 1.25rem; --fs-22: 1.375rem; --fs-24: 1.5rem; --fs-28: 1.75rem; --fs-32: 2rem; --fs-40: 2.5rem; --fs-48: 3rem;
  --lh-head: 1.1; --lh-snug: 1.4; --lh-body: 1.65;

  /* spacing: 8 px grid */
  --s-half: 4px; --s-1: 8px; --s-2: 16px; --s-3: 24px; --s-4: 32px; --s-5: 40px; --s-6: 48px; --s-7: 56px; --s-8: 64px;
  --s-10: 80px; --s-12: 96px; --s-15: 120px;
  --section: 112px;             /* rhythm between home sections (72 px on phones) */
  --measure: 720px;             /* reading column */

  /* radii: controls / cards, panels, tables / large panels and postcards / pills */
  --r-sm: 10px; --r-md: 18px; --r-lg: 28px; --r-pill: 999px;

  /* shadows */
  --shadow-sm: 0 1px 2px rgb(15 42 39 / .06), 0 4px 14px -8px rgb(15 42 39 / .14);
  --shadow-md: 0 1px 3px rgb(15 42 39 / .06), 0 22px 44px -24px rgb(15 42 39 / .32);
  --shadow-lg: 0 2px 6px rgb(15 42 39 / .10), 0 40px 80px -30px rgb(8 24 22 / .55);

  --hdr-h: 77px;                /* sticky header (76 px + hairline) */
  --focus: var(--coral);
  --wrap: 1240px;
  --hero-tail: 104px;           /* the dark hero runs this far into the search block, to the middle of the card */

  /* engine variables mapped onto the system */
  --accent: var(--coral); --accent-2: var(--coral-hover); --accent-ink: #fff;
  --bg: var(--paper); --surface: var(--mist); --surface-2: var(--mist-2); --text: var(--ink); --border: var(--line);
  --radius: var(--r-md); --topbar-bg: var(--night); --topbar-ink: var(--on-dark-2); --yes: #2B7049; --no: #B42318;
  --font-head: var(--font-display);

  /* drawn shapes (CSS masks coloured with a background) */
  --i-arch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M0 24V10a10 10 0 0 1 20 0v14z'/%3E%3C/svg%3E");
  --i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  --i-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M5 1h2v4h4v2H7v4H5V7H1V5h4z'/%3E%3C/svg%3E");
  --i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 5h10v2H1z'/%3E%3C/svg%3E");
  --i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2.2 20 5.6v6c0 5-3.4 9.1-8 10.4C7.4 20.7 4 16.6 4 11.6v-6zm4.2 7.1-1.4-1.4-4 4-1.9-1.9-1.4 1.4 3.3 3.3z'/%3E%3C/svg%3E");

  /* illustrations (original drawings, tools/ill.py) */
  --ill-hero: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 560'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%2316393A'/%3E%3Cstop offset='0.3' stop-color='%233F4B5E'/%3E%3Cstop offset='0.52' stop-color='%238E5A5E'/%3E%3Cstop offset='0.7' stop-color='%23D46F55'/%3E%3Cstop offset='0.86' stop-color='%23EA7F57'/%3E%3Cstop offset='1' stop-color='%23F19A60'/%3E%3C/linearGradient%3E%3ClinearGradient id='w' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%235A5560'/%3E%3Cstop offset='0.18' stop-color='%232F3F45'/%3E%3Cstop offset='1' stop-color='%230F2A27'/%3E%3C/linearGradient%3E%3CradialGradient id='g' cx='.5' cy='.72' r='.55'%3E%3Cstop offset='0' stop-color='%23FFD9A0' stop-opacity='.55'/%3E%3Cstop offset='1' stop-color='%23FFD9A0' stop-opacity='0'/%3E%3C/radialGradient%3E%3CclipPath id='c'%3E%3Cpath d='M14 560V220.0A206.0 206.0 0 0 1 426 220.0V560Z'/%3E%3C/clipPath%3E%3C/defs%3E%3Cpath fill='%23F4EFE6' d='M0 560V220.0A220.0 220.0 0 0 1 440 220.0V560Z'/%3E%3Cg clip-path='url(%23c)'%3E%3Crect width='440' height='404' fill='url(%23k)'/%3E%3Crect width='440' height='404' fill='url(%23g)'/%3E%3Cg fill='%23F4EFE6' opacity='0.7'%3E%3Ccircle cx='146' cy='37' r='1.6'/%3E%3Ccircle cx='30.3' cy='165.7' r='0.9'/%3E%3Ccircle cx='163.6' cy='19.1' r='1.6'/%3E%3Ccircle cx='100.2' cy='24.5' r='1.2'/%3E%3Ccircle cx='39.3' cy='25.4' r='1.2'/%3E%3Ccircle cx='34.8' cy='116.6' r='0.9'/%3E%3Ccircle cx='274.9' cy='119.9' r='0.9'/%3E%3Ccircle cx='252.4' cy='84.2' r='0.9'/%3E%3Ccircle cx='29.6' cy='172.8' r='1.2'/%3E%3Ccircle cx='186' cy='111.8' r='1.6'/%3E%3Ccircle cx='139.6' cy='164.7' r='0.9'/%3E%3Ccircle cx='53.3' cy='117.7' r='0.9'/%3E%3Ccircle cx='166.4' cy='113.2' r='0.9'/%3E%3Ccircle cx='247' cy='126.8' r='1.2'/%3E%3Ccircle cx='295.8' cy='90.1' r='1.2'/%3E%3Ccircle cx='205.6' cy='185.3' r='1.2'/%3E%3Ccircle cx='135.9' cy='160.5' r='1.6'/%3E%3Ccircle cx='337.5' cy='23.7' r='1.2'/%3E%3Ccircle cx='230.6' cy='176' r='1.6'/%3E%3Ccircle cx='198.5' cy='124.9' r='0.9'/%3E%3Ccircle cx='59.6' cy='88.3' r='1.2'/%3E%3Ccircle cx='73.8' cy='101.9' r='0.9'/%3E%3Ccircle cx='414' cy='22.9' r='1.6'/%3E%3Ccircle cx='250.7' cy='176.1' r='1.2'/%3E%3Ccircle cx='152.9' cy='75.2' r='1.2'/%3E%3Ccircle cx='253.6' cy='95.6' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M140.6 381.6A80 80 0 1 1 299.4 381.6ZM142.3 391.2H297.7A80 80 0 0 1 294 402.4H146A80 80 0 0 1 142.3 391.2ZM287.3 415.2A80 80 0 0 1 152.7 415.2Z'/%3E%3Cpath fill='%233A3F52' opacity='.85' d='M14 404V318h22v-14h16v22h14v-40h20v40h10v78zM300 404V300h18v-26h6v26h16v30h20v-18h22v92z'/%3E%3Cpath fill='%23173833' d='M14 404V350h20v-22h18v-70h4v-26h3v26h4v70h20v94zM96 404V360q0-24 24-24t24 24v44zM148 404V372h26v32zM278 404V382h20v22zM298 404V284h46v-12h30v12h10v120zM384 404V340h42v64z'/%3E%3Cpath fill='%23F7C17A' d='M307 299.6h3v4h-3zM307 321.8h3v4h-3zM307 355.1h3v4h-3zM307 366.2h3v4h-3zM307 388.4h3v4h-3zM320 299.6h3v4h-3zM320 366.2h3v4h-3zM333 332.9h3v4h-3zM333 366.2h3v4h-3zM333 377.3h3v4h-3zM346 355.1h3v4h-3zM359 310.7h3v4h-3zM359 321.8h3v4h-3zM359 332.9h3v4h-3zM359 377.3h3v4h-3zM372 299.6h3v4h-3zM372 310.7h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M33.5 383h3v4h-3zM33.5 393h3v4h-3zM43.5 393h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M392.2 363h3v4h-3zM392.2 373h3v4h-3zM392.2 393h3v4h-3zM403.5 373h3v4h-3zM414.8 353h3v4h-3zM414.8 363h3v4h-3z'/%3E%3Crect y='404' width='440' height='156' fill='url(%23w)'/%3E%3Cpath fill='%23F7C17A' opacity='.85' d='M176 418h88v5h-88zM188 432h64v5h-64zM200 446h40v4h-40zM210 459h20v3h-20z'/%3E%3Cpath fill='%230F2A27' d='M394.4 560C396.2 479 363 434 370.2 380L374.7 381C368.4 434 400.7 479 401.6 560ZM372 380Q347.7 360.2 317.9 383.7Q344 370.5 372 380ZM372 380Q362.5 356.5 341.9 353.1Q355 362.8 372 380ZM372 380Q376.7 361.5 368.9 344.1Q368.2 362.3 372 380ZM372 380Q389.9 362.4 395.4 348.5Q381.5 357.6 372 380ZM372 380Q401.7 374.4 425.4 381.8Q397.6 364.2 372 380ZM372 380Q348.7 375 327.7 414.8Q350.2 383.4 372 380ZM372 380Q393.1 387.4 416.3 414.8Q394.5 379 372 380Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%23F4EFE6' stroke-width='5'%3E%3Cpath d='M220.0 220.0L398.4 117'/%3E%3Cpath d='M220.0 220.0L323 41.6'/%3E%3Cpath d='M220.0 220.0L220 14'/%3E%3Cpath d='M220.0 220.0L117 41.6'/%3E%3Cpath d='M220.0 220.0L41.6 117'/%3E%3C/g%3E%3Cpath fill='%23F4EFE6' d='M14 217.0h412v7h-412z'/%3E%3Ccircle cx='220.0' cy='220.0' r='14' fill='%23F4EFE6'/%3E%3C/svg%3E");
  --ill-strip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 120' preserveAspectRatio='xMidYMax slice'%3E%3Cpath fill='%232A4A44' d='M0 120V90h56V120zM64 120V53h56V120zM128 120V56h56V120zM192 120V59h56V120zM256 120V62h56V120zM320 120V65h56V120zM384 120V68h56V120zM448 120V71h56V120zM512 120V74h56V120zM576 120V77h56V120zM640 120V80h56V120zM704 120V83h56V120zM768 120V86h56V120zM832 120V89h56V120z'/%3E%3Cpath fill='%23173833' d='M0 120V36h46V120zM54 120V36h58V120zM120 120V86q29.0 -24 58 0V120zM182 120V86h34V120zM216 120V50h58V120zM274 120V86h27.0v-16h4v16h27.0V120zM332 120V74h34V120zM370 120V36h46V120zM420 120V86h46V120zM470 120V36h46V120zM520 120V74h18.0v-16h4v16h18.0V120zM560 120V86h46V120zM606 120V74h28V120zM642 120V20h21.0v-16h4v16h21.0V120zM688 120V74q20.0 -20.0 40 0V120zM732 120V50h12.0v-16h4v16h12.0V120zM760 120V98q14.0 -14.0 28 0V120zM796 120V20h34V120z'/%3E%3Cpath fill='%23F7C17A' d='M6.3 77h3v4h-3zM13.9 47h3v4h-3zM13.9 97h3v4h-3zM21.5 57h3v4h-3zM21.5 107h3v4h-3zM29.1 87h3v4h-3zM36.7 87h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M60.7 57h3v4h-3zM69 97h3v4h-3zM77.3 97h3v4h-3zM77.3 107h3v4h-3zM85.7 57h3v4h-3zM85.7 67h3v4h-3zM85.7 107h3v4h-3zM94 47h3v4h-3zM94 57h3v4h-3zM94 67h3v4h-3zM94 97h3v4h-3zM94 107h3v4h-3zM102.3 97h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M126.7 92h3v4h-3zM135 100h3v4h-3zM143.3 84h3v4h-3zM143.3 92h3v4h-3zM143.3 100h3v4h-3zM151.7 100h3v4h-3zM151.7 108h3v4h-3zM160 84h3v4h-3zM160 92h3v4h-3zM168.3 84h3v4h-3zM168.3 92h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M188.8 102h3v4h-3zM197.5 95.3h3v4h-3zM197.5 102h3v4h-3zM206.2 95.3h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M231 60.7h3v4h-3zM239.3 70h3v4h-3zM247.7 70h3v4h-3zM247.7 79.3h3v4h-3zM247.7 107.3h3v4h-3zM256 60.7h3v4h-3zM256 70h3v4h-3zM264.3 79.3h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M280.7 95.3h3v4h-3zM280.7 108.7h3v4h-3zM289 95.3h3v4h-3zM289 108.7h3v4h-3zM297.3 108.7h3v4h-3zM305.7 108.7h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M338.8 84h3v4h-3zM347.5 92h3v4h-3zM347.5 108h3v4h-3zM356.2 92h3v4h-3zM356.2 100h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M376.3 47h3v4h-3zM376.3 87h3v4h-3zM376.3 107h3v4h-3zM383.9 77h3v4h-3zM391.5 47h3v4h-3zM391.5 67h3v4h-3zM391.5 87h3v4h-3zM399.1 87h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M426.3 95.3h3v4h-3zM426.3 108.7h3v4h-3zM433.9 95.3h3v4h-3zM441.5 95.3h3v4h-3zM441.5 102h3v4h-3zM449.1 95.3h3v4h-3zM449.1 108.7h3v4h-3zM456.7 95.3h3v4h-3zM456.7 108.7h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M476.3 47h3v4h-3zM476.3 57h3v4h-3zM476.3 67h3v4h-3zM483.9 67h3v4h-3zM483.9 77h3v4h-3zM483.9 87h3v4h-3zM483.9 107h3v4h-3zM491.5 47h3v4h-3zM491.5 97h3v4h-3zM491.5 107h3v4h-3zM499.1 107h3v4h-3zM506.7 67h3v4h-3zM506.7 77h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M526.5 92h3v4h-3zM534.5 84h3v4h-3zM542.5 84h3v4h-3zM550.5 92h3v4h-3zM550.5 100h3v4h-3zM550.5 108h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M566.3 102h3v4h-3zM573.9 95.3h3v4h-3zM581.5 102h3v4h-3zM589.1 95.3h3v4h-3zM589.1 102h3v4h-3zM589.1 108.7h3v4h-3zM596.7 102h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M611.8 92h3v4h-3zM618.5 84h3v4h-3zM618.5 100h3v4h-3zM625.2 92h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M648.3 40.3h3v4h-3zM648.3 88.1h3v4h-3zM655.9 107.2h3v4h-3zM663.5 40.3h3v4h-3zM663.5 59.4h3v4h-3zM663.5 97.7h3v4h-3zM663.5 107.2h3v4h-3zM671.1 40.3h3v4h-3zM671.1 49.9h3v4h-3zM671.1 59.4h3v4h-3zM671.1 69h3v4h-3zM671.1 88.1h3v4h-3zM671.1 107.2h3v4h-3zM678.7 40.3h3v4h-3zM678.7 69h3v4h-3zM678.7 97.7h3v4h-3zM678.7 107.2h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M694.5 90h3v4h-3zM694.5 107.6h3v4h-3zM702.5 81.2h3v4h-3zM702.5 90h3v4h-3zM702.5 98.8h3v4h-3zM702.5 107.6h3v4h-3zM710.5 107.6h3v4h-3zM718.5 72.4h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M737.8 98h3v4h-3zM744.5 60.7h3v4h-3zM744.5 98h3v4h-3zM751.2 70h3v4h-3zM751.2 88.7h3v4h-3zM751.2 107.3h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M765.8 95.3h3v4h-3zM765.8 108.7h3v4h-3zM772.5 95.3h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M811.5 107.2h3v4h-3zM820.2 30.8h3v4h-3zM820.2 49.9h3v4h-3zM820.2 59.4h3v4h-3zM820.2 88.1h3v4h-3z'/%3E%3C/svg%3E");
  --ill-mark-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cpath fill='%23F4EFE6' d='M0 40V15A15 15 0 0 1 30 15V40Z'/%3E%3Cpath fill='%23E8603C' d='M5.52 24.94A9.6 9.6 0 1 1 24.48 24.94ZM5.94 26.57H24.06A9.6 9.6 0 0 1 23.2 28.39H6.8A9.6 9.6 0 0 1 5.94 26.57ZM21.24 30.7A9.6 9.6 0 0 1 8.76 30.7Z'/%3E%3C/svg%3E");
  --pc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%233F4B5E'/%3E%3Cstop offset='0.45' stop-color='%23B4605A'/%3E%3Cstop offset='0.75' stop-color='%23EA7F57'/%3E%3Cstop offset='1' stop-color='%23F5B169'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M96.3 87.9A28 28 0 1 1 151.7 87.9ZM97.1 91.8H150.9A28 28 0 0 1 149.4 95.8H98.6A28 28 0 0 1 97.1 91.8ZM146.4 100.8A28 28 0 0 1 101.6 100.8Z'/%3E%3Cpath fill='%23173833' d='M14 196V150h30v46zM48 196V130q22-34 44 0v66zM96 196V96h4v-14h4v14h4v100zM112 196V140h34v56zM150 196V120h22v76zM176 196V156h24v40z'/%3E%3Cpath fill='%23F7C17A' d='M152.2 126.1h3v4h-3zM152.2 134.4h3v4h-3zM152.2 142.6h3v4h-3zM152.2 159.1h3v4h-3zM152.2 167.4h3v4h-3zM152.2 175.6h3v4h-3zM159.5 126.1h3v4h-3zM159.5 150.9h3v4h-3zM166.8 126.1h3v4h-3zM166.8 134.4h3v4h-3zM166.8 159.1h3v4h-3zM166.8 167.4h3v4h-3zM166.8 175.6h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M114.8 146.6h3v4h-3zM114.8 155.8h3v4h-3zM114.8 165h3v4h-3zM123.2 155.8h3v4h-3zM131.8 165h3v4h-3zM131.8 174.2h3v4h-3zM140.2 146.6h3v4h-3zM140.2 155.8h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M102 206h44v3h-44zM110 216h28v3h-28zM117 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-dubai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237A5368'/%3E%3Cstop offset='0.45' stop-color='%23E07A57'/%3E%3Cstop offset='0.8' stop-color='%23F3A562'/%3E%3Cstop offset='1' stop-color='%23F8CB84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M32.3 124.2A30 30 0 1 1 91.7 124.2ZM33.2 128.4H90.8A30 30 0 0 1 89.2 132.6H34.8A30 30 0 0 1 33.2 128.4ZM86 138A30 30 0 0 1 38 138Z'/%3E%3Cpath fill='%23173833' d='M103 196L103 150L108 150L108 116L111.5 116L111.5 86L115 86L115 62L117.5 62L117.5 42L119.8 42L119.8 24L121.2 24L121.2 6L122.8 6L122.8 24L124.2 24L124.2 42L126.5 42L126.5 62L129 62L129 86L132.5 86L132.5 116L136 116L136 150L141 150L141 196ZM150 196V164h14v-10h12v42z'/%3E%3Cpath fill='%23F7C17A' d='M112.5 172h3v4h-3zM112.5 180h3v4h-3zM120.5 172h3v4h-3zM128.5 164h3v4h-3zM128.5 180h3v4h-3z'/%3E%3Cpath fill='%23C9805A' d='M0 182Q40 162 92 184T200 176V240H0z'/%3E%3Cpath fill='%23A9614A' d='M0 204Q60 182 120 200T200 196V240H0z'/%3E%3C/svg%3E");
  --pc-bangkok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4560'/%3E%3Cstop offset='0.5' stop-color='%23C0656A'/%3E%3Cstop offset='0.8' stop-color='%23EE8B60'/%3E%3Cstop offset='1' stop-color='%23F7C07A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M70.3 86.2A30 30 0 1 1 129.7 86.2ZM71.2 90.4H128.8A30 30 0 0 1 127.2 94.6H72.8A30 30 0 0 1 71.2 90.4ZM124 100A30 30 0 0 1 76 100Z'/%3E%3Cpath fill='%23173833' d='M60 196L60 188L67 188L67 178L73 178L73 168L79 168L80 168L83.6 163L82 162L81.6 158L84.9 153L83.5 152L83.3 148L86.3 143L84.9 142L85 138L87.7 133L86.5 132L86.7 128L89.1 123L88 122L88.5 118L90.6 113L89.7 112L90.4 108L92.1 103L91.4 102L92.4 98L93.7 93L93.1 92L94.5 88L95.5 83L95 82L97.8 71L99 71L99 46L99.6 46L100.4 46L101 46L101 71L102.2 71L105 82L104.5 83L105.5 88L106.9 92L106.3 93L107.6 98L108.6 102L107.9 103L109.6 108L110.3 112L109.4 113L111.5 118L112 122L110.9 123L113.3 128L113.5 132L112.3 133L115 138L115.1 142L113.7 143L116.7 148L116.5 152L115.1 153L118.4 158L118 162L116.4 163L120 168L121 168L127 168L127 178L133 178L133 188L140 188L140 196ZM16 196L16 191.6L19.8 191.6L19.8 186.1L23.1 186.1L23.1 180.6L26.4 180.6L27 180.6L29 177.8L28.1 177.3L27.9 175.1L29.7 172.3L28.9 171.8L28.8 169.6L30.5 166.8L29.7 166.3L29.7 164.1L31.2 161.3L30.6 160.8L30.7 158.6L32 155.8L31.4 155.3L31.7 153.1L32.8 150.3L32.3 149.8L32.7 147.6L33.7 144.8L33.2 144.3L33.8 142.1L34.6 139.3L34.2 138.8L35 136.6L35.5 133.8L35.3 133.3L36.8 127.2L37.5 127.2L37.5 113.5L37.8 113.5L38.2 113.5L38.5 113.5L38.5 127.2L39.2 127.2L40.7 133.3L40.5 133.8L41 136.6L41.8 138.8L41.4 139.3L42.2 142.1L42.8 144.3L42.3 144.8L43.3 147.6L43.7 149.8L43.2 150.3L44.3 153.1L44.6 155.3L44 155.8L45.3 158.6L45.4 160.8L44.8 161.3L46.3 164.1L46.3 166.3L45.5 166.8L47.2 169.6L47.1 171.8L46.3 172.3L48.1 175.1L47.9 177.3L47 177.8L49 180.6L49.5 180.6L52.9 180.6L52.9 186.1L56.2 186.1L56.2 191.6L60 191.6L60 196ZM140 196L140 191.6L143.8 191.6L143.8 186.1L147.2 186.1L147.2 180.6L150.4 180.6L151 180.6L153 177.8L152.1 177.3L151.9 175.1L153.7 172.3L152.9 171.8L152.8 169.6L154.5 166.8L153.7 166.3L153.7 164.1L155.2 161.3L154.6 160.8L154.7 158.6L156 155.8L155.4 155.3L155.7 153.1L156.8 150.3L156.3 149.8L156.7 147.6L157.7 144.8L157.2 144.3L157.8 142.1L158.6 139.3L158.2 138.8L159 136.6L159.5 133.8L159.3 133.3L160.8 127.2L161.4 127.2L161.4 113.5L161.8 113.5L162.2 113.5L162.6 113.5L162.6 127.2L163.2 127.2L164.7 133.3L164.5 133.8L165 136.6L165.8 138.8L165.4 139.3L166.2 142.1L166.8 144.3L166.3 144.8L167.3 147.6L167.7 149.8L167.2 150.3L168.3 153.1L168.6 155.3L168 155.8L169.3 158.6L169.4 160.8L168.8 161.3L170.3 164.1L170.3 166.3L169.5 166.8L171.2 169.6L171.1 171.8L170.3 172.3L172.1 175.1L171.9 177.3L171 177.8L173 180.6L173.6 180.6L176.8 180.6L176.8 186.1L180.2 186.1L180.2 191.6L184 191.6L184 196Z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M78 206h44v3h-44zM86 216h28v3h-28zM93 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-tokyo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%231D3E40'/%3E%3Cstop offset='0.5' stop-color='%235C5A6E'/%3E%3Cstop offset='0.8' stop-color='%23D3735A'/%3E%3Cstop offset='1' stop-color='%23F1A266'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='122.1' cy='68.8' r='1.6'/%3E%3Ccircle cx='179.6' cy='68.7' r='1.6'/%3E%3Ccircle cx='15.2' cy='46.2' r='0.9'/%3E%3Ccircle cx='126.8' cy='81.9' r='0.9'/%3E%3Ccircle cx='76.9' cy='79.2' r='1.2'/%3E%3Ccircle cx='107.9' cy='55.1' r='0.9'/%3E%3Ccircle cx='141.6' cy='41.5' r='0.9'/%3E%3Ccircle cx='174.9' cy='70.8' r='0.9'/%3E%3Ccircle cx='147.1' cy='13.9' r='1.6'/%3E%3Ccircle cx='121.1' cy='18.4' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M124.3 69.6A26 26 0 1 1 175.7 69.6ZM125 73.3H175A26 26 0 0 1 173.6 76.9H126.4A26 26 0 0 1 125 73.3ZM170.8 81.6A26 26 0 0 1 129.2 81.6Z'/%3E%3Cpath fill='%236E5A6C' d='M96 196L150 104q8-6 16 0L224 196z'/%3E%3Cpath fill='%23F4EFE6' d='M150 104q8-6 16 0l14 16-8-3-6 6-7-6-7 6-6-6-10 4z'/%3E%3Cpath fill='%230F2A27' d='M124 196V176h20v-12h16v32zM0 196V180h22v16z'/%3E%3Cpath fill='%23F7C17A' d='M127.5 180h3v4h-3zM127.5 188h3v4h-3zM133.5 180h3v4h-3zM133.5 188h3v4h-3zM139.5 180h3v4h-3zM139.5 188h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M148 167.5h3v4h-3zM148 181.5h3v4h-3zM155 167.5h3v4h-3zM155 174.5h3v4h-3zM155 188.5h3v4h-3z'/%3E%3Cpath fill='%23E8603C' fill-rule='evenodd' d='M44.0 196.0L51.3 187.0L57.4 178.0L62.3 169.0L65.9 160.0L102.1 160.0L105.7 169.0L110.6 178.0L116.7 187.0L124.0 196.0ZM68.0 152.0L68.4 149.5L68.7 147.0L68.9 144.5L69.0 142.0L99.0 142.0L99.1 144.5L99.3 147.0L99.6 149.5L100.0 152.0ZM71.6 126.0L72.5 122.0L73.4 118.0L74.3 114.0L75.1 110.0L92.9 110.0L93.7 114.0L94.6 118.0L95.5 122.0L96.4 126.0ZM76.5 102.0L77.0 99.0L77.5 96.0L77.9 93.0L78.2 90.0L89.8 90.0L90.1 93.0L90.5 96.0L91.0 99.0L91.5 102.0ZM80.1 70.0L80.3 67.0L80.6 64.0L80.8 61.0L81.1 58.0L86.9 58.0L87.2 61.0L87.4 64.0L87.7 67.0L87.9 70.0ZM78.9 84.0L79.0 82.5L79.1 81.0L79.2 79.5L79.2 78.0L88.8 78.0L88.8 79.5L88.9 81.0L89.0 82.5L89.1 84.0ZM59 196Q84 146 109 196Z'/%3E%3Cpath fill='%23F4EFE6' d='M65.9 160.0L66.5 158.0L67.1 156.0L67.6 154.0L68.0 152.0L100.0 152.0L100.4 154.0L100.9 156.0L101.5 158.0L102.1 160.0ZM75.1 110.0L75.4 108.0L75.8 106.0L76.2 104.0L76.5 102.0L91.5 102.0L91.8 104.0L92.2 106.0L92.6 108.0L92.9 110.0ZM78.2 90.0L78.4 88.5L78.6 87.0L78.7 85.5L78.9 84.0L89.1 84.0L89.3 85.5L89.4 87.0L89.6 88.5L89.8 90.0ZM81.1 58.0L81.2 56.5L81.3 55.0L81.5 53.5L81.6 52.0L86.4 52.0L86.5 53.5L86.7 55.0L86.8 56.5L86.9 58.0Z'/%3E%3Cpath fill='none' stroke='%23B9472C' stroke-width='1' d='M47 196L58.9 178M121 196L109.1 178M60.4 178L67.4 160M107.6 178L100.6 160'/%3E%3Cpath fill='%23F4EFE6' d='M82.8 52V16h2.4V52Z'/%3E%3Cpath fill='%23E8603C' d='M82.8 16V9.5h2.4V16Z'/%3E%3Cpath fill='%23173833' d='M65 142V131l2-5h34l2 5V142ZM75.5 78V72l1.5-2h14l1.5 2V78Z'/%3E%3Cpath fill='%23F7C17A' d='M68 134h32v2.6h-32zM70 129.2h28v2h-28zM78 73.2h12v2.2h-12z'/%3E%3Cpath fill='%230F2A27' d='M54 196V184h60v12Z'/%3E%3Cpath fill='%23F7C17A' d='M58 188h3v4h-3zM65.5 188h3v4h-3zM73 188h3v4h-3zM80.5 188h3v4h-3zM88 188h3v4h-3zM95.5 188h3v4h-3zM103 188h3v4h-3zM110.5 188h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3C/svg%3E");
  --pc-london: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%232A4550'/%3E%3Cstop offset='0.5' stop-color='%236E6273'/%3E%3Cstop offset='0.82' stop-color='%23DD8A62'/%3E%3Cstop offset='1' stop-color='%23F2B672'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M30.3 104.2A30 30 0 1 1 89.7 104.2ZM31.2 108.4H88.8A30 30 0 0 1 87.2 112.6H32.8A30 30 0 0 1 31.2 108.4ZM84 118A30 30 0 0 1 36 118Z'/%3E%3Cpath fill='%23173833' d='M129 196L129 74L126.5 74L126.5 46L130 46L130 40L136.8 16L138.8 16L138.8 4L139.6 0L140.4 0L141.2 4L141.2 16L143.2 16L150 40L150 46L153.5 46L153.5 74L151 74L151 196ZM0 196V150h8v-10h3v10h22v-6h3v6h26v-12h3v12h20v16h44v32z'/%3E%3Ccircle cx='140' cy='60' r='7.5' fill='%23F4EFE6'/%3E%3Cpath stroke='%230F2A27' stroke-width='1.4' stroke-linecap='round' d='M140 60V55.5M140 60l3 2'/%3E%3Cpath fill='%23F7C17A' d='M17.8 170h3v4h-3zM26.7 158h3v4h-3zM44.5 158h3v4h-3zM53.4 158h3v4h-3zM62.3 170h3v4h-3zM80.1 158h3v4h-3z'/%3E%3Cpath fill='%230F2A27' d='M0 190H200V200H0z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M38 206h44v3h-44zM46 216h28v3h-28zM53 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-paris: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4A66'/%3E%3Cstop offset='0.5' stop-color='%23A0687A'/%3E%3Cstop offset='0.8' stop-color='%23EC9068'/%3E%3Cstop offset='1' stop-color='%23F7C385'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M24.3 95.9A28 28 0 1 1 79.7 95.9ZM25.1 99.8H78.9A28 28 0 0 1 77.4 103.8H26.6A28 28 0 0 1 25.1 99.8ZM74.4 108.8A28 28 0 0 1 29.6 108.8Z'/%3E%3Cpath fill='%23173833' fill-rule='evenodd' d='M62 196L70 180L78 162L84 146L88 134L81 134L81 127L92 127L94.5 110L97 96L99 87L95 87L95 82L100.5 82L102.5 64L104.2 48L105.7 34L106.4 30L104.5 30L104.5 25L107.4 25L108 14L109.3 14L109.3 0L110.7 0L110.7 14L112 14L112.6 25L115.5 25L115.5 30L113.6 30L114.3 34L115.8 48L117.5 64L119.5 82L125 82L125 87L121 87L123 96L125.5 110L128 127L139 127L139 134L132 134L136 146L142 162L150 180L158 196ZM80 196Q110 150 140 196Z'/%3E%3Cpath fill='%230F2A27' d='M0 196V178h18v-8h22v26zM164 196V172h18v-6h18v30z'/%3E%3Cpath fill='%23F7C17A' d='M5 186h3v4h-3zM14 186h3v4h-3zM23 186h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M192.5 176.5h3v4h-3zM192.5 185.5h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3C/svg%3E");
  --pc-lisbon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%233F4B5E'/%3E%3Cstop offset='0.45' stop-color='%23B4605A'/%3E%3Cstop offset='0.75' stop-color='%23EA7F57'/%3E%3Cstop offset='1' stop-color='%23F5B169'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M124.3 73.6A26 26 0 1 1 175.7 73.6ZM125 77.3H175A26 26 0 0 1 173.6 80.9H126.4A26 26 0 0 1 125 77.3ZM170.8 85.6A26 26 0 0 1 129.2 85.6Z'/%3E%3Cpath fill='%2322423C' d='M0 206V142l17.0 -10l17.0 10V206zM34 200V126l15.0 -10l15.0 10V200zM64 194V134l17.0 -10l17.0 10V194zM98 188V110l15.0 -10l15.0 10V188zM128 182V120l18.0 -10l18.0 10V182zM164 176V106l18.0 -10l18.0 10V176z'/%3E%3Cpath fill='%23F7C17A' d='M22.9 144.7h3v4h-3zM22.9 158h3v4h-3zM36.4 144.7h3v4h-3zM63.6 144.7h3v4h-3zM63.6 171.3h3v4h-3zM77.1 158h3v4h-3zM90.7 144.7h3v4h-3zM104.3 171.3h3v4h-3zM117.9 144.7h3v4h-3zM131.4 144.7h3v4h-3zM145 144.7h3v4h-3zM145 171.3h3v4h-3zM158.6 171.3h3v4h-3zM172.1 158h3v4h-3zM172.1 171.3h3v4h-3z'/%3E%3Cpath fill='%230F2A27' d='M0 200L200 180V240H0z'/%3E%3Cpath fill='%23F2B04E' d='M44 186V138q0-8 8-8h88q8 0 8 8v48z'/%3E%3Cpath fill='%23173833' d='M54 140h16v18h-16zM76 140h16v18h-16zM98 140h16v18h-16zM120 140h18v18h-18zM44 166h104v4h-104z'/%3E%3Cpath fill='%23D9822F' d='M48 128h96v4h-96z'/%3E%3Cpath stroke='%23173833' stroke-width='2' fill='none' d='M96 128l-14-18h28'/%3E%3Ccircle cx='66' cy='190' r='6' fill='%230F2A27'/%3E%3Ccircle cx='126' cy='190' r='6' fill='%230F2A27'/%3E%3C/svg%3E");
  --pc-bali: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237A5368'/%3E%3Cstop offset='0.45' stop-color='%23E07A57'/%3E%3Cstop offset='0.8' stop-color='%23F3A562'/%3E%3Cstop offset='1' stop-color='%23F8CB84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M74.3 121.6A26 26 0 1 1 125.7 121.6ZM75 125.3H125A26 26 0 0 1 123.6 128.9H76.4A26 26 0 0 1 75 125.3ZM120.8 133.6A26 26 0 0 1 79.2 133.6Z'/%3E%3Cpath fill='%2322423C' d='M11.5 240C12.8 186 15.8 156 20.8 120L23.9 121C19.5 156 15.9 186 16.5 240ZM22 120Q5.3 106.4 -15.3 122.5Q2.7 113.4 22 120ZM22 120Q15.4 103.8 1.3 101.5Q10.3 108.1 22 120ZM22 120Q25.2 107.3 19.8 95.3Q19.4 107.8 22 120ZM22 120Q34.4 107.9 38.1 98.3Q28.6 104.6 22 120ZM22 120Q42.5 116.1 58.8 121.3Q39.7 109.1 22 120ZM22 120Q6 116.6 -8.5 144Q7 122.3 22 120ZM22 120Q36.5 125.1 52.5 144Q37.5 119.3 22 120Z'/%3E%3Cpath fill='%2322423C' d='M185.5 240C186.8 182.4 171.8 150.4 176.8 112L179.9 113C175.5 150.4 189.9 182.4 190.5 240ZM178 112Q161.3 98.4 140.7 114.5Q158.7 105.4 178 112ZM178 112Q171.4 95.8 157.3 93.5Q166.3 100.1 178 112ZM178 112Q181.2 99.3 175.8 87.3Q175.4 99.8 178 112ZM178 112Q190.4 99.9 194.1 90.3Q184.6 96.6 178 112ZM178 112Q198.5 108.1 214.8 113.3Q195.7 101.1 178 112ZM178 112Q162 108.6 147.5 136Q163 114.3 178 112ZM178 112Q192.5 117.1 208.5 136Q193.5 111.3 178 112Z'/%3E%3Cpath fill='%23173833' d='M88 196L44 196L44 180L48 180L48 164L52 164L52 148L56 148L56 135L60.5 135L60.5 122L65 122L65 109L69.5 109L69.5 96L74 96L74 83L78.5 83L78.5 70L83 70L84 56L88 52ZM112 196L156 196L156 180L152 180L152 164L148 164L148 148L144 148L144 135L139.5 135L139.5 122L135 122L135 109L130.5 109L130.5 96L126 96L126 83L121.5 83L121.5 70L117 70L116 56L112 52Z'/%3E%3Cpath fill='%230F2A27' d='M70 196h60v-6h-60z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3C/svg%3E");
  --pc-new-york: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%231D3E40'/%3E%3Cstop offset='0.5' stop-color='%235C5A6E'/%3E%3Cstop offset='0.8' stop-color='%23D3735A'/%3E%3Cstop offset='1' stop-color='%23F1A266'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='50.8' cy='86.9' r='0.9'/%3E%3Ccircle cx='44.8' cy='11.6' r='0.9'/%3E%3Ccircle cx='54.5' cy='89.9' r='0.9'/%3E%3Ccircle cx='82.1' cy='10.5' r='1.2'/%3E%3Ccircle cx='91.6' cy='48.6' r='0.9'/%3E%3Ccircle cx='171.5' cy='41' r='1.2'/%3E%3Ccircle cx='52.2' cy='9.6' r='1.2'/%3E%3Ccircle cx='103.6' cy='46.9' r='1.2'/%3E%3Ccircle cx='140.7' cy='62.4' r='0.9'/%3E%3Ccircle cx='188.5' cy='13.2' r='1.6'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M76.3 99.9A28 28 0 1 1 131.7 99.9ZM77.1 103.8H130.9A28 28 0 0 1 129.4 107.8H78.6A28 28 0 0 1 77.1 103.8ZM126.4 112.8A28 28 0 0 1 81.6 112.8Z'/%3E%3Cpath fill='%2322423C' d='M0 196V140h22v56zM24 196V158h26v38zM90 196V150h28v46zM146 196V128h22v68zM170 196V146h30v50z'/%3E%3Cpath fill='%23173833' d='M54 196L54 116L57.5 116L57.5 92L61 92L61 74L64.5 74L64.5 62L67 62L68 44L69.3 44L69.3 22L70.7 22L70.7 44L72 44L73 62L75.5 62L75.5 74L79 74L79 92L82.5 92L82.5 116L86 116L86 196ZM120 196L120 104L122 104L123 96L124.5 89L126 82L127.5 76L129 70L130.2 62L131.4 40L132.6 40L133.8 62L135 70L136.5 76L138 82L139.5 89L141 96L142 104L144 104L144 196Z'/%3E%3Cpath fill='%23F7C17A' d='M58 121.9h3v4h-3zM58 153h3v4h-3zM65 121.9h3v4h-3zM65 129.7h3v4h-3zM65 137.4h3v4h-3zM65 153h3v4h-3zM65 168.6h3v4h-3zM65 176.3h3v4h-3zM65 184.1h3v4h-3zM72 153h3v4h-3zM72 160.8h3v4h-3zM72 176.3h3v4h-3zM79 121.9h3v4h-3zM79 129.7h3v4h-3zM79 145.2h3v4h-3zM79 176.3h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M123.8 118h3v4h-3zM123.8 126h3v4h-3zM123.8 142h3v4h-3zM123.8 150h3v4h-3zM123.8 166h3v4h-3zM123.8 182h3v4h-3zM130.5 118h3v4h-3zM130.5 166h3v4h-3zM137.2 110h3v4h-3zM137.2 118h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M151 156.2h3v4h-3zM151 186.2h3v4h-3zM160 133.8h3v4h-3zM160 148.8h3v4h-3zM160 163.8h3v4h-3zM160 171.2h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M174.8 168h3v4h-3zM174.8 184h3v4h-3zM183.5 160h3v4h-3zM183.5 176h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M82 206h44v3h-44zM90 216h28v3h-28zM97 226h14v2h-14z'/%3E%3C/svg%3E");
  /* page-head drawings per template (original, .tmp/integ/art/make-art.mjs): pricing, data pages, hubs, guides, FAQ,
     comparisons, rankings, and a line-drawn arch for legal pages */
  --art-pricing: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%232A4550'/%3E%3Cstop offset='0.45' stop-color='%236E6273'/%3E%3Cstop offset='0.78' stop-color='%23DD8A62'/%3E%3Cstop offset='1' stop-color='%23F2B672'/%3E%3C/linearGradient%3E%3ClinearGradient id='w' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234E5664'/%3E%3Cstop offset='0.25' stop-color='%232C4146'/%3E%3Cstop offset='1' stop-color='%230F2A27'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='10.0' cy='35.7' r='0.9'/%3E%3Ccircle cx='66.1' cy='10.8' r='1.2'/%3E%3Ccircle cx='164.9' cy='33.3' r='1.6'/%3E%3Ccircle cx='103.1' cy='37.0' r='0.9'/%3E%3Ccircle cx='95.0' cy='25.5' r='1.2'/%3E%3Ccircle cx='49.3' cy='52.2' r='1.6'/%3E%3Ccircle cx='35.3' cy='31.6' r='0.9'/%3E%3Ccircle cx='115.9' cy='59.3' r='1.2'/%3E%3C/g%3E%3Ccircle cx='100' cy='138' r='44' fill='%23FFE2A6' opacity='.18'/%3E%3Ccircle cx='100' cy='138' r='34' fill='%23FFE2A6'/%3E%3Ccircle cx='100' cy='138' r='26' fill='none' stroke='%23EFB06B' stroke-width='2.5'/%3E%3Crect y='150' width='200' height='90' fill='url(%23w)'/%3E%3Cpath fill='%23F7C17A' opacity='0.85' d='M62 160h76v4h-76zM72 171h56v4h-56zM82 182h36v3h-36zM90 192h20v3h-20zM95 201h10v2h-10z'/%3E%3Cpath fill='%230F2A27' d='M0 196h78v6H0zM10 202h4v38h-4zM40 202h4v38h-4zM70 202h4v38h-4zM58 160h3v36h-3z'/%3E%3Crect x='54' y='154' width='11' height='9' rx='2' fill='%230F2A27'/%3E%3Crect x='56.5' y='156' width='6' height='5' fill='%23FFE2A6'/%3E%3Ccircle cx='59.5' cy='158.5' r='12' fill='%23FFE2A6' opacity='.18'/%3E%3Cpath fill='%23173833' d='M150 150q22-14 50-8v8z'/%3E%3C/svg%3E");
  --art-report: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%231D3E40'/%3E%3Cstop offset='0.5' stop-color='%235C5A6E'/%3E%3Cstop offset='0.82' stop-color='%23D3735A'/%3E%3Cstop offset='1' stop-color='%23F1A266'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.6'%3E%3Ccircle cx='8.0' cy='8.1' r='0.9'/%3E%3Ccircle cx='77.7' cy='52.1' r='1.2'/%3E%3Ccircle cx='54.7' cy='9.0' r='1.6'/%3E%3Ccircle cx='23.1' cy='57.6' r='0.9'/%3E%3Ccircle cx='122.8' cy='47.8' r='1.2'/%3E%3Ccircle cx='159.0' cy='85.5' r='1.6'/%3E%3Ccircle cx='28.6' cy='72.8' r='0.9'/%3E%3Ccircle cx='50.2' cy='21.4' r='1.2'/%3E%3Ccircle cx='88.3' cy='20.9' r='1.6'/%3E%3Ccircle cx='158.6' cy='51.1' r='0.9'/%3E%3Ccircle cx='118.8' cy='72.8' r='1.2'/%3E%3Ccircle cx='108.5' cy='39.6' r='1.6'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M26.3 95.5A22 22 0 1 1 69.7 95.5ZM27.2 99.3H68.8A22 22 0 0 1 66.8 103.4H29.2A22 22 0 0 1 27.2 99.3ZM62.3 108.7A22 22 0 0 1 33.7 108.7Z'/%3E%3Cpath fill='%23173833' d='M16 206V168h30V206zM50 206V148h30V206zM84 206V124h30V206zM118 206V100h30V206zM152 206V74h30V206z'/%3E%3Cpath fill='%23F7C17A' d='M23 176h4v5h-4zM34 176h4v5h-4zM23 186h4v5h-4zM34 186h4v5h-4zM34 196h4v5h-4zM68 156h4v5h-4zM57 166h4v5h-4zM68 166h4v5h-4zM68 176h4v5h-4zM68 186h4v5h-4zM68 196h4v5h-4zM102 142h4v5h-4zM91 162h4v5h-4zM102 162h4v5h-4zM91 172h4v5h-4zM102 172h4v5h-4zM91 192h4v5h-4zM102 192h4v5h-4zM125 108h4v5h-4zM125 118h4v5h-4zM136 128h4v5h-4zM136 148h4v5h-4zM136 158h4v5h-4zM125 168h4v5h-4zM136 168h4v5h-4zM125 188h4v5h-4zM159 82h4v5h-4zM170 82h4v5h-4zM159 92h4v5h-4zM170 102h4v5h-4zM159 112h4v5h-4zM159 122h4v5h-4zM159 132h4v5h-4zM170 142h4v5h-4zM170 162h4v5h-4zM159 172h4v5h-4zM170 172h4v5h-4zM159 182h4v5h-4zM170 192h4v5h-4z'/%3E%3Cpath fill='%232E4A44' d='M23 196h4v5h-4zM57 156h4v5h-4zM57 176h4v5h-4zM57 186h4v5h-4zM57 196h4v5h-4zM91 132h4v5h-4zM102 132h4v5h-4zM91 142h4v5h-4zM91 152h4v5h-4zM102 152h4v5h-4zM91 182h4v5h-4zM102 182h4v5h-4zM136 108h4v5h-4zM136 118h4v5h-4zM125 128h4v5h-4zM125 138h4v5h-4zM136 138h4v5h-4zM125 148h4v5h-4zM125 158h4v5h-4zM125 178h4v5h-4zM136 178h4v5h-4zM136 188h4v5h-4zM170 92h4v5h-4zM159 102h4v5h-4zM170 112h4v5h-4zM170 122h4v5h-4zM170 132h4v5h-4zM159 142h4v5h-4zM159 152h4v5h-4zM170 152h4v5h-4zM159 162h4v5h-4zM170 182h4v5h-4zM159 192h4v5h-4z'/%3E%3Cpath fill='none' stroke='%23F4EFE6' stroke-width='1.6' stroke-dasharray='3 4' stroke-linecap='round' opacity='.75' d='M31 156L65 136L99 112L133 88L167 62'/%3E%3Ccircle cx='31' cy='156' r='3.2' fill='%23FFE2A6'/%3E%3Ccircle cx='65' cy='136' r='3.2' fill='%23FFE2A6'/%3E%3Ccircle cx='99' cy='112' r='3.2' fill='%23FFE2A6'/%3E%3Ccircle cx='133' cy='88' r='3.2' fill='%23FFE2A6'/%3E%3Ccircle cx='167' cy='62' r='3.2' fill='%23FFE2A6'/%3E%3Crect y='206' width='200' height='34' fill='%230F2A27'/%3E%3C/svg%3E");
  --art-hub: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4560'/%3E%3Cstop offset='0.5' stop-color='%23C0656A'/%3E%3Cstop offset='0.82' stop-color='%23EE8B60'/%3E%3Cstop offset='1' stop-color='%23F7C07A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.5'%3E%3Ccircle cx='10.0' cy='42.2' r='0.9'/%3E%3Ccircle cx='150.0' cy='23.2' r='1.2'/%3E%3Ccircle cx='129.5' cy='12.9' r='1.6'/%3E%3Ccircle cx='52.3' cy='28.5' r='0.9'/%3E%3Ccircle cx='81.4' cy='43.0' r='1.2'/%3E%3Ccircle cx='175.2' cy='39.0' r='1.6'/%3E%3Ccircle cx='37.9' cy='17.0' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M130.3 73.2A20 20 0 1 1 169.7 73.2ZM131.1 76.6H168.9A20 20 0 0 1 167.1 80.4H132.9A20 20 0 0 1 131.1 76.6ZM163.0 85.2A20 20 0 0 1 137.0 85.2Z'/%3E%3Cpath fill='%2322423C' d='M30 210V92h140v118z'/%3E%3Cpath fill='%23173833' d='M24 84h152v10H24zM30 94h140v4H30zM84 66h32v18H84z'/%3E%3Cpath fill='none' stroke='%23F4EFE6' stroke-width='1.4' d='M100 66V50'/%3E%3Cpath fill='%23E8603C' d='M100.7 50h14l-4 4.5 4 4.5h-14z'/%3E%3Cpath fill='%23F7C17A' d='M42 126v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%230F2A27' d='M67 126v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23F7C17A' d='M92 126v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%230F2A27' d='M117 126v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23F7C17A' d='M142 126v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23F7C17A' d='M42 154v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%230F2A27' d='M67 154v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23F7C17A' d='M92 154v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%230F2A27' d='M117 154v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23F7C17A' d='M142 154v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23F7C17A' d='M42 182v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%230F2A27' d='M67 182v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%230F2A27' d='M117 182v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23F7C17A' d='M142 182v-12a7 7 0 0 1 14 0v12z'/%3E%3Cpath fill='%23FFD39A' d='M88 210v-22a12 12 0 0 1 24 0v22z'/%3E%3Cpath fill='%23E9A15E' d='M99 186h2v24h-2z'/%3E%3Cpath fill='%23E8603C' d='M82 178h36l5 6H77z'/%3E%3Crect y='210' width='200' height='30' fill='%230F2A27'/%3E%3Cpath fill='%230F2A27' d='M18 210v-30h3v30zM179 210v-30h3v30z'/%3E%3Ccircle cx='19.5' cy='178' r='4' fill='%23FFE2A6'/%3E%3Ccircle cx='180.5' cy='178' r='4' fill='%23FFE2A6'/%3E%3Cpath fill='%23173833' d='M0 210v-40h14v40zM186 210v-52h14v52z'/%3E%3C/svg%3E");
  --art-guide: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%233F4B5E'/%3E%3Cstop offset='0.6' stop-color='%23B4605A'/%3E%3Cstop offset='1' stop-color='%23EA7F57'/%3E%3C/linearGradient%3E%3ClinearGradient id='l' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23FFE2A6'/%3E%3Cstop offset='0.55' stop-color='%23F7B871'/%3E%3Cstop offset='1' stop-color='%23EE8E57'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='10.0' cy='19.4' r='0.9'/%3E%3Ccircle cx='58.0' cy='18.8' r='1.2'/%3E%3Ccircle cx='117.7' cy='28.3' r='1.6'/%3E%3Ccircle cx='35.4' cy='7.2' r='0.9'/%3E%3Ccircle cx='16.8' cy='33.3' r='1.2'/%3E%3Ccircle cx='37.1' cy='25.0' r='1.6'/%3E%3C/g%3E%3Cpath fill='%2322423C' d='M0 52h200v188H0z'/%3E%3Cpath fill='%23173833' d='M0 46h200v8H0z'/%3E%3Cpath fill='%232E4A44' d='M52 214V100a48 48 0 0 1 96 0v114z'/%3E%3Cpath fill='url(%23l)' d='M60 214V100a40 40 0 0 1 80 0v114z'/%3E%3Cpath fill='%230F2A27' d='M140 100l20-10v128l-20-4z'/%3E%3Ccircle cx='145' cy='160' r='2' fill='%23F4A259'/%3E%3Cpath fill='none' stroke='%23C9784A' stroke-width='1.4' d='M100 60v52'/%3E%3Cpath fill='%23C9784A' d='M90 122a10 10 0 0 1 20 0z'/%3E%3Ccircle cx='100' cy='126' r='16' fill='%23FFF1CF' opacity='.45'/%3E%3Cpath fill='%23E9935A' opacity='.6' d='M60 196h80v18H60z'/%3E%3Cpath fill='%232E4A44' d='M46 214h108v7H46zM38 221h124v7H38z'/%3E%3Crect y='228' width='200' height='12' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.3' d='M60 214h80l14 7H46zM46 221h108l8 7H38z'/%3E%3Ccircle cx='30' cy='124' r='18' fill='%23FFD9A0' opacity='.22'/%3E%3Cpath fill='%230F2A27' d='M24 110h12l-2 4h-8zM26 114h8v18h-8zM24 132h12v3H24zM29 100h2v10h-2z'/%3E%3Crect x='27.5' y='116' width='5' height='13' fill='%23FFE2A6'/%3E%3Cpath fill='%230F2A27' d='M166 214l3-18h18l3 18z'/%3E%3Cpath fill='%23173833' d='M178 196c-14-6-16-20-10-30 4 10 8 16 10 30zM178 196c2-16 8-26 18-30-2 12-8 22-18 30zM178 196c-4-16-2-30 4-38 4 12 2 26-4 38z'/%3E%3C/svg%3E");
  --art-faq: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%232A4550'/%3E%3Cstop offset='0.5' stop-color='%236E6273'/%3E%3Cstop offset='0.85' stop-color='%23DD8A62'/%3E%3Cstop offset='1' stop-color='%23F2B672'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23FBD08A'/%3E%3Cstop offset='1' stop-color='%23E79A4E'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='%231B3934'/%3E%3Cpath fill='%232E4A44' d='M34 176V96a66 66 0 0 1 132 0v80z'/%3E%3Cpath fill='url(%23k)' d='M40 176V96a60 60 0 0 1 120 0v80z'/%3E%3Cg fill='%23F4EFE6' opacity='0.6'%3E%3Ccircle cx='50.0' cy='56.1' r='0.9'/%3E%3Ccircle cx='130.0' cy='52.4' r='1.2'/%3E%3Ccircle cx='129.5' cy='108.1' r='1.6'/%3E%3Ccircle cx='92.3' cy='51.2' r='0.9'/%3E%3Ccircle cx='61.4' cy='71.2' r='1.2'/%3E%3Ccircle cx='95.2' cy='88.5' r='1.6'/%3E%3Ccircle cx='97.9' cy='64.5' r='0.9'/%3E%3Ccircle cx='98.1' cy='94.6' r='1.2'/%3E%3Ccircle cx='54.0' cy='48.6' r='1.6'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M106.3 153.2A20 20 0 1 1 145.7 153.2ZM107.1 156.6H144.9A20 20 0 0 1 143.1 160.4H108.9A20 20 0 0 1 107.1 156.6ZM139.0 165.2A20 20 0 0 1 113.0 165.2Z'/%3E%3Cpath fill='%23173833' d='M40 176v-22h18v-10h14v32zM142 176v-16h18v16z'/%3E%3Cpath fill='none' stroke='%232E4A44' stroke-width='3' d='M100 36v140M40 120h120'/%3E%3Crect y='176' width='200' height='64' fill='%230F2A27'/%3E%3Crect y='176' width='200' height='6' fill='%232E4A44'/%3E%3Cellipse cx='100' cy='183' rx='44' ry='5' fill='%23000' opacity='.25'/%3E%3Cpath fill='%23D98B47' d='M62 175h76v6H62z'/%3E%3Cpath fill='url(%23b)' d='M66 175a34 34 0 0 1 68 0z'/%3E%3Cpath fill='%23FFF1CF' opacity='.7' d='M78 162a24 24 0 0 1 13-13 28 28 0 0 0-8 15z'/%3E%3Cpath fill='%23D98B47' d='M97 136h6v6h-6z'/%3E%3Ccircle cx='100' cy='134' r='5.5' fill='%23F4A259'/%3E%3C/svg%3E");
  --art-comparison: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4560'/%3E%3Cstop offset='0.5' stop-color='%23C0656A'/%3E%3Cstop offset='0.85' stop-color='%23EE8B60'/%3E%3Cstop offset='1' stop-color='%23F7C07A'/%3E%3C/linearGradient%3E%3ClinearGradient id='m' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%230F2A27'/%3E%3Cstop offset='0.6' stop-color='%231D3E40'/%3E%3Cstop offset='1' stop-color='%233F4B5E'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='%2322423C'/%3E%3Cpath fill='%232E4A44' d='M22 196V96a39 39 0 0 1 78 0v100zM100 196V96a39 39 0 0 1 78 0v100z'/%3E%3Cpath fill='url(%23k)' d='M28 190V96a33 33 0 0 1 66 0v94z'/%3E%3Cpath fill='%23FFE2A6' d='M43.2 152.9A18 18 0 1 1 78.8 152.9ZM44.0 155.9H78.0A18 18 0 0 1 76.4 159.4H45.6A18 18 0 0 1 44.0 155.9ZM72.7 163.7A18 18 0 0 1 49.3 163.7Z'/%3E%3Cpath fill='%23173833' d='M28 190v-24h16v-10h12v34zM74 190v-18h20v18z'/%3E%3Cpath fill='url(%23m)' d='M106 190V96a33 33 0 0 1 66 0v94z'/%3E%3Cg fill='%23F4EFE6' opacity='0.75'%3E%3Ccircle cx='112.0' cy='126.8' r='0.9'/%3E%3Ccircle cx='158.1' cy='147.0' r='1.2'/%3E%3Ccircle cx='163.9' cy='137.7' r='1.6'/%3E%3Ccircle cx='146.2' cy='136.0' r='0.9'/%3E%3Ccircle cx='158.5' cy='82.1' r='1.2'/%3E%3Ccircle cx='167.2' cy='130.2' r='1.6'/%3E%3Ccircle cx='156.9' cy='106.0' r='0.9'/%3E%3Ccircle cx='150.9' cy='140.9' r='1.2'/%3E%3Ccircle cx='152.6' cy='78.0' r='1.6'/%3E%3Ccircle cx='167.1' cy='139.5' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23F4EFE6' d='M150 92a12 12 0 1 0 9 19 10 10 0 1 1-9-19z' opacity='.9'/%3E%3Cpath fill='%230F2A27' d='M106 190v-30h14v-12h12v42zM148 190v-22h24v22z'/%3E%3Cpath fill='%23F7C17A' d='M110 166h3v4h-3zM124 154h3v4h-3zM124 168h3v4h-3zM154 174h3v4h-3zM162 180h3v4h-3z'/%3E%3Cpath fill='none' stroke='%232E4A44' stroke-width='3' d='M61 63v127M139 63v127'/%3E%3Cpath fill='%23173833' d='M14 196h172v8H14z'/%3E%3Crect y='204' width='200' height='36' fill='%230F2A27'/%3E%3C/svg%3E");
  --art-best: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%233F4B5E'/%3E%3Cstop offset='0.45' stop-color='%23B4605A'/%3E%3Cstop offset='0.75' stop-color='%23EA7F57'/%3E%3Cstop offset='1' stop-color='%23F5B169'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.5'%3E%3Ccircle cx='10.0' cy='20.3' r='0.9'/%3E%3Ccircle cx='162.2' cy='49.4' r='1.2'/%3E%3Ccircle cx='20.3' cy='45.6' r='1.6'/%3E%3Ccircle cx='154.0' cy='36.1' r='0.9'/%3E%3Ccircle cx='108.6' cy='54.3' r='1.2'/%3E%3Ccircle cx='103.5' cy='51.2' r='1.6'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M70.4 154.8A30 30 0 1 1 129.6 154.8ZM71.7 159.9H128.3A30 30 0 0 1 125.6 165.6H74.4A30 30 0 0 1 71.7 159.9ZM119.5 172.8A30 30 0 0 1 80.5 172.8Z'/%3E%3Cpath fill='%2322423C' d='M0 176q50-34 110-14t90-6v84H0z'/%3E%3Cpath fill='%23173833' d='M0 196q60-24 120-6t80-4v54H0z'/%3E%3Cpath fill='%230F2A27' d='M97 216V66h6v150z'/%3E%3Ccircle cx='100' cy='64' r='4' fill='%230F2A27'/%3E%3Cpath fill='%23F4EFE6' d='M103 78h52l10 9-10 9h-52z'/%3E%3Cpath fill='%23F7C17A' d='M97 104H47l-10 9 10 9h50z'/%3E%3Cpath fill='%23F4EFE6' d='M103 130h40l10 9-10 9h-40z'/%3E%3Cpath fill='%232E4A44' opacity='.35' d='M110 85h34v4h-34zM52 111h34v4H52zM110 137h24v4h-24z'/%3E%3Crect y='216' width='200' height='24' fill='%230F2A27'/%3E%3C/svg%3E");
  --art-legal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cpath fill='none' stroke='%23C6CCC1' stroke-width='2' d='M20 238V100a80 80 0 0 1 160 0v138'/%3E%3Cpath fill='none' stroke='%23E0E3DA' stroke-width='1.5' d='M34 238V102a66 66 0 0 1 132 0v136'/%3E%3Cpath fill='%23fff' stroke='%23C6CCC1' stroke-width='1.5' d='M62 92h66l14 14v116H62z'/%3E%3Cpath fill='none' stroke='%23C6CCC1' stroke-width='1.5' d='M128 92v14h14'/%3E%3Cpath fill='none' stroke='%23D7DCD2' stroke-width='3' stroke-linecap='round' d='M74 120h40M74 134h56M74 148h52M74 162h56M74 176h34'/%3E%3Cpath fill='%23E8603C' d='M107.1 203.8A11 11 0 1 1 128.9 203.8ZM107.6 205.6H128.4A11 11 0 0 1 127.4 207.7H108.6A11 11 0 0 1 107.6 205.6ZM125.1 210.4A11 11 0 0 1 110.9 210.4Z'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------------------------------------------- 2. base */
/* no overflow clipping on html / body: the full-bleed colours (hero, bands) are drawn with box-shadow, border-image
   outsets and the engine's clip-path, which never widen the page (checked: scrollWidth = viewport on every template) */
html { background: var(--paper); scroll-padding-top: calc(var(--hdr-h) + 24px); }
:root :is(h2, h3) { scroll-margin-top: 0; }
body { background: var(--paper); color: var(--ink-2); font-size: var(--fs-17); line-height: var(--lh-body); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background: #F7D3C5; color: var(--ink); }
.wrap { max-width: var(--wrap); padding-inline: 24px; }
h1, h2, h3, h4 { color: var(--ink); font-family: var(--font-display); font-weight: 500; letter-spacing: -0.012em; line-height: var(--lh-head); }
h3 { font-family: var(--font-serif); font-weight: 600; }
:is(h1, h2, h3, .qa-q, .step-name, .cta-h, .rank-n, .stat-v, .def dt, .fold > summary, .related-list a, .trv-price-v strong, .step-list > li) { font-variant-numeric: lining-nums; }
h1 { font-size: clamp(2.375rem, 1.5rem + 2.6vw, 3.625rem); letter-spacing: -0.022em; line-height: 1.04; margin: 0 0 var(--s-2); }
h2 { font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.375rem); letter-spacing: -0.018em; margin: 2em 0 .55em; }
h3 { font-size: var(--fs-20); line-height: 1.3; letter-spacing: -0.004em; margin: 1.6em 0 .5em; }
h4 { font-family: var(--font-body); font-size: var(--fs-17); font-weight: 650; letter-spacing: 0; line-height: 1.4; }
strong, b { color: var(--ink); font-weight: 650; }
p, li { text-wrap: pretty; }
.content :is(h2, h3) { text-wrap: pretty; }
.content :is(.card, .rank-head) :is(h2, h3) { text-wrap: balance; }
a { color: var(--coral-ink); text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); transition: color .15s ease, text-decoration-color .15s ease; }
a:hover { color: var(--coral-hover); text-decoration-color: currentColor; text-decoration-thickness: 1px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 4px; }
.table-wrap:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
code { background: var(--mist-2); color: var(--ink); border-radius: 6px; }
blockquote { border-left: 2px solid var(--coral-line); color: var(--ink-2); }
hr { height: 1px; margin: var(--s-6) 0; border: 0; background: var(--line); }
.content :is(ul, ol):not([class]) { padding-left: 1.25em; }
.content :is(ul, ol):not([class]) > li { margin: .4em 0; }
.content ul:not([class]) > li::marker { color: var(--coral); }
.content ol:not([class]) > li::marker { color: var(--ink); font-weight: 650; font-variant-numeric: tabular-nums; }
/* no uppercase labels (sentence case everywhere; :root beats the engine's phone letter-spacing rule) */
:root :is(.kicker, .qa-label, .cs-label, .hp-k, .hp-pay, .hp-badge, .pt-h, .f-pay-h, .lg-group, .card-tag, .plan-badge, .tier-badge,
  .shot-tag, .trv-f label, .trv-price-k, .trv-sample, .tbl thead th, .tiers thead th, .pay-table thead th) { text-transform: none; letter-spacing: 0; }

/* -------------------------------------------------------------------------------------------- 3. top bar + header */
/* a thin midnight strip with the three promises; the header itself is white, crisp, with a hairline */
.topbar { padding: 9px 0; background: var(--night); color: var(--on-dark-2); font-size: var(--fs-13); font-weight: 500; letter-spacing: .005em; border: 0; }
.topbar strong { color: var(--on-dark); filter: none; }
.topbar a { color: var(--on-dark); }
/* each promise after a drawn apricot check (d2 graft); the middle dots fade, their space stays */
.topbar .tb-s { display: inline-flex; align-items: center; gap: 7px; }
.topbar .tb-s::before { content: ""; flex: none; width: 13px; height: 13px; background: var(--sun); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
.topbar .tb-sep { padding: 0 12px; color: transparent; }
.hdr { background: rgb(255 255 255 / .94); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); box-shadow: none; }
.hdr-in { min-height: 76px; gap: var(--s-4); }
.logo { gap: 12px; color: var(--ink); font: 650 1.375rem/1 var(--font-body); letter-spacing: -0.02em; }
.logo:hover { color: var(--ink); }
.logo-mark, .ftr .f-logo .logo-mark { box-sizing: border-box; width: 26px; height: 34px; border-radius: 13px 13px 2px 2px; background: var(--night); color: var(--coral-bright); font: 600 16px/1 var(--font-body); padding-top: 8px; box-shadow: none; }
.logo.has-img { border-radius: var(--r-sm); }
.logo.has-img:focus-visible { outline-offset: 6px; }
.nav { gap: 2px; margin-left: var(--s-2); }
.nav a { position: relative; padding: 10px 14px; border-radius: var(--r-pill); background: none; color: var(--ink-2); font: 500 var(--fs-15)/1.3 var(--font-body); text-decoration: none; transition: color .15s ease, background-color .15s ease; }
.nav a:hover { background: var(--mist); color: var(--ink); }
.nav a[aria-current] { background: none; color: var(--ink); font-weight: 600; }
.nav a[aria-current]::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 18px; height: 2px; margin-left: -9px; border-radius: 2px; background: var(--coral); }
.hdr-login { padding: 10px 6px; color: var(--ink-2); font: 500 var(--fs-15)/1.3 var(--font-body); }
.hdr-login:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
:root .hdr .hdr-cta { min-height: 44px; padding: 0 22px; font-size: var(--fs-15); }
.menu { min-height: 44px; padding: 0 18px; border: 1px solid var(--line-2); border-radius: var(--r-pill); background: transparent; color: var(--ink); font: 600 var(--fs-15)/1 var(--font-body); cursor: pointer; }
.menu:hover, .menu[aria-expanded="true"] { border-color: var(--ink); }
:root .skip:focus { display: inline-flex; align-items: center; min-height: 44px; top: 6px; left: 16px; padding: 0 16px; border-radius: var(--r-pill); background: var(--night); color: var(--on-dark); font: 600 var(--fs-15)/1.4 var(--font-body); }
/* 861-999 px: logo + 5 links + Log in + the button do not fit, the links go behind Menu there too (the engine does it
   below 861 px). 1000-1099 px: in English the links stay in line, a little tighter (measured at 1000 px: the last link
   ends 16 px before Log in); the translations, whose labels are longer, keep Menu up to 1099 px. */
@media (min-width: 861px) and (max-width: 999px) {
  .menu { display: inline-flex; align-items: center; margin-left: auto; }
  .nav { display: none; position: absolute; left: 0; right: 0; flex-direction: column; gap: 0; background: #fff; border-bottom: 1px solid var(--line); }
  .nav.open { display: flex; }
}
@media (max-width: 999px) {
  .nav { top: 76px; margin-left: 0; padding: 4px 24px 16px; background: #fff; box-shadow: var(--shadow-md); }
  .nav a { padding: 14px 0; border-radius: 0; border-bottom: 1px solid var(--line); }
  .nav a:last-child { border-bottom: 0; }
  .nav a:hover { background: none; color: var(--coral-ink); }
  .nav a[aria-current] { padding-left: 14px; color: var(--ink); box-shadow: inset 3px 0 0 var(--coral); }
  .nav a[aria-current]::after { content: none; }
}
@media (min-width: 1000px) and (max-width: 1099px) {
  :root:lang(en) .hdr-in { gap: 16px; }
  :root:lang(en) .nav { margin-left: 4px; }
  :root:lang(en) .nav a { padding: 10px; }
  :root:not(:lang(en)) .menu { display: inline-flex; align-items: center; margin-left: auto; }
  :root:not(:lang(en)) .nav { display: none; position: absolute; left: 0; right: 0; top: 76px; flex-direction: column; gap: 0; margin-left: 0; padding: 4px 24px 16px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: var(--shadow-md); }
  :root:not(:lang(en)) .nav.open { display: flex; }
  :root:not(:lang(en)) .nav a { padding: 14px 0; border-radius: 0; border-bottom: 1px solid var(--line); }
  :root:not(:lang(en)) .nav a:last-child { border-bottom: 0; }
  :root:not(:lang(en)) .nav a:hover { background: none; color: var(--coral-ink); }
  :root:not(:lang(en)) .nav a[aria-current] { padding-left: 14px; color: var(--ink); box-shadow: inset 3px 0 0 var(--coral); }
  :root:not(:lang(en)) .nav a[aria-current]::after { content: none; }
}

/* ---------------------------------------------------------------------------------------------------- 4. buttons */
/* pills, three heights (40 / 48 / 56): solid coral primary that deepens on hover, outlined ghost */
.btn { min-height: 48px; padding: 0 24px; gap: 10px; border: 1px solid transparent; border-radius: var(--r-pill); font: 600 var(--fs-16)/1.2 var(--font-body); letter-spacing: 0; box-shadow: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
button.btn { font-family: var(--font-body); }
.btn:hover, .btn:active { transform: none; filter: none; }
.btn .ic { width: 18px; height: 18px; }
.btn:hover .ic { transform: none; }
.btn-sm { min-height: 40px; padding: 0 18px; font-size: var(--fs-15); }
.btn-lg { min-height: 56px; padding: 0 30px; font-size: var(--fs-17); }
.btn-primary, .hdr-cta { background: var(--coral); border-color: var(--coral); color: #fff; box-shadow: 0 1px 0 rgb(255 255 255 / .18) inset, 0 8px 18px -10px rgb(169 56 32 / .7); }
.btn-primary:hover, .hdr-cta:hover { background: var(--coral-hover); border-color: var(--coral-hover); color: #fff; filter: none; }
.btn-ghost { background: transparent; border-color: var(--line-2); color: var(--ink); }
.btn-ghost:hover { background: #fff; border-color: var(--ink); color: var(--ink); }
.btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: var(--r-pill); }

/* -------------------------------------------------------------------------------------------------- 5. page head */
/* inner pages: an editorial cover - kicker after a coral rule, a large serif title, the lede, the date; on wide screens
   a drawn arched window on the right (the city's postcard on city pages) */
.crumbs ol { align-items: center; margin: var(--s-3) 0 0; font-size: var(--fs-14); color: var(--muted); }
.crumbs li + li::before { content: ""; width: 5px; height: 5px; margin: 0 8px 0 2px; border-radius: 50%; background: var(--line-2); opacity: 1; }
.crumbs li { display: inline-flex; align-items: center; }
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--coral-ink); text-decoration: underline; }
.crumbs li[aria-current] { color: var(--ink-2); }
.page-head { position: relative; max-width: 880px; padding: var(--s-5) 0 var(--s-6); }
.page-head h1 { margin-bottom: var(--s-3); }
.page-head > :last-child { margin-bottom: 0; }
body:not(.t-home) main.wrap > .page-head { max-width: none; border-bottom: 1px solid var(--line); }
body:not(.t-home) main.wrap > .page-head > * { max-width: 860px; }
:root .kicker { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 var(--s-3); padding: 0; border: 0; border-radius: 0; background: none; color: var(--coral-ink); font: 600 var(--fs-15)/1.4 var(--font-body); }
:root .kicker::before { content: ""; flex: none; width: 28px; height: 2px; margin-top: calc(.7em - 1px); border-radius: 2px; background: var(--coral); } /* on the first line, even when the kicker wraps */
.lede { max-width: 700px; color: var(--ink-2); font-size: 1.25rem; line-height: 1.55; }
.lede p:last-child { margin-bottom: 0; }
.meta { margin-top: var(--s-3); color: var(--muted); font-size: var(--fs-14); }
.hero-note { gap: 10px; margin: var(--s-2) 0 0; color: var(--muted); font-size: var(--fs-15); }
.hero-note .ic { color: var(--coral); }
.hero-btns { gap: 12px; margin: var(--s-4) 0 0; }
.badges { gap: 8px 24px; margin: var(--s-3) 0 0; }
.badges li { position: relative; margin: 0; padding: 0 0 0 24px; border: 0; border-radius: 0; background: none; color: var(--ink-2); font-size: var(--fs-15); font-weight: 500; }
.badges li::before { content: ""; position: absolute; left: 0; top: .25em; width: 15px; height: 15px; background: var(--coral); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
h1 img.flag-h1 { width: .7em; height: .525em; margin-right: .3em; vertical-align: .06em; border-radius: 4px; box-shadow: 0 0 0 1px rgb(15 42 39 / .14); }
img.flag { border-radius: 3px; box-shadow: 0 0 0 1px rgb(15 42 39 / .12); }
/* the drawing of the cover, one per template (decorative pseudo-elements, no text): the city's postcard on city pages,
   a coin-sun over the sea on pricing, a skyline rising like a chart on data pages, a hotel facade on hubs, an open
   door on guides, the desk bell on the FAQ, two windows on comparisons, a signpost on rankings, the hero window on
   about and contact, a quiet line-drawn arch on legal pages. Right of the title from 761 px, above it on phones.
   ".crumbs + .page-head" keeps the 404 page (no breadcrumb) out. */
body { --head-art: var(--ill-hero); }
body.t-location { --head-art: var(--pc); }
body.t-pricing { --head-art: var(--art-pricing); }
body.t-report { --head-art: var(--art-report); }
body.t-hub { --head-art: var(--art-hub); }
body.t-guide { --head-art: var(--art-guide); }
body.t-faq { --head-art: var(--art-faq); }
body.t-comparison { --head-art: var(--art-comparison); }
body.t-best { --head-art: var(--art-best); }
@media (min-width: 761px) {
  body:not(.t-home) main.wrap > .crumbs + .page-head { min-height: 232px; padding-right: 184px; }
  body:not(.t-home) main.wrap > .crumbs + .page-head::after { content: ""; position: absolute; right: 0; bottom: -1px; width: 150px; height: 180px; border-radius: 75px 75px 0 0; background: var(--night) var(--head-art) center / cover no-repeat; }
  body.t-legal main.wrap > .crumbs + .page-head { min-height: 0; }
  body.t-legal main.wrap > .crumbs + .page-head::after { width: 120px; height: 144px; border-radius: 0; background: var(--art-legal) right bottom / contain no-repeat; }
}
@media (min-width: 1100px) {
  body:not(.t-home) main.wrap > .crumbs + .page-head { min-height: 360px; padding-right: 300px; }
  body:not(.t-home) main.wrap > .crumbs + .page-head::after { right: 0; width: 236px; height: 300px; border-radius: 118px 118px 0 0; }
  body.t-legal main.wrap > .crumbs + .page-head { min-height: 0; padding-right: 240px; }
  body.t-legal main.wrap > .crumbs + .page-head::after { width: 160px; height: 192px; border-radius: 0; }
}

/* ------------------------------------------------------------------------------------------------------- 6. home hero */
/* DOM order is untouched (the quick answer stays the first block for GEO). .content and the first hotel search become
   transparent to layout (display: contents), so their children line up in one column ordered by CSS: the midnight hero
   (H1, lede, reassurance line, the search heading) with the arched window at dusk on the right; the search card across
   the edge of the hero; the protection strip (the trust block, d2 graft) right under the card; the destination
   postcards and the price note; then the quick answer and the rest in DOM order. Without :has() / display: contents
   support the blocks simply follow the DOM order. Engine request: a skip link to the search on the home page. */
.t-home main.wrap { display: flex; flex-direction: column; container-type: inline-size; }
.t-home main.wrap > .content { display: contents; }
.t-home .content > .trv-home-search { display: contents; container-type: normal; }
.t-home main.wrap > .page-head { order: -100; }
.t-home .content > .trv-home-search > :is(h2, h3, .trv-paused, p:not([class])) { order: -90; position: relative; z-index: 1; }
.t-home .content > .trv-home-search > .trv-form { order: -80; position: relative; z-index: 1; }
.t-home .content > .trv-home-search + .trust-sec { order: -70; }
.t-home .content > .trv-home-search > .ds-pop { order: -60; }
.t-home .content > .trv-home-search > .trv-note { order: -50; }
/* the night sky: a vertical gradient drawn by border-image, out to the window edges and down under the search heading
   to the middle of the card (--hero-tail); outsets are ink overflow, so the page never gets wider */
.t-home main.wrap > .page-head { position: relative; isolation: isolate; width: 100%; max-width: none; margin: 0; padding: var(--s-12) 0 var(--s-7); color: var(--on-dark-2);
  border-image: linear-gradient(180deg, var(--night) 0%, #12302C 100%) fill 0 / 0 / 0 100vmax var(--hero-tail); }
/* the two glows stay inside the page (they cover the wrap and its gutters, never more) */
.t-home main.wrap > .page-head::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: calc(-1 * var(--hero-tail)); left: -24px; right: -24px;
  background: radial-gradient(28% 58% at 80% 74%, rgb(232 96 60 / .30), rgb(232 96 60 / 0) 70%), radial-gradient(30% 50% at 26% 0%, rgb(36 75 68 / .7), rgb(36 75 68 / 0) 70%); } /* both fade out before the edges of the box */
/* the arched window at dusk: its foot runs behind the search card */
.t-home main.wrap > .page-head::after { content: ""; position: absolute; z-index: -1; right: 0; bottom: calc(-1 * var(--hero-tail) + 6px); width: 412px; aspect-ratio: 440 / 560; background: var(--ill-hero) center / contain no-repeat; filter: drop-shadow(0 30px 50px rgb(0 0 0 / .35)); }
.t-home main.wrap > .page-head > * { position: relative; max-width: min(700px, calc(100% - 460px)); }
.t-home .page-head h1 { margin: 0; color: var(--on-dark); font-size: clamp(2.5rem, 1.35rem + 3.3vw, 4.375rem); font-weight: 500; letter-spacing: -0.026em; line-height: 1.02; text-wrap: balance; }
.t-home .page-head .lede { margin: var(--s-4) 0 0; color: var(--on-dark-2); font-size: var(--fs-20); line-height: 1.55; }
.t-home .page-head .lede p { text-wrap: pretty; }
.t-home .page-head .hero-note { display: flex; max-width: min(620px, calc(100% - 460px)); margin: var(--s-3) 0 0; padding: 14px 18px; border: 1px solid var(--dark-line); border-radius: var(--r-md); background: rgb(255 255 255 / .04); color: var(--on-dark-2); font-size: var(--fs-15); line-height: 1.5; }
.t-home .page-head .hero-note .ic { flex: none; width: 18px; height: 18px; margin-top: 1px; color: var(--sun); }
.t-home .page-head :is(.hero-btns, .badges) { justify-content: flex-start; }
.t-home .page-head .badges li { color: var(--on-dark-2); }
.t-home .page-head .badges li::before { background: var(--sun); }
.t-home main.wrap:not(:has(> .content > .trv-search)) > .page-head { padding-bottom: var(--s-12); border-image-outset: 0 100vmax; }
.t-home main.wrap:not(:has(> .content > .trv-search)) > .page-head::after { bottom: 0; }
.t-home main.wrap:not(:has(> .content > .trv-search)) > .page-head::before { bottom: 0; }
/* below the hero: one rhythm (112 px, 72 px on phones) */
.t-home .content > *, .t-home main.wrap > .related { margin-top: var(--section); margin-bottom: 0; }
.t-home .content > .fold { margin-top: var(--s-8); }
.t-home .content > .sources { margin-top: var(--s-4); }
.t-home .content > * > h2:first-child, .t-home .band > * > h2:first-child { margin-top: 0; }
.t-home h2 { font-size: clamp(2rem, 1.3rem + 1.9vw, 3rem); letter-spacing: -0.022em; line-height: 1.06; margin-bottom: var(--s-5); }
.t-home h2 + p { max-width: 64ch; margin-top: calc(-1 * var(--s-2)); color: var(--muted); }
.t-home .faq-item, .t-home .sec > p { max-width: none; }
.t-home :is(.sec, .cards-sec, .faq, .ranking, .tbl, .trust-sec, .steps, .linkgrid) { max-width: none; }

/* --------------------------------------------------------------------------------------- 7. hotel search + postcards */
/* One "reservation card": white, field-coloured edge, segmented cells (label over value, hairline dividers), the search
   button inside the card. Container queries pick one row (>= 1040 px), two rows (560-1039 px) or a stacked card. */
.trv-search { container-type: inline-size; margin: var(--s-5) 0; padding: 0; border: 0; border-radius: 0; background: none; }
.trv-search > h2 { margin: 0 0 var(--s-3); }
.trv-search > h3 { margin: 0 0 var(--s-2); }
.trv-search > p:not([class]) { max-width: 64ch; color: var(--muted); }
.trv-hs .trv-form { display: grid; grid-template-columns: minmax(0, 2.3fr) repeat(2, minmax(0, 1.3fr)) repeat(2, minmax(0, .8fr)) auto; grid-template-areas: "q in out ad ro btn"; gap: 0; align-items: stretch; padding: 8px; background: #fff; border: 1px solid var(--field); border-radius: var(--r-md); box-shadow: var(--shadow-md); }
.trv-hs .trv-form > div:nth-of-type(1) { grid-area: q; }
.trv-hs .trv-form > div:nth-of-type(2) { grid-area: in; }
.trv-hs .trv-form > div:nth-of-type(3) { grid-area: out; }
.trv-hs .trv-form > div:nth-of-type(4) { grid-area: ad; }
.trv-hs .trv-form > div:nth-of-type(5) { grid-area: ro; }
.trv-hs .trv-form > .btn { grid-area: btn; }
.trv-hs .trv-f { position: relative; flex: none; justify-content: center; gap: 0; min-width: 0; padding: 8px 18px 2px; border-radius: calc(var(--r-md) - 8px); cursor: text; transition: background-color .15s ease; }
.trv-hs .trv-f:hover { background: var(--row-hover); }
.trv-hs .trv-f:focus-within { background: #fff; box-shadow: inset 0 0 0 2px var(--coral); }
.trv-hs .trv-f::before, .trv-hs .trv-f::after { content: ""; position: absolute; background: var(--line); pointer-events: none; }
.trv-hs .trv-f::before { left: 0; top: 14px; bottom: 14px; width: 1px; }
.trv-hs .trv-f::after { left: 0; right: 0; top: 0; height: 1px; }
.trv-hs .trv-f:is(:hover, :focus-within)::before, .trv-hs .trv-f:is(:hover, :focus-within) + .trv-f::before { opacity: 0; }
.trv-hs .trv-f::after { display: none; }
.trv-hs .trv-form > div:nth-of-type(1)::before { display: none; }
.trv-f label { color: var(--muted); font-size: var(--fs-14); font-weight: 600; line-height: 1.3; cursor: text; }
.trv-hs .trv-f input { min-height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ink); font: 500 var(--fs-17)/1.3 var(--font-body); font-variant-numeric: tabular-nums; }
.trv-hs .trv-f input:focus { outline: none; border: 0; box-shadow: none; }
.trv-hs .trv-f input::placeholder { color: var(--muted); opacity: 1; font-weight: 400; }
.trv-hs .trv-f input::-webkit-calendar-picker-indicator { opacity: .55; cursor: pointer; }
.trv-hs .trv-f input[list]::-webkit-calendar-picker-indicator { display: none !important; } /* the datalist arrow: typing shows the cities */
.trv-hs .trv-form .btn { align-self: center; min-height: 58px; margin: 0 0 0 8px; padding: 0 30px; font-size: var(--fs-17); border-radius: var(--r-sm); }
.trv-hs .trv-form .btn svg { width: 19px; height: 19px; }
@container (max-width: 1039px) {
  .trv-hs .trv-form { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "q q in out" "ad ro btn btn"; }
  .trv-hs .trv-form > div:nth-of-type(4)::before { display: none; }
  .trv-hs .trv-form > div:is(:nth-of-type(4), :nth-of-type(5))::after { display: block; }
  .trv-hs .trv-form .btn { align-self: stretch; min-height: 52px; margin: 8px 0 0 8px; }
}
@container (max-width: 559px) {
  .trv-hs .trv-form { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "q q" "in out" "ad ro" "btn btn"; padding: 6px; }
  .trv-hs .trv-form > div:is(:nth-of-type(2), :nth-of-type(4))::before { display: none; }
  .trv-hs .trv-form > div:is(:nth-of-type(2), :nth-of-type(3), :nth-of-type(4), :nth-of-type(5))::after { display: block; }
  .trv-hs .trv-f { padding: 8px 14px 2px; }
  .trv-hs .trv-form .btn { min-height: 52px; margin: 8px 0 0; }
}
/* popular cities (inner pages): quiet pills */
.trv-search .ds-pop { gap: 10px 12px; margin-top: var(--s-3); }
.trv-search .ds-pop-h { color: var(--muted); font-size: var(--fs-14); font-weight: 600; }
.trv-search .ds-pop ul { gap: 8px; padding: 0; } /* the reading lists rule of .content (1.25em indent, .4em item margins) does not apply to the city lists */
.trv-search .ds-pop ul > li { margin: 0; }
.trv-search .ds-pop a, .trv-search .ds-pop li > span { align-items: center; min-height: 40px; padding: 0 18px; border: 1px solid var(--line-2); border-radius: var(--r-pill); background: #fff; color: var(--ink); font-size: var(--fs-15); font-weight: 500; transition: border-color .15s ease, color .15s ease; }
.trv-search .ds-pop a:hover { border-color: var(--coral); color: var(--coral-ink); }
.trv-note { gap: 10px; max-width: 80ch; margin-top: var(--s-3); color: var(--muted); font-size: var(--fs-14); line-height: 1.5; }
.trv-note svg { margin-top: 2px; color: var(--coral); }
.trv-paused { gap: 10px; margin: 0 0 var(--s-2); padding: 14px 18px; border: 1px solid #ECD6A6; border-radius: var(--r-sm); background: #FBF3E2; color: var(--ink); font-size: var(--fs-15); }
.trv-paused svg { color: #8A5A0B; }

/* home: the search sits in the hero - its heading on the night, the card across the edge, then the postcards on paper */
.t-home .trv-home-search > h2 { margin: 0 0 var(--s-3); color: var(--on-dark); font-family: var(--font-serif); font-size: var(--fs-24); font-weight: 500; letter-spacing: 0; line-height: 1.3; } /* upright: only the upright serif is inlined (no synthetic italic) */
.t-home .trv-home-search .trv-form { padding: 10px; border-color: transparent; box-shadow: var(--shadow-lg); }
.t-home .trv-home-search .trv-f { padding-block: 10px 4px; }
/* postcards: the eight popular cities as arch-topped drawings; the whole tile is the link, its name under the drawing */
.t-home .trv-home-search .ds-pop { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); margin-top: var(--s-10); }
.t-home .trv-home-search .ds-pop-h { margin: 0; color: var(--ink); font: 500 clamp(1.75rem, 1.3rem + 1.2vw, 2.375rem)/1.1 var(--font-display); font-variant-numeric: lining-nums; letter-spacing: -0.018em; }
.t-home .trv-home-search .ds-pop ul { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--s-3) 20px; }
.t-home .trv-home-search .ds-pop li { min-width: 0; }
.t-home .trv-home-search .ds-pop a { display: flex; flex-direction: column; align-items: stretch; gap: 12px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; color: var(--ink); font: 600 var(--fs-18)/1.25 var(--font-serif); font-variant-numeric: lining-nums; text-decoration: none; }
.t-home .trv-home-search .ds-pop a::before { content: ""; display: block; width: 100%; aspect-ratio: 200 / 240; border-radius: 50% 50% var(--r-sm) var(--r-sm) / 41.667% 41.667% var(--r-sm) var(--r-sm); background: var(--night) var(--pc) center / cover no-repeat; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
.t-home .trv-home-search .ds-pop a:hover { color: var(--coral-ink); }
.t-home .trv-home-search .ds-pop a:hover::before { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.t-home .trv-home-search .ds-pop a:focus-visible { outline-offset: 6px; border-radius: var(--r-sm); }
.t-home .trv-home-search > .trv-note { max-width: 90ch; margin-top: var(--s-5); }
/* the protection strip (d2 graft): the four promises of the trust block right under the search card, one framed card,
   hairlines between the cells (4 columns from 1100 px, 2 on tablets, rows on phones), a small grey title */
.t-home .content > .trv-home-search + .trust-sec { width: 100%; margin: var(--s-4) 0 0; }
.t-home .content > .trv-home-search + .trust-sec > h2 { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 14px; color: var(--coral-ink); font: 600 var(--fs-15)/1.4 var(--font-body); letter-spacing: 0; }
.t-home .content > .trv-home-search + .trust-sec > h2::before { content: ""; flex: none; width: 28px; height: 2px; margin-top: calc(.7em - 1px); border-radius: 2px; background: var(--coral); }
.t-home .content > .trv-home-search + .trust-sec > .trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--line); box-shadow: var(--shadow-sm); overflow: hidden; }
.t-home .content > .trv-home-search + .trust-sec > .trust > li { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; align-items: start; margin: 0; padding: 20px 22px 22px; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.t-home .content > .trv-home-search + .trust-sec .trust-ic { width: 40px; height: 40px; }
.t-home .content > .trv-home-search + .trust-sec .trust-ic .ic { width: 20px; height: 20px; }
.t-home .content > .trv-home-search + .trust-sec .trust-t { margin: 1px 0 4px; font-size: var(--fs-16); line-height: 1.35; }
.t-home .content > .trv-home-search + .trust-sec .trust-d { margin: 0; font-size: var(--fs-14); line-height: 1.55; }
@media (max-width: 1099px) {
  .t-home .content > .trv-home-search + .trust-sec > .trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  .t-home .content > .trv-home-search + .trust-sec > .trust { grid-template-columns: minmax(0, 1fr); }
  .t-home .content > .trv-home-search + .trust-sec > .trust > li { padding: 16px; }
}
:is(.ds-pop, .lg) a[href$="/hotels/dubai/"] { --pc: var(--pc-dubai); }
:is(.ds-pop, .lg) a[href$="/hotels/bangkok/"] { --pc: var(--pc-bangkok); }
:is(.ds-pop, .lg) a[href$="/hotels/tokyo/"] { --pc: var(--pc-tokyo); }
:is(.ds-pop, .lg) a[href$="/hotels/london/"] { --pc: var(--pc-london); }
:is(.ds-pop, .lg) a[href$="/hotels/paris/"] { --pc: var(--pc-paris); }
:is(.ds-pop, .lg) a[href$="/hotels/lisbon/"] { --pc: var(--pc-lisbon); }
:is(.ds-pop, .lg) a[href$="/hotels/bali/"] { --pc: var(--pc-bali); }
:is(.ds-pop, .lg) a[href$="/hotels/new-york/"] { --pc: var(--pc-new-york); }
/* city pages: the city's postcard on the cover. The page's own address (og:url, also on translated and noindex pages)
   is given by <body data-city> (engine). */
/* ready for the engine request <body data-city="…"> (jury defect 6); separate rules, so a browser without :has() keeps them */
body[data-city="dubai"] { --pc: var(--pc-dubai); }
body[data-city="bangkok"] { --pc: var(--pc-bangkok); }
body[data-city="tokyo"] { --pc: var(--pc-tokyo); }
body[data-city="london"] { --pc: var(--pc-london); }
body[data-city="paris"] { --pc: var(--pc-paris); }
body[data-city="lisbon"] { --pc: var(--pc-lisbon); }
body[data-city="bali"] { --pc: var(--pc-bali); }
body[data-city="new-york"] { --pc: var(--pc-new-york); }

/* -------------------------------------------------------------------------------------------------------- 8. panels */
/* quick answer: a mist panel, an arch before the label, the question in the serif */
.quick-answer { margin: var(--s-5) 0 var(--s-6); padding: var(--s-4) var(--s-4) 30px; background: var(--mist); border: 0; border-radius: var(--r-md); box-shadow: none; }
.qa-label { display: flex; align-items: center; gap: 10px; margin: 0 0 var(--s-1); color: var(--coral-ink); font: 600 var(--fs-14)/1.4 var(--font-body); }
.qa-label::before { content: ""; flex: none; width: 11px; height: 14px; background: var(--coral); -webkit-mask: var(--i-arch) center / contain no-repeat; mask: var(--i-arch) center / contain no-repeat; }
.qa-q { margin: 0 0 var(--s-1); color: var(--ink); font: 600 var(--fs-22)/1.3 var(--font-serif); letter-spacing: -0.005em; }
.qa-text { color: var(--ink-2); }
.qa-text p { margin-bottom: .6em; }
.qa-text p:last-child { margin-bottom: 0; }
/* home: an editorial spread - the question large on the left, the answer on the right */
.t-home .content > .quick-answer { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto 1fr; column-gap: var(--s-8); width: 100%; max-width: none; padding: var(--s-7); border-radius: var(--r-lg); }
.t-home .content > .quick-answer > .qa-label { grid-column: 1; margin-bottom: var(--s-2); }
.t-home .content > .quick-answer > .qa-q { grid-column: 1; margin: 0; font: 500 clamp(1.625rem, 1.2rem + 1.1vw, 2.25rem)/1.15 var(--font-display); font-variant-numeric: lining-nums; letter-spacing: -0.016em; }
.t-home .content > .quick-answer > .qa-text { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: var(--fs-18); line-height: 1.7; }
/* callouts, methodology, contents */
.callout { margin: var(--s-4) 0; padding: 20px var(--s-3); background: var(--mist); border: 1px solid var(--line); border-radius: var(--r-md); }
.callout-h, .method-h { margin: 0 0 4px; color: var(--ink); font-weight: 650; }
.callout.warn { background: #FBF3E2; border-color: #ECD6A6; }
.callout.success { background: #ECF4EE; border-color: #C5DECD; }
.callout > :last-child { margin-bottom: 0; }
.method { margin: 0 0 var(--s-3); padding: 20px var(--s-3); background: var(--mist); border: 0; border-radius: var(--r-md); font-size: var(--fs-15); }
.method p:last-child { margin-bottom: 0; }
.checked { margin-top: var(--s-2); color: var(--muted); font-size: var(--fs-14); }
.checked > svg { color: var(--coral); }
.toc { max-width: var(--measure); margin: var(--s-4) 0 0; padding: 20px var(--s-3); background: none; border: 1px solid var(--line); border-radius: var(--r-md); font-size: var(--fs-15); }
.toc-h { margin: 0 0 var(--s-1); color: var(--ink); font: 600 var(--fs-15)/1.4 var(--font-body); }
.toc ol { padding-left: 1.6em; column-gap: var(--s-6); }
.toc li { margin: 0; padding: .2em 0; break-inside: avoid; }
.toc li::marker { color: var(--muted); font-variant-numeric: tabular-nums; }
.toc a { color: var(--ink-2); }
.toc a:hover { color: var(--coral-ink); text-decoration: underline; }
.prose > :last-child { margin-bottom: 0; }

/* ---------------------------------------------------------------------------------------------- 9. tables + badges */
/* framed, quiet mist header in sentence case, airy rows, hover tint, tabular figures; our own row tinted coral */
.tbl, .facts { margin: var(--s-5) 0; }
.table-wrap { border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; box-shadow: var(--shadow-sm); }
.table-wrap > table { margin: 0; }
.tbl table, .facts-table { font-size: var(--fs-15); }
.tbl :is(th, td) { padding: 15px 18px; border-bottom: 1px solid var(--line); }
.tbl thead th, .tiers thead th, .pay-table thead th { padding-block: 13px; background: var(--mist); color: var(--muted); font-size: var(--fs-13); font-weight: 600; line-height: 1.35; vertical-align: bottom; border-bottom: 1px solid var(--line); }
.tbl tbody th { color: var(--ink); font-weight: 650; }
.tbl tbody th a { color: var(--ink); text-decoration-color: var(--line-2); }
.tbl tbody th a:hover { color: var(--coral-ink); text-decoration-color: currentColor; }
.tbl :where(tbody tr:nth-child(even)) { background: transparent; }
.tbl :where(tbody tr):hover, .pay-table tbody tr:hover { background: var(--row-hover); }
.tbl tr.hl, .tbl tr.hl:hover { background: var(--coral-soft); }
.tbl tr.hl th { color: var(--ink); }
.tbl tr.hl > :first-child { box-shadow: inset 3px 0 0 var(--coral); }
.pay-table tbody th { display: table-cell; white-space: nowrap; color: var(--ink); font-weight: 650; }
.pay-table tbody th .coin-logo { display: inline-block; width: 20px; height: 20px; margin: -3px 8px 0 0; vertical-align: middle; }
.pay-table :is(th, td) { padding: 12px 16px; vertical-align: middle; }
.pay-table td:nth-child(3), .pay-table thead th:nth-child(3) { font-variant-numeric: tabular-nums; }
.tbl caption { padding: 12px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: var(--fs-13); }
.table-note { max-width: 72ch; margin-top: var(--s-2); color: var(--muted); font-size: var(--fs-14); }
.table-note p:last-child { margin-bottom: 0; }
.disclosure { margin-top: var(--s-2); color: var(--muted); font-size: var(--fs-14); }
.tier-badge { margin-left: 8px; padding: 2px 9px; border: 1px solid var(--coral-line); border-radius: var(--r-pill); background: #fff; color: var(--coral-ink); font-size: .75rem; font-weight: 650; line-height: 1.45; vertical-align: 1px; white-space: nowrap; }
.yes { color: var(--yes); }
.no { color: var(--no); }
:is(.tbl, .facts-table) :is(.yes, .no) { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font: 700 15px/1 "Segoe UI Symbol", ui-sans-serif, system-ui, sans-serif; }
:is(.tbl, .facts-table) .yes { background: #E5F1E9; }
:is(.tbl, .facts-table) .no { background: #FBE9E6; }
/* key facts: a framed spec sheet, labels on mist */
.facts-table { border: 1px solid var(--line); border-radius: var(--r-md); border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; box-shadow: var(--shadow-sm); }
.facts-table :is(th, td) { padding: 15px 20px; border-bottom: 1px solid var(--line); vertical-align: top; }
.facts-table tr:last-child > * { border-bottom: 0; }
.facts-table th { width: 34%; background: var(--mist); color: var(--ink); font-weight: 600; }
.facts-table td { color: var(--ink-2); }
.facts > h2 + .facts-table, .facts > p + .facts-table { margin-top: var(--s-3); }
/* status badges (acceptance index, sale status): a dot + the word, quiet tints */
.trv-b { display: inline-flex; align-items: baseline; gap: 7px; max-width: 15rem; padding: 3px 10px 3px 9px; border: 1px solid transparent; border-radius: 12px; font-size: var(--fs-13); font-weight: 600; line-height: 1.4; white-space: normal; text-align: left; }
.trv-b::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: currentColor; transform: translateY(-1px); }
.trv-b-active, .trv-b-on { background: #E5F1E9; color: #1D5A38; border-color: #C3DDCC; }
.trv-b-reported { background: #E8EEF3; color: #2B4A62; border-color: #CAD8E3; }
.trv-b-unverified, .trv-b-unknown { background: var(--mist-2); color: #4A5754; border-color: var(--line-2); }
.trv-b-stopped, .trv-b-none, .trv-b-off, .trv-b-not-sold { background: #EEF0EC; color: #3F4A47; border-color: #D5DAD3; }
.trv-b-paused { background: #FBF0D9; color: #7A4B06; border-color: #ECD6A6; }
.trv-b-blocked { background: #FBE9E6; color: #8F1D12; border-color: #F0C8C1; }
.trv-sample { background: #FBF0D9; color: #7A4B06; }
/* index tables */
.trv-index .trv-sub { margin-top: 3px; color: var(--muted); font-size: var(--fs-13); font-weight: 400; }
.trv-index code { font-size: .8rem; }
.trv-wide table { min-width: 1080px; font-size: var(--fs-14); }
.trv-wide :is(th, td) { padding: 14px 12px; }
.trv-wide :is(th, td):first-child { padding-left: 18px; }
.trv-wide thead th { white-space: nowrap; }
.trv-wide tbody th { min-width: 8.5rem; }
.trv-wide td { min-width: 6rem; overflow-wrap: break-word; }
.trv-wide td.trv-ai-col-direct { min-width: 10.5rem; }
.trv-wide td.trv-ai-col-how { min-width: 7.5rem; }
.trv-wide td.trv-ai-col-conditions { min-width: 14rem; }
.trv-wide td.trv-ai-col-since { min-width: 7rem; } /* ISO dates on one line */
.trv-wide td.trv-ai-col-checked { min-width: 7.5rem; }
.trv-wide td.trv-ai-col-workaround { min-width: 12rem; }
.trv-wide td:is(.trv-ai-col-coins, .trv-ai-col-refund) { min-width: 10.5rem; }
.trv-wide td:is(.trv-ai-col-fees, .trv-ai-col-kyc) { min-width: 9rem; }
.trv-wide table:has(.trv-sub) td.trv-ai-col-checked { min-width: 6.5rem; }
.trv-wide td:last-child a { overflow-wrap: anywhere; }
.trv-index td :is(a, .src-t):has(+ br), .trv-index td br + :is(a, .src-t) { display: block; }
.trv-index td br + :is(a, .src-t) { margin-top: 8px; }
.trv-index td :is(a, .src-t) + br { display: none; }
.trv-dl { gap: 10px; margin-top: var(--s-2); color: var(--ink-2); font-size: var(--fs-15); }
.trv-dl svg { color: var(--coral); }
.trv-dl a { font-weight: 600; }
.trv-none-l { padding: 16px 20px; border: 1px dashed var(--line-2); border-radius: var(--r-md); color: var(--muted); font-size: var(--fs-15); }
.trv-sale-list td:nth-child(2) { color: var(--ink); font-weight: 600; }
.trv-refunds tbody th { min-width: 13rem; }
.trv-refunds td:nth-child(2) { color: var(--ink); font-weight: 600; }
.trv-price { margin: var(--s-4) 0; padding: 20px var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; }
.trv-price-k { color: var(--muted); font-size: var(--fs-14); font-weight: 600; }
.trv-price-v strong { color: var(--coral-ink); font: 600 var(--fs-32)/1.15 var(--font-display); }
.trv-price.trv-none { max-width: none; padding: 16px 20px; background: var(--mist); border-color: transparent; }
.trv-price.trv-none p { color: var(--ink-2); font-size: var(--fs-15); }
.trv-price.trv-none svg { color: var(--coral); }
.trv-poi-l li::marker { color: var(--coral); }
.trv-poi-l small, .trv-poi-d { color: var(--muted); }
.trv-attr { color: var(--muted); font-size: var(--fs-13); }

/* ------------------------------------------------------------------------------------------------------ 10. steps */
/* numerals in coral serif, a hairline between them; the engine's decorative step icons (aria-hidden SVG, no text) give
   way to the numerals */
.steps { margin: var(--s-5) 0; }
.step-list { margin: var(--s-4) 0 var(--s-3); }
.step-list .step-ic { display: none; }
.step-list > li, .step-list > li.has-ic { position: relative; margin: 0; padding: 0 0 var(--s-4) 64px; }
.step-list > li::before, .step-list > li.has-ic::before { content: counter(s, decimal-leading-zero); left: 0; top: 0; z-index: 1; box-sizing: border-box; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--coral-line); border-radius: 50%; background: var(--coral-soft); color: var(--coral-ink); font: 600 var(--fs-17)/1 var(--font-body); font-variant-numeric: tabular-nums lining-nums; }
.step-list > li:not(:last-child)::after { content: ""; position: absolute; left: 21.5px; top: 52px; bottom: 8px; width: 1px; background: var(--line-2); }
.step-list > li:last-child { padding-bottom: 0; }
.step-name { margin: 8px 0 6px; color: var(--ink); font: 600 var(--fs-20)/1.3 var(--font-serif); }
.step-list > li > p:not(.step-name) { margin: 0 0 var(--s-1); }
.step-list > li > p:last-child { margin-bottom: 0; }
.pay-help { max-width: 72ch; color: var(--muted); font-size: var(--fs-15); }
.band .step-list > li::before { background: #fff; }
/* home: the promise band - midnight green, three columns, large coral numerals joined by a hairline */
/* one layer paints the band edge to edge: a night field with a flat sunset glow on its lower edge (a horizon, not a
   blot: saturated core, wide and low), drawn by border-image (its
   outsets are ink overflow, never scrollable; the engine clip-path keeps it to the band's height) */
.t-home .band:has(> .trv-held) { padding: var(--s-15) 0; background: none; box-shadow: none; color: var(--on-dark-2);
  border-image: radial-gradient(42vw 26% at calc(50% + 22vw) 100%, #8A4029, var(--night) 100%) fill 0 / 0 / 0 100vmax; }
.t-home .band > .trv-held { position: relative; margin: 0; }
.t-home .band > .trv-held h2 { max-width: 16em; color: var(--on-dark); }
.t-home .trv-held .step-list > li::before { border: 0; background: none; color: var(--sun); font: 500 var(--fs-48)/1 var(--font-display); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -0.02em; place-items: start; width: auto; height: auto; }
.t-home .trv-held .step-name { color: var(--on-dark); }
.t-home .trv-held .step-list > li > p:not(.step-name) { color: var(--on-dark-2); }
.t-home .trv-held .step-list > li:not(:last-child)::after { background: var(--dark-line); }
/* the protection box after the three steps (d2 graft, on the night): a hairline frame and a drawn apricot shield */
.t-home .trv-held .pay-help { display: flex; align-items: flex-start; gap: 14px; max-width: none; margin: 0; padding: 18px 22px; border: 1px solid rgb(244 239 230 / .22); border-radius: var(--r-md); background: rgb(255 255 255 / .05); color: var(--on-dark); font-size: var(--fs-16); line-height: 1.55; }
.t-home .trv-held .pay-help::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; background: var(--sun); -webkit-mask: var(--i-shield) center / contain no-repeat; mask: var(--i-shield) center / contain no-repeat; }
.t-home .trv-held .pay-help a, .t-home .band:has(> .trv-held) a { color: var(--on-dark); }
@media (min-width: 900px) {
  .t-home .steps .step-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-8); margin: var(--s-7) 0 var(--s-6); }
  .t-home .steps .step-list > li { padding: 0; }
  .t-home .steps .step-list > li::before { position: relative; display: block; margin: 0 0 var(--s-3); }
  .t-home .steps .step-list > li:not(:last-child)::after { left: 96px; right: calc(-1 * var(--s-8) + 16px); top: 26px; bottom: auto; width: auto; height: 1px; }
  .t-home .steps .step-name { margin: 0 0 var(--s-1); font-size: var(--fs-24); line-height: 1.25; }
  .t-home .trv-held .pay-help { padding: 20px 28px; }
}

/* ------------------------------------------------------------- 11. trust, cards, stats, ranking, link grid, coins */
/* icon tiles: a coral disc with the line icon */
.card-ic, .trust-ic, .stat-ic { display: inline-grid; place-items: center; flex: none; box-sizing: border-box; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: var(--coral-soft); color: var(--coral-ink); }
:is(.card-ic, .trust-ic) .ic { width: 22px; height: 22px; }
.band :is(.card-ic, .trust-ic, .stat-ic) { background: #fff; }
:root .band .trust > li { background: none; }
/* trust: open columns, no boxes */
.trust-sec { margin: var(--s-5) 0; }
.trust { gap: var(--s-4) var(--s-5); margin: var(--s-5) 0 0; align-items: stretch; }
.trust > li { flex-direction: column; gap: var(--s-2); padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.trust-t { margin: 0 0 6px; color: var(--ink); font: 650 var(--fs-18)/1.35 var(--font-body); letter-spacing: -0.008em; }
.trust-d { color: var(--muted); font-size: var(--fs-15); line-height: 1.6; }
:is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-faq, .t-usecase) .content .trust { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--s-4); }
.trust-sec.compact .trust > li { flex-direction: row; padding: 0; border: 0; }
.trust-sec.compact .trust-ic { width: 34px; height: 34px; }
/* home: the four promises right under the search, one row of four on wide screens, each under a hairline */
@media (min-width: 900px) {
  .t-home .content > .trust-sec > .trust { margin-top: 0; gap: var(--s-4) var(--s-5); }
}
.t-home .content > .trust-sec .trust > li { padding-top: var(--s-3); border-top: 1px solid var(--line); }
/* cards: white, hairline edge, equal heights; a link card lifts and shows an arrow */
.cards { gap: var(--s-3); align-items: stretch; }
.card { display: flex; flex-direction: column; padding: 30px 30px 26px; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; box-shadow: none; }
.card > :last-child { margin-bottom: 0; }
.card-ic { margin-bottom: var(--s-3); }
.card h3 { margin: 0 0 var(--s-1); padding-right: 32px; font-size: var(--fs-22); line-height: 1.25; }
.card h3 a { color: var(--ink); text-decoration: none; }
.card p { margin: 0 0 .5em; color: var(--muted); font-size: var(--fs-15); line-height: 1.6; }
.card .card-tag { margin: 0 0 6px; color: var(--coral-ink); font-size: var(--fs-14); font-weight: 600; }
.card-link { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.card-link::after { content: ""; position: absolute; top: 32px; right: 28px; width: 20px; height: 20px; background: var(--line-2); -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; transition: background-color .15s ease, transform .15s ease; }
.card-link.has-ic::after { top: 44px; }
.card-link:hover { border-color: var(--coral-line); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.card-link:hover h3 a { color: var(--coral-ink); }
.card-link:hover::after { background: var(--coral); transform: translateX(3px); }
.card-link:focus-within { outline: none; }
.card-link:has(h3 a:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
@media (min-width: 640px) { .cards:is(:has(> :nth-child(2):last-child), :has(> :nth-child(4):last-child)) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) {
  .cards:is(:has(> :nth-child(3):last-child), :has(> :nth-child(5):last-child), :has(> :nth-child(6):last-child), :has(> :nth-child(9):last-child)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 640px) {
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-faq, .t-usecase, .t-article, .t-glossary, .t-product) .content .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* stats */
.stats { gap: var(--s-2); margin: var(--s-4) 0; }
.stat { padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; box-shadow: none; }
.stat-ic { width: 40px; height: 40px; margin-bottom: var(--s-2); }
.stat-ic .ic { width: 19px; height: 19px; }
.stat-v { color: var(--ink); font: 500 var(--fs-40)/1.05 var(--font-display); letter-spacing: -0.02em; font-variant-numeric: lining-nums tabular-nums; }
.stat-l { color: var(--ink-2); font-size: var(--fs-15); font-weight: 600; }
.stat-n { color: var(--muted); font-size: var(--fs-13); }
/* ranking: numeral tiles; our own entry framed in coral and marked */
.ranking { margin: var(--s-5) 0; }
.rank-list { margin: var(--s-4) 0; }
.rank { margin: 0 0 var(--s-2); padding: 28px; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; }
.rank.self { border-color: var(--coral); box-shadow: inset 0 0 0 1px var(--coral); background: #fff; }
.rank-head { gap: 16px; }
.rank-head h3 { font-size: var(--fs-24); }
.rank-head h3 a { color: var(--ink); text-decoration: none; }
.rank-head h3 a:hover { color: var(--coral-ink); text-decoration: underline; }
.rank-n { box-sizing: border-box; width: 40px; height: 40px; padding: 0; border-radius: 50%; background: var(--mist-2); color: var(--ink); font: 600 var(--fs-17)/1 var(--font-body); }
.rank.self .rank-n { background: var(--coral); color: #fff; }
.rank-badge { padding: 0; border-radius: 0; background: none; color: var(--muted); font: 600 var(--fs-14)/1.5 var(--font-body); }
.rank.self .rank-badge { color: var(--coral-ink); }
.rank > .rank-verdict { max-width: 68ch; margin: 14px 0 var(--s-2); }
.rank > :last-child, .rank .pc, .rank .pc ul, .rank .pc li:last-child { margin-bottom: 0; }
.rank-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px 24px; margin: 0 0 var(--s-2); padding: 14px 0; border-block: 1px solid var(--line); font-size: var(--fs-15); }
.rank-meta > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rank-meta dt, .rank-meta dd { display: block; }
.rank-meta dt { color: var(--muted); font-size: var(--fs-13); }
.rank-meta dt::after { content: none; }
.rank-meta dd { color: var(--ink); font-weight: 500; }
.pc { gap: 8px var(--s-4); margin-bottom: var(--s-1); font-size: var(--fs-15); }
.pc-h { color: var(--ink); }
.pc ul { list-style: none; margin: 6px 0 var(--s-1); padding: 0; }
.pc li { position: relative; margin: .3em 0; padding-left: 1.3em; }
/* pros and cons: a drawn plus / minus (shapes, not characters) */
.pc li::before { content: ""; position: absolute; left: 0; top: calc(.8em - 6px); width: 12px; height: 12px; -webkit-mask: var(--i-plus) center / contain no-repeat; mask: var(--i-plus) center / contain no-repeat; }
.pc > div:first-child:not(:only-child) li::before { background: var(--yes); }
.pc > div:last-child li::before { background: var(--no); -webkit-mask-image: var(--i-minus); mask-image: var(--i-minus); }
/* link grid (cities, booking sites): framed tiles, the whole tile is the link, the note under the name */
.linkgrid { margin: var(--s-5) 0; }
.lg { grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: var(--s-1); font-size: var(--fs-15); }
.lg li { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 1px; min-height: 56px; margin: 0; padding: 10px 16px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.lg li:hover { border-color: var(--coral-line); box-shadow: var(--shadow-sm); }
.lg a { display: flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 600; line-height: 1.3; text-decoration: none; }
.lg a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.lg li:hover > a { color: var(--coral-ink); }
.lg a:focus-visible { outline: none; }
.lg li:has(> a:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.lg-note { color: var(--muted); font-size: var(--fs-13); line-height: 1.35; }
.lg-group { margin: var(--s-3) 0 var(--s-1); color: var(--ink); font-size: var(--fs-15); font-weight: 650; }
.band .lg li { background: #fff; }
/* city tiles: a small arched postcard before the name (the drawn city where there is one, else a generic skyline) */
.lg li:has(> a[href*="/hotels/"]) { min-height: 68px; padding-left: 64px; }
.lg a[href*="/hotels/"]::before { content: ""; position: absolute; left: 14px; top: 50%; width: 36px; height: 44px; margin-top: -22px; border-radius: 18px 18px 4px 4px; background: var(--night) var(--pc) center / cover no-repeat; }
/* coins */
.coinstrip { gap: 10px 24px; margin: var(--s-4) 0; padding: var(--s-2) var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; }
:root .cs-label { color: var(--ink); font-size: var(--fs-15); font-weight: 600; }
.coin-row li { color: var(--ink-2); font: 600 var(--fs-14)/1 var(--font-body); }
.coins { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 12px; }
.coins li { align-content: center; row-gap: 2px; padding: 16px; border-color: var(--line); border-radius: var(--r-md); background: #fff; }
.coin-code { color: var(--ink); font-family: var(--font-body); line-height: 1.3; }
.coin-logo { max-width: none; }
/* one tone for every coin logo (strip, coin cards, confirmation table): night disc, white glyph; brand colours on hover */
:is(.coinstrip, .coins) li:not(:hover):not(:focus-within) .coin-logo circle, .pay-table .coin-logo circle { fill: var(--night); }
:is(.coinstrip, .coins) li:not(:hover):not(:focus-within) .coin-logo :is(path, ellipse):not([fill="none"]):not([fill="none"] *),
.pay-table .coin-logo :is(path, ellipse):not([fill="none"]):not([fill="none"] *) { fill: #fff; }

/* ------------------------------------------------------------------------------------------- 12. FAQ, folds, sources */
.faq-item { padding: var(--s-3) 0; border-bottom: 1px solid var(--line); }
.faq > .faq-item:last-child { border-bottom: 0; padding-bottom: 0; }
.faq-item h3 { margin: 0 0 var(--s-1); font-size: var(--fs-20); line-height: 1.3; }
.faq-a { color: var(--ink-2); }
.faq-a p:last-child { margin-bottom: 0; }
.band .faq-item { border-bottom-color: var(--line-2); }
@media (min-width: 1000px) {
  .t-home .band .faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-8); align-items: stretch; }
  .t-home .band .faq > h2 { grid-column: 1 / -1; margin: 0 0 var(--s-2); }
  .t-home .band .faq > .faq-item:nth-last-child(2):nth-child(even) { border-bottom: 0; padding-bottom: 0; }
  .t-home .faq-a { font-size: var(--fs-16); }
}
/* folded blocks ("collapsed"): a full-width row with a drawn chevron */
.fold { margin: var(--s-5) 0; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; }
.fold > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); min-height: 68px; padding: 0 var(--s-3); color: var(--ink); font: 600 var(--fs-20)/1.3 var(--font-serif); cursor: pointer; }
.fold > summary::-webkit-details-marker { display: none; }
.fold > summary::marker { content: ""; }
.fold > summary::after { content: ""; flex: none; width: 22px; height: 22px; background: var(--coral); -webkit-mask: var(--i-chev) center / contain no-repeat; mask: var(--i-chev) center / contain no-repeat; transition: transform .2s ease; }
.fold[open] > summary::after { transform: rotate(180deg); }
.fold > summary:hover { color: var(--coral-ink); }
.fold[open] > summary { border-bottom: 1px solid var(--line); }
.fold > :not(summary) { margin: 0; padding: var(--s-1) var(--s-3) var(--s-3); }
.fold > :not(summary) > h2:first-child { margin-top: var(--s-2); font-size: var(--fs-24); }
.fold .facts-table { border-width: 1px 0 0; border-radius: 0; box-shadow: none; }
.fold > .facts { padding-inline: 0; padding-bottom: 0; }
.fold > .facts > h2:first-child { padding-inline: var(--s-3); }
.fold .facts-table :is(th, td):first-child { padding-left: var(--s-3); }
.fold .facts-table tr:last-child > th { border-bottom-left-radius: calc(var(--r-md) - 1px); }
/* sources: a quiet disclosure row */
.sources details { margin-top: var(--s-5); padding-top: var(--s-1); border-top: 1px solid var(--line); }
.sources summary { list-style: none; display: inline-flex; align-items: center; gap: 10px; padding-block: 12px; color: var(--ink-2); font-size: var(--fs-15); font-weight: 600; cursor: pointer; }
.sources summary::-webkit-details-marker { display: none; }
.sources summary::marker { content: ""; }
.sources summary::before { content: ""; flex: none; width: 18px; height: 18px; background: var(--coral); -webkit-mask: var(--i-chev) center / contain no-repeat; mask: var(--i-chev) center / contain no-repeat; transform: rotate(-90deg); transition: transform .2s ease; }
.sources details[open] summary::before { transform: none; }
.sources summary:hover { color: var(--coral-ink); }
.sources ol { padding-left: 2.2em; color: var(--muted); }
.sources li::marker { font-variant-numeric: tabular-nums; }
.src-t { color: var(--ink-2); }
.src-u { font-size: inherit; }
.ext-ref { text-decoration-color: var(--line-2); }
.defs { margin: var(--s-5) 0; }
.def { padding: var(--s-2) 0; border-bottom: 1px solid var(--line); }
.def:last-child { border-bottom: 0; }
.def dt { color: var(--ink); font: 600 var(--fs-18)/1.35 var(--font-serif); }
.def dd { margin: 4px 0 0; color: var(--ink-2); }

/* ------------------------------------------------------------------------------------------------ 13. call to action */
/* the closing panel: a large arched window at dusk - night sky, a coral glow on the horizon, the skyline at its foot.
   A true half-circle arch, as in the logo, the postcards and the page-head drawings: 360 px radii on a 720 px panel;
   on a narrower panel the browser scales the radii down together, so the top stays a half circle */
.cta { position: relative; overflow: hidden; isolation: isolate; flex-direction: column; align-items: center; justify-content: center; gap: var(--s-3); max-width: 720px; margin: var(--s-12) auto 0; padding: 184px var(--s-6) 168px; border-radius: 360px 360px var(--r-lg) var(--r-lg); background: radial-gradient(70% 55% at 50% 100%, rgb(232 96 60 / .55), rgb(232 96 60 / 0) 70%), linear-gradient(180deg, var(--night) 0%, #1B3A3A 55%, #4A4559 100%); color: var(--on-dark-2); text-align: center; }
.cta::before { content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 120px; background: var(--ill-strip) center bottom / auto 100% repeat-x; }
.cta::after { content: ""; position: absolute; z-index: -1; top: 56px; left: 50%; width: 30px; height: 40px; margin-left: -15px; background: var(--ill-mark-dark) center / contain no-repeat; }
.t-home .content > .cta { width: 100%; }
.cta > div:first-child { min-width: 0; max-width: 580px; }
.cta-h { margin: 0 0 var(--s-2); color: var(--on-dark); font: 500 clamp(2rem, 1.4rem + 1.8vw, 3.125rem)/1.06 var(--font-display); letter-spacing: -0.022em; overflow-wrap: anywhere; }
.cta-t { overflow-wrap: anywhere; }
.cta-t p { margin: 0; color: var(--on-dark-2); font-size: var(--fs-18); opacity: 1; text-wrap: balance; }
.cta-t a { color: var(--on-dark); }
.cta-btns { justify-content: center; gap: 12px; }
.cta .btn-primary { background: var(--coral); border-color: var(--coral); color: #fff; }
.cta .btn-primary:hover { background: var(--coral-hover); border-color: var(--coral-hover); color: #fff; }
.cta .btn-ghost { background: rgb(15 42 39 / .35); border-color: rgb(244 239 230 / .45); color: var(--on-dark); }
.cta .btn-ghost:hover { background: rgb(15 42 39 / .6); border-color: var(--on-dark); color: #fff; }
.cta :focus-visible { outline-color: var(--on-dark); }
.band .cta { background-color: var(--night); }
.band > .cta { margin-top: 0; }
:is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-faq, .t-usecase) .content > .cta { margin-inline: 0; padding-inline: var(--s-5); }

/* ------------------------------------------------------------------------------------------- 14. related, about */
.related { max-width: none; margin-top: var(--section); }
.related > h2 { margin: 0 0 var(--s-3); font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.375rem); } /* the h2 scale (as "Popular destinations") */
.related-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: var(--s-2); align-items: stretch; }
.related-list li { position: relative; display: grid; grid-template-rows: subgrid; grid-row: span 2; align-content: start; gap: 6px; padding: var(--s-3) 56px var(--s-3) var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.related-list li::after { content: ""; position: absolute; top: 27px; right: 24px; width: 18px; height: 18px; background: var(--line-2); -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; transition: transform .15s ease, background-color .15s ease; }
.related-list li:hover { border-color: var(--coral-line); box-shadow: var(--shadow-sm); }
.related-list li:hover::after { background: var(--coral); transform: translateX(3px); }
.related-list a { color: var(--ink); font: 600 var(--fs-18)/1.3 var(--font-serif); text-decoration: none; }
.related-list a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.related-list li:hover a { color: var(--coral-ink); }
.related-list a:focus-visible { outline: none; }
.related-list li:has(a:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.related-list p { margin: 0; color: var(--muted); font-size: var(--fs-15); line-height: 1.55; }
.about-box { max-width: var(--measure); margin: var(--s-8) 0 0; padding: var(--s-3) 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; color: var(--muted); font-size: var(--fs-14); }
.about-h { color: var(--ink); font-size: var(--fs-14); font-weight: 650; }

/* ------------------------------------------------------------------------------------------------------ 15. footer */
/* midnight green, cream text, apricot column headings, the six coin logos in their own colours (d2 graft) */
.ftr { margin-top: var(--s-15); padding: var(--s-10) 0 var(--s-4); background: #0F2A27; border-top: 0; color: var(--on-dark-2); font-size: var(--fs-15); }
.ftr .wrap:first-child { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); }
.f-brand { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--s-8); align-items: start; padding-bottom: var(--s-5); border-bottom: 1px solid var(--dark-line); }
.f-brand > :not(.f-contact) { grid-column: 1; }
.f-brand > .f-contact { grid-column: 2; grid-row: 1 / span 2; }
.f-logo { gap: 12px; margin: 0 0 var(--s-3); color: var(--on-dark); font: 650 var(--fs-24)/1 var(--font-body); letter-spacing: -0.02em; }
:root .f-logo.has-img .logo-img { height: 34px; }
.ftr .f-logo .logo-mark { background: var(--on-dark); }
.f-desc { max-width: 64ch; margin: 0; color: var(--on-dark-2); font-size: var(--fs-15); line-height: 1.65; }
.f-contact { flex-direction: column; align-items: flex-start; gap: 6px; font-size: var(--fs-15); }
.f-contact-h { color: var(--sun); font-weight: 600; }
.f-contact a { color: var(--on-dark); opacity: 1; }
.f-contact a:hover { color: #fff; }
.f-contact .ic { color: var(--sun); }
.f-cols { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-4) var(--s-3); }
.f-h { margin: 0 0 var(--s-2); color: var(--sun); font: 600 var(--fs-15)/1.3 var(--font-body); }
.f-col li { margin: 0 0 10px; }
.f-col a { color: var(--on-dark-2); font-size: var(--fs-15); line-height: 1.4; }
.f-col a:hover { color: var(--on-dark); text-decoration: underline; text-decoration-color: currentColor; }
.ftr :focus-visible { outline-color: var(--on-dark); }
.ftr :is(.f-pay, .f-bottom) { width: min(calc(var(--wrap) - 48px), calc(100% - 48px)); padding-inline: 0; border-top: 1px solid var(--dark-line); }
.f-pay { gap: 12px 28px; margin-top: var(--s-6); padding-top: var(--s-3); }
:root .f-pay-h { color: var(--sun); font-size: var(--fs-15); font-weight: 600; }
.coins-mini { gap: 10px 22px; margin: 0; }
.coins-mini li { gap: 8px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--on-dark-2); font: 600 var(--fs-14)/1 var(--font-body); }
.coins-mini .coin-logo { width: 22px; height: 22px; border-radius: 50%; box-shadow: 0 0 0 1.5px rgb(244 239 230 / .28); }
.f-pay-n { color: var(--on-dark-2); font-size: var(--fs-14); opacity: 1; }
.f-bottom { margin-top: var(--s-3); padding-top: var(--s-3); color: var(--on-dark-2); font-size: var(--fs-14); }
.f-pay + .f-bottom { margin-top: var(--s-3); }
.f-legal a, .langs a { color: var(--on-dark-2); }
.f-legal a:hover, .langs a:hover { color: var(--on-dark); }
.langs a[aria-current] { color: var(--on-dark); }

/* -------------------------------------------------------------------------------------------- 16. band, sticky bar */
.band { margin: var(--section) 0; padding: 96px 0; background: var(--mist); box-shadow: 0 0 0 100vmax var(--mist); }
.band > :last-child, .band > :last-child > :last-child { margin-bottom: 0; }
.band > :first-child, .band > :first-child > h2:first-child { margin-top: 0; }
.band :is(.table-wrap, .card, .rank, .stat, .fold, .related-list li, .facts-table, .coins li, .trv-price, .toc) { background: #fff; }
.band :is(.quick-answer, .callout, .method, .coinstrip) { background: #fff; }
.t-home .content > .band { margin-top: var(--section); }
.t-home .content > .band + * { margin-top: var(--section); }
.sticky-cta { border-top: 1px solid var(--line); background: rgb(255 255 255 / .97); box-shadow: 0 -10px 28px -20px rgb(15 42 39 / .45); }
.sticky-cta .btn { min-height: 48px; }
.sc-note { color: var(--ink-2); }

/* --------------------------------------------------------------------------------------------- 17. page layouts */
:is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-faq, .t-usecase, .t-article, .t-glossary, .t-product) .content { max-width: var(--measure); }
body:not(.t-home) .content > .quick-answer:first-child { margin-top: var(--s-5); }
:is(.t-pricing, .t-hub, .t-report, .t-best) .content { max-width: none; }
:is(.t-pricing, .t-hub, .t-report, .t-best) .content > :is(p, ul:not([class]), ol:not([class]), .prose, .callout, .quick-answer, .faq, .facts, .steps, .defs, .method, .sources, .trv-price),
:is(.t-pricing, .t-hub, .t-report, .t-best) .content > :is(.sec, .tbl, .ranking, .linkgrid, .cards-sec, .trust-sec, .stats-sec) > :is(p, ul:not([class]), ol:not([class]), .prose, .table-note, .disclosure, .checked, .method, .callout, .trv-dl) { max-width: var(--measure); }
:is(.t-pricing, .t-hub, .t-report, .t-best) .content > .faq > .faq-item { max-width: var(--measure); }
:is(.t-pricing, .t-hub, .t-report, .t-best) .content > :is(.sec, .tbl, .ranking, .linkgrid, .cards-sec, .trust-sec, .stats-sec, .coins-sec, .trv-search) > :is(h2, h3) { max-width: var(--measure); }
.sec > h3, .content > h3 { margin-top: 1.8em; }
@media (min-width: 1200px) {
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-usecase, .t-article, .t-faq) main.wrap:has(> .toc) { display: grid; grid-template-columns: minmax(0, var(--measure)) 260px; justify-content: space-between; column-gap: var(--s-8); align-items: start; }
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-usecase, .t-article, .t-faq) main.wrap:has(> .toc) > * { grid-column: 1; min-width: 0; }
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-usecase, .t-article, .t-faq) main.wrap:has(> .toc) > :is(.crumbs, .page-head) { grid-column: 1 / -1; }
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-usecase, .t-article, .t-faq) main.wrap > .toc { grid-column: 2; grid-row: 3 / span 4; position: sticky; top: calc(var(--hdr-h) + var(--s-3)); max-height: calc(100vh - var(--hdr-h) - var(--s-6)); overflow: auto; margin: var(--s-5) 0 0; padding: 4px 4px var(--s-2) var(--s-3); border: 0; border-left: 1px solid var(--line); border-radius: 0; font-size: var(--fs-14); }
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-usecase, .t-article, .t-faq) main.wrap > .toc ol { columns: auto; list-style: none; padding: 0; }
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-usecase, .t-article, .t-faq) main.wrap > .toc a { display: block; padding: 6px 0; color: var(--muted); line-height: 1.4; text-decoration: none; }
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-usecase, .t-article, .t-faq) main.wrap > .toc a:hover { color: var(--coral-ink); }
}
/* pricing, data pages, hubs, rankings: their tables and grids use the full width, so a side column could never follow
   the reading (it would sit beside the first two blocks, then leave a tall empty strip). The contents stay a full-width
   block in DOM order above the quick answer, as from 761 to 1199 px, in two columns (three from nine entries). One grid
   column keeps the rhythm of these pages (no margin collapsing). */
@media (min-width: 1200px) {
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > *,
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > * { grid-column: 1 / -1; min-width: 0; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content { display: contents; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap > .toc { max-width: none; margin: var(--s-5) 0 0; padding: 20px 28px 22px; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap > .toc ol { columns: 2; column-gap: var(--s-6); }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap > .toc:has(li:nth-child(9)) ol { columns: 3; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > * { margin-block: var(--s-8) 0; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > .quick-answer { margin-top: var(--s-5); }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > .quick-answer + * { margin-top: var(--s-6); }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > :not(.cta, .band, .quick-answer, .fold) > h2:first-child { margin-top: 0; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > :not(.cta, .band, .quick-answer, .fold) > :last-child { margin-bottom: 0; }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > .band { margin-top: var(--s-12); }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > .band + * { margin-top: var(--s-12); }
  :is(.t-pricing, .t-report, .t-best, .t-hub) main.wrap:has(> .toc) > .content > .sources { margin-top: var(--s-4); }
}
/* FAQ page: questions in the reading column, generous rhythm */
.t-faq .faq { margin-top: var(--s-6); }
.t-faq .faq > h2 { padding-top: var(--s-4); border-top: 1px solid var(--line); }
.t-faq .content > .faq:not(.faq ~ .faq) > h2 { padding-top: 0; border-top: 0; }
/* legal pages: document sections separated by hairlines */
.t-legal .content h2 { margin-top: 2em; padding-top: 1em; border-top: 1px solid var(--line); font-size: var(--fs-28); }
.t-legal .content > :first-child h2, .t-legal .content > .facts h2 { padding-top: 0; border-top: 0; }

/* ------------------------------------------------------------------------------------------------------- 18. 404 */
.t-legal main.wrap:not(:has(> .crumbs)):has(> .content > .prose:only-child) { padding-block: var(--s-10) var(--s-6); text-align: center; }
.t-legal main.wrap:not(:has(> .crumbs)):has(> .content > .prose:only-child) > .page-head { max-width: none; padding-top: 0; border-bottom: 0; }
.t-legal main.wrap:not(:has(> .crumbs)):has(> .content > .prose:only-child) > .page-head::before { content: ""; display: block; width: 150px; height: 182px; margin: 0 auto var(--s-4); border-radius: 75px 75px 8px 8px; background: var(--ill-hero) center 14px / 78% auto no-repeat, var(--night); } /* the hero window inside a night arch: its cream frame reads on the night, its foot melts into it */
.t-legal main.wrap:not(:has(> .crumbs)):has(> .content > .prose:only-child) > .page-head > * { max-width: none; }
.t-legal main.wrap:not(:has(> .crumbs)):has(> .content > .prose:only-child) h1 { font-size: clamp(2.5rem, 1.6rem + 3vw, 3.75rem); }
.t-legal main.wrap:not(:has(> .crumbs)):has(> .content > .prose:only-child) > .content { max-width: 560px; margin-inline: auto; font-size: var(--fs-18); }

/* ---------------------------------------------------------------------------------------------------- 19. tablets */
@media (max-width: 1099px) {
  /* wide tables (the acceptance index…) scroll inside their frame from 1099 px down: a soft edge shadow says "more on the
     right" (it fades out at the end of the scroll), the row label stays pinned */
  .tbl .table-wrap { background: linear-gradient(to left, #fff 45%, rgb(255 255 255 / 0)) right / 40px 100% no-repeat local, linear-gradient(to left, rgb(15 42 39 / .12), rgb(15 42 39 / 0)) right / 14px 100% no-repeat scroll, #fff; }
  .tbl :is(tbody th, thead th:first-child) { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: inset -1px 0 0 var(--line); }
  .tbl thead th:first-child { background: var(--mist); }
  .tbl tr.hl th { background: var(--coral-soft); box-shadow: inset 3px 0 0 var(--coral), inset -1px 0 0 var(--line); }
  .f-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .t-home main.wrap > .page-head::after { width: 300px; }
  .t-home main.wrap > .page-head > *, .t-home .page-head .hero-note { max-width: min(640px, calc(100% - 330px)); }
  .t-home .trv-home-search .ds-pop ul { gap: var(--s-3) 14px; }
  .t-home .content > .quick-answer { display: block; padding: var(--s-6); }
  .t-home .content > .quick-answer > .qa-text { margin-top: var(--s-3); }
}
@media (max-width: 899px) {
  /* the window gives way to a skyline at the foot of the hero */
  .t-home main.wrap > .page-head { padding-bottom: 140px; }
  .t-home main.wrap > .page-head::after { left: -24px; right: -24px; bottom: 20px; width: auto; height: 96px; aspect-ratio: auto; background: var(--ill-strip) center bottom / auto 100% repeat-x; filter: none; }
  .t-home main.wrap > .page-head > *, .t-home .page-head .hero-note { max-width: 680px; }
  .t-home .trv-home-search .ds-pop ul { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3) 16px; }
}

/* ----------------------------------------------------------------------------------------------------- 20. phones */
@media (max-width: 760px) {
  :root:root { --section: 72px; --hero-tail: 112px; }
  .wrap { padding-inline: 16px; }
  html:has(body.has-sticky) { scroll-padding-bottom: 96px; }
  h1 { font-size: clamp(2.125rem, 1.4rem + 3vw, 2.5rem); }
  h2 { margin-top: 1.8em; font-size: 1.875rem; }
  .page-head { padding: var(--s-3) 0 var(--s-5); }
  /* the cover drawing above the kicker (d1 graft): the city 100 x 120, the other templates 80 x 96 */
  body:not(.t-home) main.wrap > .crumbs + .page-head { padding-top: var(--s-1); }
  body:not(.t-home) main.wrap > .crumbs + .page-head::before { content: ""; display: block; width: 80px; height: 96px; margin: 0 0 var(--s-3); border-radius: 40px 40px 6px 6px; background: var(--night) var(--head-art) center / cover no-repeat; }
  body.t-location main.wrap > .crumbs + .page-head::before { width: 100px; height: 120px; border-radius: 50px 50px 8px 8px; }
  body.t-legal main.wrap > .crumbs + .page-head::before { content: none; } /* legal pages: the quiet arch shows from 761 px only */
  .lede { font-size: var(--fs-18); }
  .crumbs ol { margin-top: var(--s-1); }
  .crumbs li { display: inline-flex; align-items: center; min-height: 44px; }
  .crumbs li[aria-current] { min-height: 0; } /* not a link: when it wraps alone, its row stays a text line */
  .nav { top: 76px; padding: 4px 16px 16px; }
  :root .topbar { padding: 8px 0; }
  /* the three promises all shown (the engine hides the 2nd and 3rd: no hidden text here), on short centred lines */
  :root .topbar .wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 18px; white-space: normal; overflow: visible; text-overflow: clip; }
  :root .topbar .tb-s { align-items: flex-start; }
  :root .topbar .tb-s::before { margin-top: .2em; }

  /* home hero */
  .t-home main.wrap > .page-head { padding-top: var(--s-5); padding-bottom: 104px; }
  .t-home main.wrap > .page-head::before { left: -16px; right: -16px; background: radial-gradient(80% 7% at 58% calc(100% - 150px), rgb(232 96 60 / .5), rgb(232 96 60 / 0) 100%); } /* a flat sunset behind the skyline, not a blot behind the search heading */
  .t-home main.wrap > .page-head::after { left: -16px; right: -16px; bottom: 18px; height: 68px; }
  .t-home .page-head h1 { font-size: clamp(2.25rem, 1.5rem + 3.2vw, 2.625rem); line-height: 1.04; }
  .t-home .page-head .lede { margin-top: var(--s-2); font-size: var(--fs-17); line-height: 1.5; }
  .t-home .page-head .hero-note { margin-top: var(--s-2); padding: 0; border: 0; background: none; }
  .t-home .trv-home-search > h2 { margin-bottom: var(--s-2); font-size: var(--fs-22); }
  .t-home .trv-home-search .ds-pop { margin-top: var(--s-7); gap: var(--s-2); }
  /* postcards: a compact two-column grid (d1 graft): the arched drawing small on the left of the name, all eight
     cities on screen, no sideways scroll */
  .t-home .trv-home-search .ds-pop ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .t-home .trv-home-search .ds-pop a { flex-direction: row; align-items: center; gap: 12px; min-height: 64px; padding: 8px 10px 8px 8px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; font-size: var(--fs-17); overflow-wrap: anywhere; }
  .t-home .trv-home-search .ds-pop a::before { flex: none; width: 40px; height: 48px; aspect-ratio: auto; border-radius: 20px 20px 4px 4px; box-shadow: none; }
  .t-home .trv-home-search .ds-pop a:hover { border-color: var(--coral-line); }
  .t-home .trv-home-search .ds-pop a:hover::before { transform: none; box-shadow: none; }
  /* the price note under the destinations: 14 px, a tighter line, the shield on the first line */
  html:root .t-home .trv-home-search > .trv-note { margin-top: var(--s-3); gap: 8px; font-size: var(--fs-14); line-height: 1.5; }
  .t-home .trv-home-search > .trv-note svg { width: 16px; height: 16px; margin-top: 2px; }
  .t-home .content > .quick-answer { padding: var(--s-4) 20px; border-radius: var(--r-md); }
  .t-home .content > .quick-answer > .qa-text { font-size: var(--fs-17); }
  .t-home h2 { font-size: 2rem; margin-bottom: var(--s-4); }
  .band { padding: 72px 0; }
  .t-home .band:has(> .trv-held) { padding: 80px 0; border-image-source: radial-gradient(84vw 12% at 64% 100%, #8A4029, var(--night) 100%); }
  .t-home .trv-held .step-list > li, .t-home .trv-held .step-list > li.has-ic { padding-left: 72px; }
  .t-home .trv-held .step-list > li::before { font-size: var(--fs-40); }
  .t-home .trv-held .step-list > li:not(:last-child)::after { left: 22px; top: 52px; }

  /* text floor: 15 px */
  :root :is(.trv-f label, .trv-note, .trv-paused, .ds-pop-h, .trv-search .ds-pop a, .trv-b, .trv-sub, .trv-dl, .trv-none-l, .trv-price-k, .trv-attr,
    .qa-label, .table-note, .disclosure, .rank-badge, .rank-meta dt, .stat-n, .lg-note, .about-h, .about-box, .src-u, .tier-badge, .f-pay-n, .coins-mini li,
    .toc, .toc-h, .checked, .tbl caption, .sources summary, .f-h, .f-col a, .f-contact, .f-desc, .f-bottom, .topbar) { font-size: 15px; }
  :root .t-home .trv-home-search .ds-pop-h { font-size: 1.75rem; }
  :root .t-home .trv-home-search .ds-pop a { font-size: var(--fs-17); }
  html:root body :is(.faq-a, .step-list, .callout, .method, .pc) { font-size: var(--fs-16); }

  /* hotel search: labels 15 px, 16 px values (no zoom on focus), 52 px cells */
  .trv-hs .trv-f input { font-size: var(--fs-17); }
  .trv-search .ds-pop a, .trv-search .ds-pop li > span { min-height: 44px; padding: 0 16px; }
  .trv-search .ds-pop ul { gap: 8px; }

  /* tables: the frame scrolls (edge shadow and pinned row label from 1099 px down, section 19) */
  .tbl tbody th > a:only-child { display: inline-block; min-width: 44px; padding-block: 13px; margin-block: -13px; }
  .tbl :is(th, td) { padding: 12px; }
  .tbl td { min-width: 7.5rem; }
  .tbl tbody th { min-width: 7.5rem; max-width: 10.5rem; }
  .tbl table:not(:has(thead th:nth-child(4))) :is(td, tbody th) { min-width: 0; max-width: none; }
  .trv-wide table { min-width: 860px; }
  .trv-wide td:is(.trv-ai-col-conditions, .trv-ai-col-refund) { min-width: 220px; }
  .trv-refunds tbody th { min-width: 9rem; }
  /* tables the engine turns into cards (.trv-stack): white cards, no pinned-cell fill left over from the scrolling tables */
  .tbl .table-wrap.trv-stack tbody tr { background: #fff; }
  .tbl .table-wrap.trv-stack tbody tr.hl { background: var(--coral-soft); }
  .tbl .table-wrap.trv-stack tbody :is(th, td), .tbl .table-wrap.trv-stack tr.hl th { background: none; box-shadow: none; }

  /* key facts: label above its value */
  .facts-table, .facts-table tbody, .facts-table tr, .facts-table th, .facts-table td { display: block; width: auto; }
  .facts-table tr { padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .facts-table tr:last-child { border-bottom: 0; }
  .facts-table :is(th, td) { padding: 0; border: 0; background: none; }
  .facts-table th { margin-bottom: 3px; color: var(--muted); font-weight: 600; }
  .facts-table { overflow: visible; }
  .facts-table td > a:only-child { display: inline-block; min-height: 0; padding-block: 10px; margin-block: -10px; }
  .fold > summary, .fold > :not(summary) { padding-inline: var(--s-2); }
  .fold .facts-table tr { padding-inline: var(--s-2); }
  .fold .facts-table :is(th, td):first-child { padding-left: 0; }
  .fold > .facts > h2:first-child { padding-inline: var(--s-2); }
  .fold > summary { font-size: var(--fs-18); }

  /* panels */
  .quick-answer { padding: var(--s-3) 20px; }
  .qa-q { font-size: var(--fs-20); }
  .card { padding: var(--s-3) 20px 20px; }
  .rank { padding: var(--s-3) 20px; }
  .rank-head h3 a { display: inline-flex; align-items: center; min-height: 44px; }
  .rank-head .rank-badge { flex-basis: 100%; margin-top: -6px; padding-left: 56px; }

  /* table of contents: a rail of pills that snaps, two pills per column (one when it is tall: column wrap, so a long
     title never stretches a whole row), about three and a half on screen, so the answer shows on the first screen */
  .toc { padding: 14px 0 10px 14px; }
  .toc ol { display: flex; flex-flow: column wrap; align-content: flex-start; gap: 8px; max-height: 152px; columns: auto; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; margin: 0; padding: 4px 32px 4px 2px; list-style: none; scrollbar-width: none; -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent); }
  .toc ol::-webkit-scrollbar { display: none; }
  .toc li { display: flex; padding: 0; scroll-snap-align: start; }
  .toc a { display: flex; align-items: center; box-sizing: border-box; width: 100%; max-width: 11.5rem; min-height: 44px; padding: 8px 14px; border: 1px solid var(--line-2); border-radius: 14px; background: #fff; color: var(--ink); line-height: 1.3; text-decoration: none; }

  /* steps */
  .step-list > li, .step-list > li.has-ic { padding-left: 60px; }

  /* trust: rows, the disc on the left */
  .trust { gap: var(--s-3); }
  .trust > li { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: var(--s-2); align-items: start; padding: 0; }
  .t-home .content > .trust-sec .trust > li { padding-top: var(--s-3); }
  .trust-ic { width: 44px; height: 44px; }
  .card-ic { width: 44px; height: 44px; margin-bottom: var(--s-2); }
  .card.has-ic { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: var(--s-2); align-content: start; }
  .card.has-ic > .card-ic { grid-row: 1 / span 3; margin: 0; }
  .card.has-ic > :not(.card-ic) { grid-column: 2; }
  .card.has-ic h3 { margin-top: 8px; }
  .card h3 { font-size: var(--fs-20); }
  .card-link.has-ic::after { top: 28px; right: 18px; }
  .card-link:hover { transform: none; }

  /* call to action: the same half circle (radii scaled to the panel width) */
  .cta { margin-top: var(--s-8); padding: 112px 20px 132px; border-radius: 360px 360px var(--r-lg) var(--r-lg); }
  :is(.t-guide, .t-location, .t-comparison, .t-about, .t-legal, .t-contact, .t-faq, .t-usecase) .content > .cta { padding-inline: 20px; }
  .cta::before { height: 92px; }
  .cta::after { top: 40px; width: 24px; height: 32px; margin-left: -12px; }
  .cta-h { font-size: 2rem; }
  .cta-t p { font-size: var(--fs-17); }
  .cta-btns { width: 100%; }
  .cta-btns .btn { flex: 1 1 100%; }

  /* related */
  .related-list { grid-template-columns: minmax(0, 1fr); }
  .related-list li { padding: 20px 52px 20px 20px; row-gap: 4px; }
  .related-list li::after { top: 24px; right: 20px; }

  /* key numbers: two per row, smaller figures */
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-1); }
  .stat { min-width: 0; padding: var(--s-2); overflow-wrap: break-word; }
  .stats > .stat:last-child:nth-child(odd) { grid-column: 1 / -1; } /* an odd last card takes the full row (no empty cell) */
  .stat-ic { width: 34px; height: 34px; margin-bottom: var(--s-1); }
  .stat-ic .ic { width: 16px; height: 16px; }
  .stat-v { font-size: var(--fs-28); }

  /* link grid: two tiles per row */
  .lg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg li { min-height: 56px; padding: 10px 12px; }
  .lg li:has(> a[href*="/hotels/"]) { padding-left: 52px; }
  .lg li > a { min-height: 0; } /* the engine's 44 px box centred the name alone; the tile (56 px +, a::after) is the target */
  .lg a[href*="/hotels/"]::before { left: 12px; width: 30px; height: 38px; margin-top: -19px; border-radius: 15px 15px 3px 3px; }

  /* footer: two compact columns; the page ends on the footer colour (room left for the sticky bar) */
  .ftr { margin-top: var(--s-10); padding-top: var(--s-7); }
  .ftr :is(.f-pay, .f-bottom) { width: calc(100% - 32px); }
  .f-brand { grid-template-columns: minmax(0, 1fr); row-gap: var(--s-3); }
  .f-brand > .f-contact { grid-column: 1; grid-row: auto; }
  /* one column of link groups; inside each group the links sit on a two-column grid, so a link that wraps lifts its
     whole row and the two columns stay aligned row by row */
  .f-cols { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .f-col ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-2); }
  .f-col li { margin: 0; }
  .f-h { margin-bottom: 2px; }
  .f-col a { display: flex; align-items: center; box-sizing: border-box; min-height: 44px; padding-block: 10px; line-height: 1.3; }
  .coins-mini { display: grid; grid-template-columns: repeat(3, max-content); gap: 12px 28px; }
  body.has-sticky { padding-bottom: 0; }
  body.has-sticky .ftr { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }

  /* sticky bar: the button keeps its label on one line, the note takes the rest */
  .sticky-cta { gap: 12px; }
  .sticky-cta .btn { flex: 0 0 auto; padding-inline: 18px; white-space: nowrap; }
  .sticky-cta .btn .ic { display: none; } /* decorative arrow (aria-hidden SVG, no text) */
  .sticky-cta .sc-note { flex: 1 1 0; min-width: 0; max-width: none; }

  /* 404 */
  .t-legal main.wrap:not(:has(> .crumbs)):has(> .content > .prose:only-child) { padding-top: var(--s-6); }
}
@media (max-width: 480px) {
  /* key numbers: one per row, the disc on the left of the figure, the label on the full remaining width */
  .stats { grid-template-columns: minmax(0, 1fr); }
  .stat.has-ic { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 12px; align-items: start; }
  .stat.has-ic > .stat-ic { grid-row: 1 / span 3; margin: 0; }
  .stat.has-ic > :not(.stat-ic) { grid-column: 2; }
  /* cards with an icon: the disc above the title, title and text on the full width, room kept for the arrow */
  .card.has-ic { grid-template-columns: minmax(0, 1fr); }
  .card.has-ic > .card-ic { grid-row: auto; margin: 0 0 12px; }
  .card.has-ic > :not(.card-ic) { grid-column: 1; }
  .card.has-ic h3 { margin-top: 0; }
  .card-link h3 { padding-right: 28px; }
}
@media (max-width: 640px) {
  /* acceptance index as cards (engine .trv-stack): the short cells (status, how, dates, checked) on one line, their
     label on the left; columns by position (the labels are translated), text-only cells (inline .trv-run / .trv-nobr spans allowed) or a lone badge only */
  .trv-index .table-wrap.trv-stack tbody td[data-label]:is(.trv-ai-col-how, .trv-ai-col-since, .trv-ai-col-checked):not(:has(> :not(.trv-run, .trv-nobr))),
  .trv-index .table-wrap.trv-stack tbody td[data-label].trv-ai-col-direct:has(> .trv-b:only-child) { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); column-gap: 12px; align-items: baseline; }
  .trv-index .table-wrap.trv-stack tbody td[data-label]:is(.trv-ai-col-how, .trv-ai-col-since, .trv-ai-col-checked):not(:has(> :not(.trv-run, .trv-nobr)))::before,
  .trv-index .table-wrap.trv-stack tbody td[data-label].trv-ai-col-direct:has(> .trv-b:only-child)::before { margin: 0; }
  .trv-index .table-wrap.trv-stack tbody td[data-label].trv-ai-col-direct:has(> .trv-b:only-child) > .trv-b { justify-self: start; }
}
@media (max-width: 520px) {
  .logo { gap: 10px; font-size: var(--fs-22); }
  .hdr-in { gap: 10px; }
  .menu { padding: 0 14px; }
}
@media (max-width: 400px) {
  .hdr-in { gap: 8px; }
  .logo { font-size: var(--fs-20); }
  .menu { padding: 0 12px; }
  .hdr-login { padding-inline: 2px; }
}

/* ------------------------------------------------------------------- 21. translations, motion, forced colours */
/* the serif has no CJK glyphs: Korean and Japanese headings fall back to the system serif, so no negative tracking, a
   taller line and phrase-aware line breaks; long German / French / Spanish / Portuguese words hyphenate in headings */
:is(:lang(ja), :lang(ko)) :is(h1, h2, h3, .qa-q, .step-name, .cta-h, .related-list a, .rank-head h3, .ds-pop-h) { letter-spacing: 0; line-height: 1.35; }
:lang(ja) :is(h1, h2, h3, .qa-q, .cta-h) { word-break: auto-phrase; }
:lang(ko) :is(h1, h2, h3, .qa-q, .cta-h) { word-break: keep-all; }
:is(:lang(de), :lang(fr), :lang(es), :lang(pt)) :is(h1, h2, h3, .cta-h, .trust-t, .card h3) { hyphens: auto; }
.trv-hs .trv-f label { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .card-link:hover, .card-link:hover::after, .related-list li:hover::after, .t-home .ds-pop a:hover::before { transform: none; }
}
/* forced colours (Windows High Contrast): backgrounds become Canvas, so the drawn shapes (arrows, chevrons, checks, status
   dots, numerals) get system colours, the decorative drawings step back, and the focus ring of the search cells becomes a
   real outline */
@media (forced-colors: active) {
  .logo-mark, .rank-n, .rank.self .rank-n { forced-color-adjust: none; background: CanvasText; color: Canvas; }
  .qa-label::before, .card-link::after, .related-list li::after, .fold > summary::after, .sources summary::before, .badges li::before,
  :root .kicker::before, .crumbs li + li::before { forced-color-adjust: none; background: CanvasText; }
  .trv-b::before, .pc li::before { forced-color-adjust: none; background: CanvasText; }
  .trv-hs .trv-form { border: 1px solid CanvasText; }
  .trv-hs .trv-f:focus-within { outline: 2px solid Highlight; outline-offset: -2px; }
  .tbl tr.hl > :first-child { box-shadow: none; border-left: 3px solid Highlight; }
  .card-ic, .trust-ic, .stat-ic, .step-list > li::before { border: 1px solid CanvasText; }
  .cta, .t-home .band:has(> .trv-held) { border: 1px solid CanvasText; }
  .t-home .ds-pop a::before { border: 1px solid CanvasText; }
  /* the night fields are border-images, which forced colours keep: drop them so the forced text sits on Canvas */
  .t-home main.wrap > .page-head, .t-home .band:has(> .trv-held) { border-image: none; }
  .topbar .tb-s::before, .t-home .trv-held .pay-help::before, .t-home .content > .trv-home-search + .trust-sec > h2::before { forced-color-adjust: none; background: CanvasText; }
  .t-home .content > .trv-home-search + .trust-sec > .trust { border-color: CanvasText; }
  .t-home .content > .trv-home-search + .trust-sec > .trust > li { outline: 1px solid CanvasText; }
}

/* lining, proportional figures wherever the display serif shows numbers in text (its default figures are tabular; a
   "font" shorthand above resets font-variant) */
html:root :is(h1, h2, h3, h4, .qa-q, .step-name, .cta-h, .ds-pop-h, .ds-pop a, .stat-v, .trv-price-v strong, .related-list a, .fold > summary, .def dt, .rank-n, .rank-head h3) { font-variant-numeric: lining-nums proportional-nums; }
html:root .step-list > li::before { font-variant-numeric: lining-nums tabular-nums; }
/* tabular figures on numbers only (d2 graft): number columns of tables (.num, set by the engine), key numbers, prices */
html:root :is(.num, .stat-v, .trv-price-v strong) { font-variant-numeric: lining-nums tabular-nums; }

/* =====================================================================================================================
   ART-EXTRA - reserved for the illustrator (city drawings beyond the eight above, fallback themes). Everything between
   the two markers is replaced as a block; nothing else in this file depends on it.
   Conventions of this file:
   - a city drawing is a token on :root:root, --pc-<slug>: url("data:image/svg+xml,...") (viewBox 0 0 200 240, the
     night ground band in the bottom 44 px, the arch crop is done by CSS);
   - it is mapped to the links of that city (postcards, link grids) with
       :is(.ds-pop, .lg) a[href$="/hotels/<slug>/"] { --pc: var(--pc-<slug>); }
   - and to the page head of that city with
       :root:has(meta[property="og:url"][content$="/hotels/<slug>/"]), body:has(input[name="city"][value="<slug>"]) { --pc: var(--pc-<slug>); }
   - the generic drawing for every other city is --pc (overriding it on :root:root replaces the fallback everywhere).
   ===================================================================================================================== */
/* ART-EXTRA:BEGIN */
/* City postcards beyond the eight drawn by d3: twelve cities drawn for themselves (Singapore, Seoul, Hong Kong, Miami,
   Istanbul, Mexico City, Kuala Lumpur, Taipei, Toronto, Sydney, Athens, Cape Town) and six themes for the other 38 cities
   of the "cities" collection (coast, skyline, oldtown, mountains, temple, desert). Mapping: _work/art/README.md.
   Same frame and palette as the d3 postcards: 200 x 240 drawings, dusk sky, the sun-coin with its two horizon bars,
   night-green silhouettes, lit windows, the water band from y = 196. Every rule only sets custom properties that theme.css
   paints (home postcards .ds-pop, city tiles .lg, city page cover through --head-art): decorative backgrounds of
   pseudo-elements, no text, nothing hidden. Every city has its own drawing or a theme: the generic --pc stays a backstop. */
:root:root {
  --pc-singapore: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4560'/%3E%3Cstop offset='0.5' stop-color='%23C0656A'/%3E%3Cstop offset='0.8' stop-color='%23EE8B60'/%3E%3Cstop offset='1' stop-color='%23F7C07A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M36.3 89.6A26 26 0 1 1 87.7 89.6ZM37 93.3H87A26 26 0 0 1 85.6 96.9H38.4A26 26 0 0 1 37 93.3ZM82.8 101.6A26 26 0 0 1 41.2 101.6Z'/%3E%3Cpath fill='%2322423C' d='M174 196V134h10v-10h16v72zM0 196V168h10v28zM10 148Q22 151 34 148L23.6 166L25 196H19L20.4 166Z'/%3E%3Cpath fill='%23173833' d='M100 196L104 111H120L121 196ZM126 196L128 111H144L146 196ZM151 196L152 111H168L172 196ZM80 102H174Q177 102 177 105V110Q177 113 173 113H104Q91 113 80 102ZM29 132Q44 135 59 132L45.6 150L47 196H41L42.4 150ZM57 152Q68 155 79 152L69.6 170L71 196H65L66.4 170Z'/%3E%3Cpath fill='%23F7C17A' d='M107 126h3v4h-3zM113 142h3v4h-3zM107 158h3v4h-3zM113 174h3v4h-3zM107 182h3v4h-3zM131 134h3v4h-3zM137 126h3v4h-3zM131 150h3v4h-3zM137 166h3v4h-3zM131 182h3v4h-3zM156 126h3v4h-3zM162 142h3v4h-3zM156 158h3v4h-3zM162 174h3v4h-3zM186 140h3v4h-3zM190 160h3v4h-3zM186 176h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' opacity='.8' d='M108 108h60v1.6h-60z'/%3E%3Cg fill='%23F7C17A'%3E%3Ccircle cx='12' cy='149.6' r='1'/%3E%3Ccircle cx='16' cy='149.6' r='1'/%3E%3Ccircle cx='22' cy='149.6' r='1'/%3E%3Ccircle cx='28' cy='149.6' r='1'/%3E%3Ccircle cx='32' cy='149.6' r='1'/%3E%3Ccircle cx='31' cy='133.6' r='1'/%3E%3Ccircle cx='36.5' cy='133.6' r='1'/%3E%3Ccircle cx='44' cy='133.6' r='1'/%3E%3Ccircle cx='51.5' cy='133.6' r='1'/%3E%3Ccircle cx='57' cy='133.6' r='1'/%3E%3Ccircle cx='59' cy='153.6' r='1'/%3E%3Ccircle cx='62.5' cy='153.6' r='1'/%3E%3Ccircle cx='68' cy='153.6' r='1'/%3E%3Ccircle cx='73.5' cy='153.6' r='1'/%3E%3Ccircle cx='77' cy='153.6' r='1'/%3E%3C/g%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M40 206h44v3h-44zM48 216h28v3h-28zM55 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-seoul: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%232A4550'/%3E%3Cstop offset='0.5' stop-color='%236E6273'/%3E%3Cstop offset='0.82' stop-color='%23DD8A62'/%3E%3Cstop offset='1' stop-color='%23F2B672'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='30' cy='40' r='1.2'/%3E%3Ccircle cx='150' cy='24' r='0.9'/%3E%3Ccircle cx='170' cy='52' r='1.6'/%3E%3Ccircle cx='96' cy='30' r='0.9'/%3E%3Ccircle cx='118' cy='58' r='0.9'/%3E%3Ccircle cx='60' cy='22' r='0.9'/%3E%3Ccircle cx='186' cy='80' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M34.2 95.4A24 24 0 1 1 81.8 95.4ZM35 98.7H81A24 24 0 0 1 79.8 102.1H36.2A24 24 0 0 1 35 98.7ZM77.2 106.4A24 24 0 0 1 38.8 106.4Z'/%3E%3Cpath fill='%236E5A6C' d='M0 166L16 150L28 158L48 134L64 152L78 144L92 160L106 154L118 164L136 156L156 166L176 146L200 160V196H0Z'/%3E%3Cpath fill='%2322423C' d='M84 196Q100 160 128 155Q158 160 180 196Z'/%3E%3Cpath fill='%23173833' d='M125 157L126.5 96H129.5L131 157ZM123 100L121 92H135L133 100ZM121.5 92V80H134.5V92ZM119 80V76.5H137V80ZM126.8 76.5V48H129.2V76.5ZM127.5 48V30H128.5V48ZM126 62H130V64.5H126ZM150 196V176h16v-8h14v28zM182 196V160h18v36zM28 172V162H76V172ZM10 160Q24 160 31 152H73Q80 160 94 160Q86 165 52 164Q18 165 10 160ZM34 152V144.5H70V152ZM17 144Q30 144 37 136H67Q74 144 87 144Q80 149 52 148Q24 149 17 144ZM36 136V133.5H68V136Z'/%3E%3Cpath fill='%230F2A27' fill-rule='evenodd' d='M18 196V172H86V196ZM44 196V186A8 8 0 0 1 60 186V196Z'/%3E%3Cpath fill='%23F7C17A' d='M123 84h10v3.4h-10z'/%3E%3Cpath fill='%23F7C17A' d='M36 165h3v4h-3zM44 165h3v4h-3zM57 165h3v4h-3zM65 165h3v4h-3zM154 182h3v4h-3zM160 182h3v4h-3zM170 174h3v4h-3zM186 166h3v4h-3zM192 174h3v4h-3zM186 184h3v4h-3z'/%3E%3Ccircle cx='128' cy='29.5' r='1.3' fill='%23E8603C'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M36 206h44v3h-44zM44 216h28v3h-28zM51 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-hong-kong: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%231D3E40'/%3E%3Cstop offset='0.5' stop-color='%235C5A6E'/%3E%3Cstop offset='0.8' stop-color='%23D3735A'/%3E%3Cstop offset='1' stop-color='%23F1A266'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='110' cy='18' r='1.2'/%3E%3Ccircle cx='150' cy='40' r='0.9'/%3E%3Ccircle cx='176' cy='22' r='1.6'/%3E%3Ccircle cx='92' cy='56' r='0.9'/%3E%3Ccircle cx='130' cy='70' r='0.9'/%3E%3Ccircle cx='20' cy='30' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M28.2 85.4A24 24 0 1 1 75.8 85.4ZM29 88.7H75A24 24 0 0 1 73.8 92.1H30.2A24 24 0 0 1 29 88.7ZM71.2 96.4A24 24 0 0 1 32.8 96.4Z'/%3E%3Cpath fill='%233E4556' d='M0 146Q18 124 42 130Q66 116 88 124Q112 100 142 112Q168 104 200 126V196H0Z'/%3E%3Cpath fill='%2322423C' d='M0 196V150h12v46zM14 196V136h14v60zM30 196V146h12v50zM60 196V128h12v68zM102 196V122h14v74zM166 196V130h14v66zM182 196V142h18v54z'/%3E%3Cpath fill='%23173833' d='M44 196V118h16v78zM74 196V112L84 103V92L91 85V77L98 70V196ZM90.5 85V60h1v25zM97 70V52h1v18zM120 196V108h14v88zM100 196V140h14v56zM158 196V150h14v46zM136 196V72H158V196ZM139 72V63H155V72ZM141.5 63L143.5 47H150.5L152.5 63ZM144 47L145 40H149L150 47Z'/%3E%3Cpath fill='none' stroke='%232C4A44' stroke-width='1.2' d='M74 126L98 150M98 126L74 150M74 150L98 174M98 150L74 174M147 44V196'/%3E%3Cpath fill='%23F7C17A' d='M48 124h3v4h-3zM54 132h3v4h-3zM48 148h3v4h-3zM54 164h3v4h-3zM48 172h3v4h-3zM124 116h3v4h-3zM128 128h3v4h-3zM124 144h3v4h-3zM128 160h3v4h-3zM140 80h3v4h-3zM151 80h3v4h-3zM140 96h3v4h-3zM151 104h3v4h-3zM140 120h3v4h-3zM151 136h3v4h-3zM104 146h3v4h-3zM108 156h3v4h-3zM62 136h3v4h-3zM68 152h3v4h-3zM18 144h3v4h-3zM22 160h3v4h-3zM186 150h3v4h-3zM192 162h3v4h-3zM170 140h3v4h-3z'/%3E%3Cpath fill='%230F2A27' d='M84 196L90 189H158L172 182L168 196Z'/%3E%3Cpath fill='%23D2583A' d='M128 186V132Q146 126 163 118Q169 152 163 186ZM104 187V148Q114 144 124 140Q128 164 124 187ZM166 184V160Q171 158 177 155Q179 170 177 184Z'/%3E%3Cpath fill='none' stroke='%238E3A28' stroke-width='1.1' d='M128 146Q146 141 166 134M128 160Q146 157 167 151M128 173Q146 171 166 168M104 160Q114 158 126 155M104 173Q114 172 126 171M166 170Q171 169 178 167'/%3E%3Cpath fill='none' stroke='%230F2A27' stroke-width='1.6' d='M128 188V126M104 189V143M166 186V154'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M30 206h44v3h-44zM38 216h28v3h-28zM45 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-miami: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237A5368'/%3E%3Cstop offset='0.45' stop-color='%23E07A57'/%3E%3Cstop offset='0.8' stop-color='%23F3A562'/%3E%3Cstop offset='1' stop-color='%23F8CB84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M120.3 116.2A30 30 0 1 1 179.7 116.2ZM121.2 120.4H178.8A30 30 0 0 1 177.2 124.6H122.8A30 30 0 0 1 121.2 120.4ZM174 130A30 30 0 0 1 126 130Z'/%3E%3Cpath fill='%2322423C' d='M118 196V142h10v-6h12v6h10v54z'/%3E%3Cpath fill='%23173833' d='M30 196V134Q30 126 38 126H112Q120 126 120 134V196ZM36 127V120H50V114H62V108H88V114H100V120H114V127ZM69 108V76A6 6 0 0 1 81 76V108ZM6.3 240C6.6 192.3 11.5 165.8 13 134L15 135C13.5 165.8 10.1 192.3 9.8 240ZM14 134Q2.3 124.5 -12.1 135.8Q0.5 129.4 14 134ZM14 134Q9.4 122.7 -0.5 121.1Q5.8 125.7 14 134ZM14 134Q16.2 125.1 12.5 116.7Q12.2 125.5 14 134ZM14 134Q22.7 125.5 25.3 118.8Q18.6 123.2 14 134ZM14 134Q28.4 131.3 39.8 134.9Q26.4 126.4 14 134ZM14 134Q2.8 131.6 -7.3 150.8Q3.5 135.6 14 134ZM14 134Q24.2 137.6 35.3 150.8Q24.9 133.5 14 134Z'/%3E%3Cpath fill='%230F2A27' d='M25 146h100v2.6h-100zM25 168h100v2.6h-100zM60 196V184h30v12z'/%3E%3Cpath fill='%23F7C17A' d='M36 132h17v4h-17zM59 132h12v4h-12zM79 132h12v4h-12zM97 132h17v4h-17zM36 154h17v4h-17zM59 154h12v4h-12zM79 154h12v4h-12zM97 154h17v4h-17zM36 176h17v4h-17zM97 176h17v4h-17zM64.5 116a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0-5 0zM80.5 116a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0-5 0zM122 150h3v4h-3zM132 150h3v4h-3zM142 158h3v4h-3zM122 166h3v4h-3zM142 174h3v4h-3z'/%3E%3Cpath fill='none' stroke='%23E8603C' stroke-width='2.2' stroke-linecap='round' d='M75 80V104M63 111.5H87M47 117.5H62M88 117.5H103'/%3E%3Cpath fill='%23173833' d='M165.5 240C165 177 159.1 142 156.6 100L159.4 101C161.9 142 170 177 170.5 240ZM158 100Q141.3 86.4 120.7 102.5Q138.7 93.4 158 100ZM158 100Q151.4 83.8 137.3 81.5Q146.3 88.1 158 100ZM158 100Q161.2 87.3 155.8 75.3Q155.4 87.8 158 100ZM158 100Q170.4 87.9 174.1 78.3Q164.6 84.6 158 100ZM158 100Q178.5 96.1 194.8 101.3Q175.7 89.1 158 100ZM158 100Q142 96.6 127.5 124Q143 102.3 158 100ZM158 100Q172.5 105.1 188.5 124Q173.5 99.3 158 100ZM190.1 240C189.9 187.8 187.9 158.8 186.9 124L189.1 125C190.1 158.8 193.8 187.8 194 240ZM188 124Q175 113.4 158.9 126Q172.9 118.9 188 124ZM188 124Q182.9 111.4 171.9 109.6Q178.9 114.7 188 124ZM188 124Q190.5 114.1 186.3 104.7Q186 114.5 188 124ZM188 124Q197.7 114.6 200.6 107.1Q193.1 112 188 124ZM188 124Q204 121 216.7 125Q201.8 115.5 188 124ZM188 124Q175.5 121.3 164.2 142.7Q176.3 125.8 188 124ZM188 124Q199.3 128 211.8 142.7Q200.1 123.5 188 124Z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M128 206h44v3h-44zM136 216h28v3h-28zM143 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-istanbul: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4A66'/%3E%3Cstop offset='0.5' stop-color='%23A0687A'/%3E%3Cstop offset='0.8' stop-color='%23EC9068'/%3E%3Cstop offset='1' stop-color='%23F7C385'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='40' cy='30' r='1.2'/%3E%3Ccircle cx='80' cy='16' r='0.9'/%3E%3Ccircle cx='120' cy='40' r='0.9'/%3E%3Ccircle cx='176' cy='34' r='0.9'/%3E%3Ccircle cx='20' cy='70' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M126.2 85.4A24 24 0 1 1 173.8 85.4ZM127 88.7H173A24 24 0 0 1 171.8 92.1H128.2A24 24 0 0 1 127 88.7ZM169.2 96.4A24 24 0 0 1 130.8 96.4Z'/%3E%3Cpath fill='%2322423C' d='M0 174Q26 162 54 168T112 164T200 170V196H0Z'/%3E%3Cpath fill='%23173833' d='M20 196V180H40V196ZM152 196V180H172V196ZM40 196V170H152V196ZM42 170Q51 158 60 170ZM132 170Q141 158 150 170ZM58 170V160Q70 148 82 160V170ZM110 170V160Q122 148 134 160V170ZM74 170V146H118V170ZM71 146A25 30 0 0 1 121 146ZM95.2 117V103h1.6v14zM72 146V139h5v7zM115 146V139h5v7zM24 196V82L26 60L28 82V196ZM22.4 90h7.2v2.6h-7.2zM22.4 114h7.2v2.6h-7.2zM164 196V82L166 60L168 82V196ZM162.4 90h7.2v2.6h-7.2zM162.4 114h7.2v2.6h-7.2zM48 196V110L50 88L52 110V196ZM46.4 118h7.2v2.6h-7.2zM46.4 142h7.2v2.6h-7.2zM140 196V110L142 88L144 110V196ZM138.4 118h7.2v2.6h-7.2zM138.4 142h7.2v2.6h-7.2z'/%3E%3Ccircle cx='96' cy='102' r='2' fill='%23173833'/%3E%3Cpath fill='%23F7C17A' d='M79 160V155A2 2 0 0 1 83 155V160ZM87 160V155A2 2 0 0 1 91 155V160ZM94 160V155A2 2 0 0 1 98 155V160ZM101 160V155A2 2 0 0 1 105 155V160ZM109 160V155A2 2 0 0 1 113 155V160ZM48 185V180A2 2 0 0 1 52 180V185ZM58 185V180A2 2 0 0 1 62 180V185ZM68 185V180A2 2 0 0 1 72 180V185ZM120 185V180A2 2 0 0 1 124 180V185ZM130 185V180A2 2 0 0 1 134 180V185ZM140 185V180A2 2 0 0 1 144 180V185ZM24 186h3v4h-3zM164 186h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M6 180h3v4h-3zM12 186h3v4h-3zM182 178h3v4h-3zM190 184h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M128 206h44v3h-44zM136 216h28v3h-28zM143 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-mexico-city: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%233F4B5E'/%3E%3Cstop offset='0.45' stop-color='%23B4605A'/%3E%3Cstop offset='0.75' stop-color='%23EA7F57'/%3E%3Cstop offset='1' stop-color='%23F5B169'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M94.2 93.4A24 24 0 1 1 141.8 93.4ZM95 96.7H141A24 24 0 0 1 139.8 100.1H96.2A24 24 0 0 1 95 96.7ZM137.2 104.4A24 24 0 0 1 98.8 104.4Z'/%3E%3Cpath fill='%2322423C' d='M0 196V164h10v32zM104 196V150h24v46zM178 196V158h22v38z'/%3E%3Cpath fill='%23173833' d='M12 196V122H34V196ZM15 122V108H31V122ZM15 108Q15 96 23 92Q31 96 31 108ZM22.3 92V85h1.4v7zM80 196V122H102V196ZM83 122V108H99V122ZM83 108Q83 96 91 92Q99 96 99 108ZM90.3 92V85h1.4v7zM34 196V140H80V196ZM44 140V130H70V140ZM43 130L57 120L71 130ZM48 120V110H66V120ZM46 110A11 12 0 0 1 68 110ZM55 99V93h4v6zM140 196V187H176V196ZM146 187V177H170V187ZM152 177V173H164V177ZM155 173V86H161V173ZM153.5 140h9v2.4h-9zM153.5 108h9v2.4h-9zM152 86V82H164V86ZM154.5 82V78H161.5V82Z'/%3E%3Cg fill='%23173833'%3E%3Ccircle cx='23' cy='84' r='1.8'/%3E%3Ccircle cx='91' cy='84' r='1.8'/%3E%3Ccircle cx='57' cy='92' r='1.8'/%3E%3C/g%3E%3Cpath fill='%23F7C17A' d='M19.5 120V114.5A3.5 3.5 0 0 1 26.5 114.5V120ZM87.5 120V114.5A3.5 3.5 0 0 1 94.5 114.5V120ZM53 196V188A4 4 0 0 1 61 188V196ZM40 159V152.5A2.5 2.5 0 0 1 45 152.5V159ZM69 159V152.5A2.5 2.5 0 0 1 74 152.5V159ZM54.5 153V148.5A2.5 2.5 0 0 1 59.5 148.5V153ZM17 134h3v4h-3zM26 134h3v4h-3zM85 134h3v4h-3zM94 134h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' d='M108 158h3v4h-3zM116 166h3v4h-3zM108 176h3v4h-3zM184 166h3v4h-3zM192 176h3v4h-3zM3 172h3v4h-3z'/%3E%3Cpath fill='%23F2B04E' d='M158 78L155.6 66H160.4ZM158 66Q150 63 144 49Q153 54 158 62ZM158 66Q166 63 172 49Q163 54 158 62ZM159 64.5L163.8 55.5L165 56.2L160.4 65.2Z'/%3E%3Ccircle cx='158' cy='62.6' r='2.1' fill='%23F2B04E'/%3E%3Ccircle cx='165.2' cy='53.6' r='2.6' fill='none' stroke='%23F2B04E' stroke-width='1.2'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3C/svg%3E");
  --pc-kuala-lumpur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4560'/%3E%3Cstop offset='0.5' stop-color='%23C0656A'/%3E%3Cstop offset='0.8' stop-color='%23EE8B60'/%3E%3Cstop offset='1' stop-color='%23F7C07A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='30' cy='28' r='1.2'/%3E%3Ccircle cx='60' cy='16' r='0.9'/%3E%3Ccircle cx='150' cy='22' r='0.9'/%3E%3Ccircle cx='176' cy='40' r='1.6'/%3E%3Ccircle cx='106' cy='30' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M80.1 106A20 20 0 1 1 119.9 106ZM80.6 108.8H119.4A20 20 0 0 1 118.5 111.6H81.5A20 20 0 0 1 80.6 108.8ZM116.6 115.2A20 20 0 0 1 83.4 115.2Z'/%3E%3Cpath fill='%2322423C' d='M0 196V150h16v46zM18 196V166h14v30zM150 196V140h14v56zM168 196V158h12v38zM182 196V132h18v64z'/%3E%3Cpath fill='%23173833' d='M64 196L64 128L65 128L65 108L66.5 108L66.5 92L68 92L68 80L69.5 80L69.5 70L71 70L71 62L72.4 62L72.4 56L79.6 56L79.6 62L81 62L81 70L82.5 70L82.5 80L84 80L84 92L85.5 92L85.5 108L87 108L87 128L88 128L88 196ZM74.4 56L75.2 24L76 14L76.8 24L77.6 56ZM112 196L112 128L113 128L113 108L114.5 108L114.5 92L116 92L116 80L117.5 80L117.5 70L119 70L119 62L120.4 62L120.4 56L127.6 56L127.6 62L129 62L129 70L130.5 70L130.5 80L132 80L132 92L133.5 92L133.5 108L135 108L135 128L136 128L136 196ZM122.4 56L123.2 24L124 14L124.8 24L125.6 56ZM88 130h24v4h-24zM98.4 134h3.2L112 152v3.4L100 137.6L88 155.4V152Z'/%3E%3Cpath fill='%23F7C17A' opacity='.75' d='M75.4 66h1.2v122h-1.2zM123.4 66h1.2v122h-1.2z'/%3E%3Cpath fill='%23F7C17A' d='M4 158h3v4h-3zM10 170h3v4h-3zM4 182h3v4h-3zM22 172h3v4h-3zM26 184h3v4h-3zM154 150h3v4h-3zM158 166h3v4h-3zM154 182h3v4h-3zM172 166h3v4h-3zM172 180h3v4h-3zM188 142h3v4h-3zM192 158h3v4h-3zM188 174h3v4h-3zM192 188h3v4h-3zM68 140h3v4h-3zM81 156h3v4h-3zM68 172h3v4h-3zM81 184h3v4h-3zM116 148h3v4h-3zM129 164h3v4h-3zM116 180h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M78 206h44v3h-44zM86 216h28v3h-28zM93 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-taipei: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4A66'/%3E%3Cstop offset='0.5' stop-color='%23A0687A'/%3E%3Cstop offset='0.8' stop-color='%23EC9068'/%3E%3Cstop offset='1' stop-color='%23F7C385'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='20' cy='30' r='0.9'/%3E%3Ccircle cx='48' cy='18' r='1.2'/%3E%3Ccircle cx='86' cy='40' r='0.9'/%3E%3Ccircle cx='176' cy='24' r='1.2'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M24.1 88.2A22 22 0 1 1 67.9 88.2ZM24.6 91.2H67.4A22 22 0 0 1 66.4 94.3H25.6A22 22 0 0 1 24.6 91.2ZM64.3 98.3A22 22 0 0 1 27.7 98.3Z'/%3E%3Cpath fill='%235A4A5E' d='M0 168Q30 140 64 150Q92 156 112 146Q146 128 176 140Q190 146 200 142V196H0Z'/%3E%3Cpath fill='%2322423C' d='M0 196V170h18v26zM22 196V178h16v18zM40 196V164h14v32zM146 196V172h16v24zM164 196V160h16v36zM182 196V174h18v22z'/%3E%3Cpath fill='%23173833' d='M84 196L84 184L91 184L93 160L115 160L117 184L124 184L124 196ZM95.5 160L92 150L92 149L116 149L116 150L112.5 160ZM95.5 149L92 139L92 138L116 138L116 139L112.5 149ZM95.5 138L92 128L92 127L116 127L116 128L112.5 138ZM95.5 127L92 117L92 116L116 116L116 117L112.5 127ZM95.5 116L92 106L92 105L116 105L116 106L112.5 116ZM95.5 105L92 95L92 94L116 94L116 95L112.5 105ZM95.5 94L92 84L92 83L116 83L116 84L112.5 94ZM95.5 83L92 73L92 72L116 72L116 73L112.5 83ZM97 72L98 64L110 64L111 72ZM100.5 64L101 58L107 58L107.5 64ZM102.6 58L103.3 12L104.7 12L105.4 58Z'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M95 158h18v1.4h-18zM95 147h18v1.4h-18zM95 136h18v1.4h-18zM95 125h18v1.4h-18zM95 114h18v1.4h-18zM95 103h18v1.4h-18zM95 92h18v1.4h-18zM95 81h18v1.4h-18z'/%3E%3Cpath fill='%23F7C17A' d='M4 176h3v4h-3zM10 186h3v4h-3zM26 182h3v4h-3zM44 170h3v4h-3zM48 184h3v4h-3zM150 178h3v4h-3zM168 166h3v4h-3zM172 180h3v4h-3zM186 180h3v4h-3zM192 188h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M24 206h44v3h-44zM32 216h28v3h-28zM39 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-toronto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%232A4550'/%3E%3Cstop offset='0.5' stop-color='%236E6273'/%3E%3Cstop offset='0.82' stop-color='%23DD8A62'/%3E%3Cstop offset='1' stop-color='%23F2B672'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='24' cy='26' r='1.2'/%3E%3Ccircle cx='60' cy='40' r='0.9'/%3E%3Ccircle cx='130' cy='20' r='0.9'/%3E%3Ccircle cx='176' cy='34' r='1.6'/%3E%3Ccircle cx='150' cy='54' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M124.1 106.2A22 22 0 1 1 167.9 106.2ZM124.6 109.2H167.4A22 22 0 0 1 166.4 112.3H125.6A22 22 0 0 1 124.6 109.2ZM164.3 116.3A22 22 0 0 1 127.7 116.3Z'/%3E%3Cpath fill='%2322423C' d='M0 196V150h14v46zM16 196V136h14v60zM32 196V162h16v34zM48 196V172h12v24zM166 196V156h14v40zM182 196V144h18v52z'/%3E%3Cpath fill='%23173833' d='M84 196L87.4 120L89 98L95 98L96.6 120L100 196ZM86 106h12l9 -4v-3l-9-4h-12l-9 4v3zM89.4 95L90 60L94 60L94.6 95ZM88.4 60h7.2l1-3-1-3h-7.2l-1 3zM90.6 54L91.4 18L92 8L92.6 18L93.4 54ZM118 196V186Q140 166 162 186V196Z'/%3E%3Cpath fill='%23F7C17A' d='M82 100.6h20v1.6h-20z'/%3E%3Cpath fill='%23F7C17A' d='M4 158h3v4h-3zM8 172h3v4h-3zM4 186h3v4h-3zM20 144h3v4h-3zM24 158h3v4h-3zM20 172h3v4h-3zM24 186h3v4h-3zM36 170h3v4h-3zM40 184h3v4h-3zM52 180h3v4h-3zM170 164h3v4h-3zM170 178h3v4h-3zM186 152h3v4h-3zM192 166h3v4h-3zM186 180h3v4h-3z'/%3E%3Cpath fill='%23F7C17A' opacity='.8' d='M128 184.5h3v3h-3zM138 181h3v3h-3zM148 184.5h3v3h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M124 206h44v3h-44zM132 216h28v3h-28zM139 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-sydney: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237A5368'/%3E%3Cstop offset='0.45' stop-color='%23E07A57'/%3E%3Cstop offset='0.8' stop-color='%23F3A562'/%3E%3Cstop offset='1' stop-color='%23F8CB84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M28.1 120.4A24 24 0 1 1 75.9 120.4ZM28.7 123.7H75.3A24 24 0 0 1 74.2 127.1H29.8A24 24 0 0 1 28.7 123.7ZM71.9 131.4A24 24 0 0 1 32.1 131.4Z'/%3E%3Cpath fill='%232B4A4B' d='M0 186h200v10H0z'/%3E%3Cpath fill='none' stroke='%2322423C' stroke-width='3' d='M-6 168Q50 104 106 168'/%3E%3Cpath fill='none' stroke='%2322423C' stroke-width='2' d='M6 168Q50 120 94 168'/%3E%3Cpath fill='none' stroke='%2322423C' stroke-width='1.2' d='M6 155.8V168M14 149.2V168M22 144V168M30 140.1V168M38 137.5V168M46 136.2V168M54 136.2V168M62 137.5V168M70 140.1V168M78 144V168M86 149.2V168M94 155.8V168'/%3E%3Cpath fill='%2322423C' d='M-6 166h112v4H-6zM98 158h12v38H98zM-10 158h8v38h-8z'/%3E%3Cpath fill='%23F4EFE6' d='M110 184C110 165.3 119.9 150 132 150Q132.9 161.9 134 184ZM122 184C122 157.6 134.6 136 150 136Q150 152.8 150 184ZM138 184C138 153.2 151.5 128 168 128Q167.1 147.6 166 184ZM160 184C160 165.3 169 150 180 150Q180 161.9 180 184ZM170 184C170 160.9 181.7 142 196 142Q195.1 156.7 194 184Z'/%3E%3Cpath fill='%23D9CFBF' opacity='.7' d='M110 184C110 165.3 119.9 150 132 150C124.3 158 116 167 117 184ZM122 184C122 157.6 134.6 136 150 136C140.2 144 128 160 129 184ZM138 184C138 153.2 151.5 128 168 128C157.5 136 144 156 145 184ZM160 184C160 165.3 169 150 180 150C173 158 166 167 167 184ZM170 184C170 160.9 181.7 142 196 142C186.9 150 176 163 177 184Z'/%3E%3Cpath fill='%23173833' d='M104 196V184h92v12z'/%3E%3Cpath fill='%23F7C17A' d='M110 189h3v4h-3zM120 189h3v4h-3zM130 189h3v4h-3zM140 189h3v4h-3zM150 189h3v4h-3zM160 189h3v4h-3zM170 189h3v4h-3zM180 189h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M30 206h44v3h-44zM38 216h28v3h-28zM45 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-athens: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%233F4B5E'/%3E%3Cstop offset='0.45' stop-color='%23B4605A'/%3E%3Cstop offset='0.75' stop-color='%23EA7F57'/%3E%3Cstop offset='1' stop-color='%23F5B169'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='30' cy='30' r='0.9'/%3E%3Ccircle cx='70' cy='18' r='1.2'/%3E%3Ccircle cx='120' cy='26' r='0.9'/%3E%3Ccircle cx='176' cy='20' r='1.2'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M134.1 84.2A22 22 0 1 1 177.9 84.2ZM134.6 87.2H177.4A22 22 0 0 1 176.4 90.3H135.6A22 22 0 0 1 134.6 87.2ZM174.3 94.3A22 22 0 0 1 137.7 94.3Z'/%3E%3Cpath fill='%235A4A5E' d='M0 182Q40 170 70 176T140 172T200 168V196H0Z'/%3E%3Cpath fill='%2322423C' d='M0 196V176Q20 170 34 160Q46 150 60 150H150Q166 150 178 162Q190 172 200 174V196Z'/%3E%3Cpath fill='%23E9C48A' d='M62 150h86v-3h-86zM64 147h82v-2.5h-82zM66 120h78v-5h-78zM65 115L105.0 104L145 115ZM67 144.5V120h3.4v24.5zM75.5 144.5V120h3.4v24.5zM84.1 144.5V120h3.4v24.5zM92.7 144.5V120h3.4v24.5zM101.2 144.5V120h3.4v24.5zM109.8 144.5V120h3.4v24.5zM118.3 144.5V120h3.4v24.5zM126.9 144.5V120h3.4v24.5zM135.4 144.5V120h3.4v24.5zM143.9 144.5V120h3.4v24.5z'/%3E%3Cpath fill='%23C9A472' opacity='.8' d='M66 120h78v1.6h-78z'/%3E%3Cpath fill='%23173833' d='M0 196V186h10v-4h12v14zM24 196V188h14v8zM160 196V184h12v12zM176 196V188h10v-4h14v12z'/%3E%3Cpath fill='%23F7C17A' d='M4 188h3v4h-3zM14 186h3v4h-3zM28 190h3v4h-3zM164 188h3v4h-3zM180 190h3v4h-3zM190 188h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M134 206h44v3h-44zM142 216h28v3h-28zM149 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-cape-town: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237A5368'/%3E%3Cstop offset='0.45' stop-color='%23E07A57'/%3E%3Cstop offset='0.8' stop-color='%23F3A562'/%3E%3Cstop offset='1' stop-color='%23F8CB84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M78.1 68.2A22 22 0 1 1 121.9 68.2ZM78.6 71.2H121.4A22 22 0 0 1 120.4 74.3H79.6A22 22 0 0 1 78.6 71.2ZM118.3 78.3A22 22 0 0 1 81.7 78.3Z'/%3E%3Cpath fill='%236E5A6C' d='M0 196V150L14 136Q22 112 30 104L40 102Q44 96 50 100L56 100L150 98L156 102Q162 108 166 120L172 134L178 148Q184 132 190 124Q196 120 200 124V196Z'/%3E%3Cpath fill='%23F4EFE6' opacity='.35' d='M54 100Q60 94 70 96Q80 92 92 95Q104 91 116 95Q128 93 140 96Q148 95 150 99Z'/%3E%3Cpath fill='%235A4A5E' d='M150 196V170Q166 132 178 126Q190 122 196 140L200 150V196Z'/%3E%3Cpath fill='%2322423C' d='M0 196V172Q24 162 48 168T100 166T150 172T200 168V196Z'/%3E%3Cpath fill='%23173833' d='M30 196V182h12v14zM44 196V186h10v10zM58 196V178h10v18zM72 196V184h14v12zM90 196V180h10v16zM104 196V186h12v10zM120 196V182h10v14z'/%3E%3Cpath fill='%23F7C17A' d='M33 186h3v4h-3zM61 182h3v4h-3zM61 189h3v4h-3zM76 188h3v4h-3zM93 184h3v4h-3zM108 189h3v4h-3zM123 186h3v4h-3z'/%3E%3Cpath fill='%232B4A4B' d='M0 190h200v6H0z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M78 206h44v3h-44zM86 216h28v3h-28zM93 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-coast: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237A5368'/%3E%3Cstop offset='0.45' stop-color='%23E07A57'/%3E%3Cstop offset='0.8' stop-color='%23F3A562'/%3E%3Cstop offset='1' stop-color='%23F8CB84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M70.3 130.2A30 30 0 1 1 129.7 130.2ZM71.2 134.4H128.8A30 30 0 0 1 127.2 138.6H72.8A30 30 0 0 1 71.2 134.4ZM124 144A30 30 0 0 1 76 144Z'/%3E%3Cpath fill='%23B65E5C' d='M0 160H200V196H0Z'/%3E%3Cpath fill='%23FFE2A6' opacity='.75' d='M80 165h40v2.4h-40zM86 172h28v2.4h-28zM92 179h16v2h-16zM96 186h8v2h-8z'/%3E%3Cpath fill='%2322423C' d='M0 196V158Q14 148 30 150Q46 146 60 156L74 164Q60 170 48 196Z'/%3E%3Cpath fill='%23173833' d='M10 152V130h26v20zM20 130V124h10v6zM126 158L132 140V158ZM133 158V144L139 158ZM179.4 240C178.9 177 173 142 170.5 100L173.5 101C176 142 184.1 177 184.6 240ZM172 100Q154.5 85.7 132.8 102.6Q151.7 93.1 172 100ZM172 100Q165.1 83 150.3 80.6Q159.7 87.5 172 100ZM172 100Q175.4 86.7 169.7 74.1Q169.3 87.2 172 100ZM172 100Q185 87.3 188.9 77.2Q178.9 83.8 172 100ZM172 100Q193.5 95.9 210.6 101.4Q190.6 88.6 172 100ZM172 100Q155.2 96.4 140 125.2Q156.3 102.4 172 100ZM172 100Q187.2 105.4 204 125.2Q188.3 99.3 172 100ZM156.2 240C155.6 191.4 148 164.4 145 132L147 133C150 164.4 159.2 191.4 159.8 240ZM146 132Q134 122.2 119.1 133.8Q132.1 127.2 146 132ZM146 132Q141.2 120.3 131.1 118.7Q137.6 123.4 146 132ZM146 132Q148.3 122.9 144.4 114.2Q144.1 123.2 146 132ZM146 132Q154.9 123.3 157.6 116.4Q150.8 120.9 146 132ZM146 132Q160.8 129.2 172.5 132.9Q158.7 124.2 146 132ZM146 132Q134.5 129.6 124 149.3Q135.2 133.7 146 132ZM146 132Q156.4 135.7 168 149.3Q157.2 131.5 146 132Z'/%3E%3Cpath fill='%23173833' d='M122 159h20l-3 3h-14z'/%3E%3Cpath fill='%23F7C17A' d='M14 136h3v4h-3zM20 136h3v4h-3zM26 136h3v4h-3zM14 143h3v4h-3zM26 143h3v4h-3zM32 136h3v4h-3z'/%3E%3Cpath fill='%23A9614A' d='M0 196Q60 184 120 190T200 184V196Z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3C/svg%3E");
  --pc-skyline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%231D3E40'/%3E%3Cstop offset='0.5' stop-color='%235C5A6E'/%3E%3Cstop offset='0.8' stop-color='%23D3735A'/%3E%3Cstop offset='1' stop-color='%23F1A266'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='30' cy='30' r='1.2'/%3E%3Ccircle cx='70' cy='18' r='0.9'/%3E%3Ccircle cx='110' cy='40' r='0.9'/%3E%3Ccircle cx='96' cy='76' r='0.9'/%3E%3Ccircle cx='180' cy='30' r='1.6'/%3E%3Ccircle cx='130' cy='20' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M126.2 75.4A24 24 0 1 1 173.8 75.4ZM127 78.7H173A24 24 0 0 1 171.8 82.1H128.2A24 24 0 0 1 127 78.7ZM169.2 86.4A24 24 0 0 1 130.8 86.4Z'/%3E%3Cpath fill='%2322423C' d='M0 196V138h18v58zM40 196V126h16v70zM104 196V116h16v80zM160 196V130h16v66zM186 196V146h14v50z'/%3E%3Cpath fill='%23173833' d='M16 196V104L40 94V196ZM56 196V128H74V196ZM64.5 128V110h1v18zM78 196V100Q80 64 90 38Q100 64 102 100V196ZM122 196V94A10 10 0 0 1 142 94V196ZM144 196V112L166 124V196ZM168 196V152H190V196Z'/%3E%3Cpath fill='%23F7C17A' opacity='.75' d='M89 66h2v116h-2z'/%3E%3Cpath fill='%23F7C17A' d='M20 112h3v4h-3zM26 120h3v4h-3zM32 112h3v4h-3zM20 136h3v4h-3zM32 144h3v4h-3zM26 160h3v4h-3zM20 176h3v4h-3zM60 136h3v4h-3zM66 152h3v4h-3zM60 168h3v4h-3zM84 120h3v4h-3zM94 136h3v4h-3zM84 156h3v4h-3zM94 176h3v4h-3zM126 104h3v4h-3zM133 112h3v4h-3zM126 128h3v4h-3zM133 144h3v4h-3zM126 168h3v4h-3zM148 124h3v4h-3zM156 136h3v4h-3zM148 152h3v4h-3zM156 168h3v4h-3zM172 160h3v4h-3zM180 176h3v4h-3zM8 150h3v4h-3zM44 136h3v4h-3zM108 128h3v4h-3zM190 156h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M128 206h44v3h-44zM136 216h28v3h-28zM143 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-oldtown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4A66'/%3E%3Cstop offset='0.5' stop-color='%23A0687A'/%3E%3Cstop offset='0.8' stop-color='%23EC9068'/%3E%3Cstop offset='1' stop-color='%23F7C385'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M20.2 93.4A24 24 0 1 1 67.8 93.4ZM21 96.7H67A24 24 0 0 1 65.8 100.1H22.2A24 24 0 0 1 21 96.7ZM63.2 104.4A24 24 0 0 1 24.8 104.4Z'/%3E%3Cpath fill='%2322423C' d='M0 196V160L8 152L16 160V196ZM16 196V156L23 148L30 156V196ZM30 196V162L38 154L46 162V196ZM150 196V150L158 140L166 150V196ZM166 196V158L174 150L182 158V196ZM182 196V152L191 143L200 152V196Z'/%3E%3Cpath fill='%23173833' d='M0 196V172L9 162L18 172V196ZM18 196V164L29 152L40 164V196ZM40 196V176L49 167L58 176V196ZM27 158V148h4v8zM58 196V150H112V196ZM70 150V134H100V150ZM68 134A17 20 0 0 1 102 134ZM83 114V106h4v8zM82.4 106L85 99L87.6 106ZM120 196V100H134V196ZM118 100L127 54L136 100ZM138 196V170L148 160L158 170V196ZM160 196V146h4v-6h4v-6h8v6h4v6h4V196ZM184 196V166L192 158L200 166V196Z'/%3E%3Cpath fill='%23F7C17A' d='M6 182h3v4h-3zM10 176h3v4h-3zM24 172h3v4h-3zM32 180h3v4h-3zM46 184h3v4h-3zM144 176h3v4h-3zM150 184h3v4h-3zM166 150h3v4h-3zM174 150h3v4h-3zM166 162h3v4h-3zM174 174h3v4h-3zM190 172h3v4h-3zM124.5 116V108.5A2.5 2.5 0 0 1 129.5 108.5V116ZM65 172V163A3 3 0 0 1 71 163V172ZM82 172V163A3 3 0 0 1 88 163V172ZM99 172V163A3 3 0 0 1 105 163V172ZM76 146V140A2 2 0 0 1 80 140V146ZM92 146V140A2 2 0 0 1 96 140V146Z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M22 206h44v3h-44zM30 216h28v3h-28zM37 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-mountains: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%233F4B5E'/%3E%3Cstop offset='0.45' stop-color='%23B4605A'/%3E%3Cstop offset='0.75' stop-color='%23EA7F57'/%3E%3Cstop offset='1' stop-color='%23F5B169'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='24' cy='40' r='0.9'/%3E%3Ccircle cx='60' cy='20' r='1.2'/%3E%3Ccircle cx='150' cy='30' r='0.9'/%3E%3Ccircle cx='176' cy='56' r='1.2'/%3E%3Ccircle cx='120' cy='14' r='0.9'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M76.3 113.6A26 26 0 1 1 127.7 113.6ZM77 117.3H127A26 26 0 0 1 125.6 120.9H78.4A26 26 0 0 1 77 117.3ZM122.8 125.6A26 26 0 0 1 81.2 125.6Z'/%3E%3Cpath fill='%238E5A66' d='M0 150L24 128L40 138L66 102L84 120L100 128L118 124L140 98L162 118L178 110L200 126V196H0Z'/%3E%3Cpath fill='%235A4A5E' d='M0 168L30 146L52 156L74 140L104 162L128 148L150 156L176 136L200 150V196H0Z'/%3E%3Cpath fill='%2322423C' d='M0 196V178Q30 164 64 172T130 170T200 176V196Z'/%3E%3Cpath fill='%23173833' d='M24 196V184L30 178L36 184V196ZM36 196V180L43 173L50 180V196ZM50 196V186L55 181L60 186V196ZM58 196V176h6v-6l3-4 3 4v6h0v20ZM120 196V186L126 180L132 186V196ZM132 196V182L139 175L146 182V196ZM146 196V188L151 183L156 188V196ZM156 196V184L162 178L168 184V196Z'/%3E%3Cpath fill='%23F7C17A' d='M28 188h3v4h-3zM41 184h3v4h-3zM53 189h3v4h-3zM64 182h3v4h-3zM124 189h3v4h-3zM137 186h3v4h-3zM149 191h3v4h-3zM160 188h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M80 206h44v3h-44zM88 216h28v3h-28zM95 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-temple: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%234A4560'/%3E%3Cstop offset='0.5' stop-color='%23C0656A'/%3E%3Cstop offset='0.8' stop-color='%23EE8B60'/%3E%3Cstop offset='1' stop-color='%23F7C07A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cg fill='%23F4EFE6' opacity='0.55'%3E%3Ccircle cx='20' cy='24' r='1.2'/%3E%3Ccircle cx='54' cy='14' r='0.9'/%3E%3Ccircle cx='110' cy='30' r='0.9'/%3E%3Ccircle cx='176' cy='20' r='1.2'/%3E%3C/g%3E%3Cpath fill='%23FFE2A6' d='M126.1 94.2A22 22 0 1 1 169.9 94.2ZM126.6 97.2H169.4A22 22 0 0 1 168.4 100.3H127.6A22 22 0 0 1 126.6 97.2ZM166.3 104.3A22 22 0 0 1 129.7 104.3Z'/%3E%3Cpath fill='%235A4A5E' d='M0 160Q36 136 76 150Q110 160 140 140Q170 124 200 140V196H0Z'/%3E%3Cpath fill='%23173833' d='M46 186L46 177L78 177L78 186ZM36 176Q40 178 44 176L52.1 170H71.9L80 176Q84 178 88 176L81 174L71.9 169H52.1L43 174ZM49 169L49 163L75 163L75 169ZM39 162Q43 164 47 162L53.5 156H70.5L77 162Q81 164 85 162L78 160L70.5 155H53.5L46 160ZM51.5 155L51.5 149L72.5 149L72.5 155ZM41.5 148Q45.5 150 49.5 148L54.6 142H69.4L74.5 148Q78.5 150 82.5 148L75.5 146L69.4 141H54.6L48.5 146ZM54 141L54 135L70 135L70 141ZM44 134Q48 136 52 134L55.7 128H68.3L72 134Q76 136 80 134L73 132L68.3 127H55.7L51 132ZM56.5 127L56.5 121L67.5 121L67.5 127ZM46.5 120Q50.5 122 54.5 120L56.8 114H67.2L69.5 120Q73.5 122 77.5 120L70.5 118L67.2 113H56.8L53.5 118ZM60.8 113L61.2 91L62.8 91L63.2 113ZM59.4 108h5.2v1.4h-5.2zM59.4 104h5.2v1.4h-5.2zM59.4 100h5.2v1.4h-5.2zM59.4 96h5.2v1.4h-5.2zM36 196V186h52v10zM112 196V184h70v12zM118 184V168h58v16zM104 170Q110 172 116 166L128 152H166L178 166Q184 172 190 170L184 164L170 148H124L110 164ZM132 148L140 140H154L162 148Z'/%3E%3Cpath fill='%2322423C' d='M88 196V182Q84 176 90 170Q86 162 94 160Q100 154 106 160Q112 164 108 172Q112 178 106 182V196Z'/%3E%3Cpath fill='%23F7C17A' d='M124 172h3v4h-3zM132 172h3v4h-3zM140 172h3v4h-3zM148 172h3v4h-3zM156 172h3v4h-3zM164 172h3v4h-3z'/%3E%3Cpath fill='%23E8603C' d='M96.5 178h3v4h-3z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M126 206h44v3h-44zM134 216h28v3h-28zM141 226h14v2h-14z'/%3E%3C/svg%3E");
  --pc-desert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240'%3E%3Cdefs%3E%3ClinearGradient id='k' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237A5368'/%3E%3Cstop offset='0.45' stop-color='%23E07A57'/%3E%3Cstop offset='0.8' stop-color='%23F3A562'/%3E%3Cstop offset='1' stop-color='%23F8CB84'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='240' fill='url(%23k)'/%3E%3Cpath fill='%23FFE2A6' d='M22.1 94.6A26 26 0 1 1 73.9 94.6ZM22.7 98.2H73.3A26 26 0 0 1 72.1 101.9H23.9A26 26 0 0 1 22.7 98.2ZM69.6 106.5A26 26 0 0 1 26.4 106.5Z'/%3E%3Cpath fill='%2322423C' d='M40 168V140h14v28zM86 168V132h14v36zM172 168V136h14v32z'/%3E%3Cpath fill='%23173833' d='M108 168V92L116 84V168zM118 168V108h12V168zM132 168V74Q138 62 144 74V168zM146 168V100l10 6V168zM158 168V120h12V168zM60 168V128h12V168zM74 168V114l8-6v60z'/%3E%3Cpath fill='%23F7C17A' d='M111 100h3v4h-3zM111 116h3v4h-3zM111 132h3v4h-3zM111 148h3v4h-3zM121 116h3v4h-3zM125 132h3v4h-3zM121 148h3v4h-3zM136 86h3v4h-3zM139 104h3v4h-3zM136 122h3v4h-3zM139 140h3v4h-3zM136 156h3v4h-3zM149 112h3v4h-3zM151 128h3v4h-3zM149 144h3v4h-3zM162 128h3v4h-3zM164 144h3v4h-3zM63 136h3v4h-3zM66 150h3v4h-3zM77 122h3v4h-3zM77 140h3v4h-3zM77 156h3v4h-3z'/%3E%3Cpath fill='%23C9845A' d='M0 176Q40 156 90 166T200 160V196H0Z'/%3E%3Cpath fill='%23A9614A' d='M0 196V186Q50 168 104 180T200 176V196Z'/%3E%3Cpath fill='%23173833' d='M30.4 196C30 176 28 162 25 146L27.4 145.6C30.6 162 32.6 176 33 196ZM26 146Q14 136 2 146Q14 140 26 146ZM26 146Q22 134 12 130Q20 136 26 146ZM26 146Q28 134 24 126Q25 136 26 146ZM26 146Q36 136 42 130Q34 138 26 146ZM26 146Q40 142 50 148Q38 140 26 146ZM26 146Q16 148 8 162Q18 150 26 146ZM26 146Q36 150 44 162Q34 148 26 146Z'/%3E%3Crect y='196' width='200' height='44' fill='%230F2A27'/%3E%3Cpath fill='%23F7C17A' opacity='.7' d='M26 206h44v3h-44zM34 216h28v3h-28zM41 226h14v2h-14z'/%3E%3C/svg%3E");
}
/* links to a city: home postcards and city tiles (same selectors as d3) */
:is(.ds-pop, .lg) a[href$="/hotels/singapore/"] { --pc: var(--pc-singapore); }
:is(.ds-pop, .lg) a[href$="/hotels/seoul/"] { --pc: var(--pc-seoul); }
:is(.ds-pop, .lg) a[href$="/hotels/hong-kong/"] { --pc: var(--pc-hong-kong); }
:is(.ds-pop, .lg) a[href$="/hotels/miami/"] { --pc: var(--pc-miami); }
:is(.ds-pop, .lg) a[href$="/hotels/istanbul/"] { --pc: var(--pc-istanbul); }
:is(.ds-pop, .lg) a[href$="/hotels/mexico-city/"] { --pc: var(--pc-mexico-city); }
:is(.ds-pop, .lg) a[href$="/hotels/kuala-lumpur/"] { --pc: var(--pc-kuala-lumpur); }
:is(.ds-pop, .lg) a[href$="/hotels/taipei/"] { --pc: var(--pc-taipei); }
:is(.ds-pop, .lg) a[href$="/hotels/toronto/"] { --pc: var(--pc-toronto); }
:is(.ds-pop, .lg) a[href$="/hotels/sydney/"] { --pc: var(--pc-sydney); }
:is(.ds-pop, .lg) a[href$="/hotels/athens/"] { --pc: var(--pc-athens); }
:is(.ds-pop, .lg) a[href$="/hotels/cape-town/"] { --pc: var(--pc-cape-town); }
:is(.ds-pop, .lg) a:is([href$="/hotels/cancun/"], [href$="/hotels/phuket/"], [href$="/hotels/da-nang/"], [href$="/hotels/antalya/"], [href$="/hotels/pattaya/"], [href$="/hotels/cebu/"], [href$="/hotels/male/"], [href$="/hotels/honolulu/"], [href$="/hotels/florianopolis/"], [href$="/hotels/punta-cana/"], [href$="/hotels/palma/"], [href$="/hotels/busan/"], [href$="/hotels/los-angeles/"], [href$="/hotels/fukuoka/"]) { --pc: var(--pc-coast); --pc-flip: -1; --pc-zoom: auto 132%; }
:is(.ds-pop, .lg) a:is([href$="/hotels/osaka/"], [href$="/hotels/ho-chi-minh-city/"], [href$="/hotels/jakarta/"], [href$="/hotels/manila/"], [href$="/hotels/macau/"], [href$="/hotels/mumbai/"], [href$="/hotels/delhi/"], [href$="/hotels/johannesburg/"], [href$="/hotels/lagos/"], [href$="/hotels/orlando/"], [href$="/hotels/sao-paulo/"]) { --pc: var(--pc-skyline); --pc-flip: -1; --pc-zoom: auto 132%; }
:is(.ds-pop, .lg) a:is([href$="/hotels/barcelona/"], [href$="/hotels/madrid/"], [href$="/hotels/rome/"], [href$="/hotels/buenos-aires/"], [href$="/hotels/amsterdam/"], [href$="/hotels/milan/"], [href$="/hotels/florence/"], [href$="/hotels/porto/"], [href$="/hotels/berlin/"], [href$="/hotels/vienna/"], [href$="/hotels/prague/"]) { --pc: var(--pc-oldtown); --pc-flip: -1; --pc-zoom: auto 132%; }
:is(.ds-pop, .lg) a:is([href$="/hotels/rio-de-janeiro/"], [href$="/hotels/medellin/"], [href$="/hotels/san-salvador/"]) { --pc: var(--pc-mountains); --pc-flip: -1; --pc-zoom: auto 132%; }
:is(.ds-pop, .lg) a:is([href$="/hotels/hanoi/"], [href$="/hotels/penang/"], [href$="/hotels/kyoto/"], [href$="/hotels/chiang-mai/"]) { --pc: var(--pc-temple); --pc-flip: -1; --pc-zoom: auto 132%; }
:is(.ds-pop, .lg) a:is([href$="/hotels/abu-dhabi/"], [href$="/hotels/mecca/"], [href$="/hotels/las-vegas/"]) { --pc: var(--pc-desert); --pc-flip: -1; --pc-zoom: auto 132%; }
/* the shared themes vary along the city grid, so neighbours never repeat the same picture: every second tile is the
   mirror image, every third a closer, lower crop (the custom properties above are set on the theme links only) */
.lg li:nth-child(even) > a[href*="/hotels/"]::before { transform: scaleX(var(--pc-flip, 1)); }
.lg li:nth-child(3n) > a[href*="/hotels/"]::before { background-size: var(--pc-zoom, cover); background-position: 26% 100%; }
/* city pages: the page's own address (og:url, as theme.css does for the d3 cities; it also covers the cities whose sale is
   paused and whose search form has no "city" field: Barcelona, Madrid, Palma), then the hidden "city" field */
/* ready for the engine request <body data-city="…"> (jury defect 6): the 58 cities of this block (the eight d3 cities have
   their data-city rules in the d3 city section above, so this block never writes a d3 city) */
body[data-city="singapore"] { --pc: var(--pc-singapore); }
body[data-city="seoul"] { --pc: var(--pc-seoul); }
body[data-city="hong-kong"] { --pc: var(--pc-hong-kong); }
body[data-city="miami"] { --pc: var(--pc-miami); }
body[data-city="istanbul"] { --pc: var(--pc-istanbul); }
body[data-city="mexico-city"] { --pc: var(--pc-mexico-city); }
body[data-city="kuala-lumpur"] { --pc: var(--pc-kuala-lumpur); }
body[data-city="taipei"] { --pc: var(--pc-taipei); }
body[data-city="toronto"] { --pc: var(--pc-toronto); }
body[data-city="sydney"] { --pc: var(--pc-sydney); }
body[data-city="athens"] { --pc: var(--pc-athens); }
body[data-city="cape-town"] { --pc: var(--pc-cape-town); }
body:is([data-city="cancun"], [data-city="phuket"], [data-city="da-nang"], [data-city="antalya"], [data-city="pattaya"], [data-city="cebu"], [data-city="male"], [data-city="honolulu"], [data-city="florianopolis"], [data-city="punta-cana"], [data-city="palma"], [data-city="busan"], [data-city="los-angeles"], [data-city="fukuoka"]) { --pc: var(--pc-coast); }
body:is([data-city="osaka"], [data-city="ho-chi-minh-city"], [data-city="jakarta"], [data-city="manila"], [data-city="macau"], [data-city="mumbai"], [data-city="delhi"], [data-city="johannesburg"], [data-city="lagos"], [data-city="orlando"], [data-city="sao-paulo"]) { --pc: var(--pc-skyline); }
body:is([data-city="barcelona"], [data-city="madrid"], [data-city="rome"], [data-city="buenos-aires"], [data-city="amsterdam"], [data-city="milan"], [data-city="florence"], [data-city="porto"], [data-city="berlin"], [data-city="vienna"], [data-city="prague"]) { --pc: var(--pc-oldtown); }
body:is([data-city="rio-de-janeiro"], [data-city="medellin"], [data-city="san-salvador"]) { --pc: var(--pc-mountains); }
body:is([data-city="hanoi"], [data-city="penang"], [data-city="kyoto"], [data-city="chiang-mai"]) { --pc: var(--pc-temple); }
body:is([data-city="abu-dhabi"], [data-city="mecca"], [data-city="las-vegas"]) { --pc: var(--pc-desert); }
/* ART-EXTRA:END */
