*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--paper:#fff;--ink:#0e0e0e;--body:#4b4b4b;--muted:#8a8a8a;--line:#e7e6e2;--yellow:#ffe000;--panel:#f7f6f3;
--up:#2E9D78;--down:#b3402e;--flat:#9a9a95;--asia:#4d146c;--us:#003268;--europe:#c99a12;--other:#828383}
body{background:var(--panel);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit}.num{text-align:right}.fine{font-size:12px;color:var(--muted)}
.rc-up{color:var(--up);font-weight:700}.rc-down{color:var(--down);font-weight:700}.rc-flat{color:var(--flat)}
.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh;background:#fff}
.side{background:#fff;border-right:1px solid var(--line);padding:26px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.side-brand img{height:20px;margin-bottom:22px}
.side-t{font-size:13px;font-weight:800;letter-spacing:-.01em}.side-tier{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--asia);font-weight:700;margin-bottom:24px}
.pnav{display:flex;flex-direction:column;gap:2px;flex:1}
.pnav-i{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:9px 10px;font-weight:600;border-radius:6px}
.pnav-i:hover{background:var(--panel);color:var(--ink)}.pnav-i.active{background:var(--ink);color:#fff}
.side-foot{border-top:1px solid var(--line);padding-top:16px}.side-user{font-size:12px;font-weight:600}.side-manage{font-size:12px;color:var(--muted);text-decoration:none}
.main{padding:0 34px 40px}
.topbar{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:12px}
.live{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.live .dot{width:7px;height:7px;border-radius:50%;background:var(--up)}
.tb-m{color:var(--muted)}.tb-sep{color:var(--line)}.tb-btn{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);padding:8px 14px;text-decoration:none;border-radius:6px}
.brief{padding:30px 0 18px}
.brief-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.brief h1{font-family:'Newsreader',Georgia,serif;font-size:clamp(32px,4.6vw,52px);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:8px 0 12px}
.brief-sub{font-size:18px;color:var(--body);max-width:640px}
.pstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:8px 0}
.pstat{background:#fff;padding:20px 22px}.pstat-v{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.v-asia{color:var(--asia)}.v-us{color:var(--us)}
.pstat-l{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:8px}.pstat-s{font-size:12px;color:var(--body);margin-top:4px}
.brief-obs{font-size:13px;color:var(--muted);border-left:3px solid var(--yellow);padding:8px 14px;margin:14px 0 24px}
.grid2{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:16px}
.grid3{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:16px}
.card{border:1px solid var(--line);padding:20px 22px;background:#fff}
.card-h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:16px}
.card-tag{color:var(--asia);margin-left:6px}
.feat-body{display:grid;grid-template-columns:150px 1fr;gap:22px}
.feat-cover{background:linear-gradient(160deg,#faf8f2,#efece3);border:1px solid var(--line);padding:18px 16px;display:flex;flex-direction:column;justify-content:space-between;min-height:190px}
.fc-eyebrow{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.fc-title{font-family:'Newsreader',serif;font-size:22px;font-weight:600;line-height:1.05;margin-top:10px}
.fc-month{font-size:12px;color:var(--asia);font-weight:700;margin-top:auto}
.feat-title{font-family:'Newsreader',serif;font-size:22px;font-weight:600;margin-bottom:8px}
.feat-desc{font-size:14px;color:var(--body);margin-bottom:16px}
.feat-cta{display:inline-block;background:var(--ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:11px 18px;text-decoration:none}
.feat-note{font-size:11px;color:var(--muted);margin-top:12px}
.wl{width:100%;border-collapse:collapse;font-size:13px}
.wl th{text-align:right;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line)}
.wl th:first-child{text-align:left}.wl td{padding:9px 8px;border-bottom:1px solid #f0efea}.wl td:first-child{text-align:left}
.wl a{color:var(--ink);text-decoration:none;font-weight:600}.wl-dev{font-size:11px;color:var(--muted)}.wl-sig{font-size:12px;color:var(--body)}
.alerts{display:flex;flex-direction:column}
.alert{display:flex;flex-direction:column;gap:3px;padding:11px 0;border-bottom:1px solid #f0efea;text-decoration:none}
.al-t{font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.al-price{color:var(--asia)}.al-ranking{color:var(--us)}.al-new{color:var(--up)}
.al-x{font-size:13px;color:var(--ink)}
.scatter{width:100%;height:auto}.scatter .sg{stroke:#f0efea}.scatter .sx,.scatter .sy{fill:var(--muted);font-size:9px}
.scatter .sx{text-anchor:middle}.scatter .sy{text-anchor:end}.scatter .sax{fill:var(--muted);font-size:9px;text-anchor:middle}
.sd-asia{fill:var(--asia)}.sd-us{fill:var(--us)}.sd-europe{fill:var(--europe)}.sd-other{fill:var(--other)}
.leg{display:flex;gap:14px;margin-top:10px}.lg{font-size:11px;color:var(--muted);display:inline-flex;align-items:center}
.lg::before{content:"";width:8px;height:8px;border-radius:50%;margin-right:5px}
.lg-asia::before{background:var(--asia)}.lg-us::before{background:var(--us)}.lg-europe::before{background:var(--europe)}.lg-other::before{background:var(--other)}
.arch-row{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid #f0efea;text-decoration:none}
.arch-row b{font-size:14px}.arch-row span{font-size:12px;color:var(--muted)}
.pricing{margin-top:22px;border:1px solid var(--ink);padding:26px 28px;background:#fff}
.pr-h{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.pr-feats{font-size:14px;color:var(--body);margin:10px 0 18px}
.pr-price{font-size:20px;color:var(--ink)}.pr-price b{color:var(--asia)}.pr-price span{font-size:14px;color:var(--muted);font-weight:400}
.pr-note{font-size:12px;color:var(--muted);margin-top:12px}
.site-footer{background:#0e0e0e;color:#fff;padding:56px 34px 30px;grid-column:1/-1}.site-footer .inner{max-width:1240px;margin:0 auto}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:30px;padding-bottom:34px;border-bottom:1px solid #262626}
.foot-brand img{height:20px;filter:invert(1);margin-bottom:12px}.fb-lab{font-size:13px;font-weight:600}.foot-brand p{font-size:13px;color:#8a8a8a}
.foot-col h4,.foot-contact h4{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a8a8a;margin-bottom:14px}
.foot-col a,.foot-contact a{display:block;font-size:14px;color:#d4d4d4;text-decoration:none;margin-bottom:9px}.loc{font-size:14px;color:#8a8a8a}
.foot-bottom{display:flex;justify-content:space-between;padding-top:22px;font-size:12px;color:#8a8a8a;flex-wrap:wrap;gap:12px}.foot-legal a{color:#8a8a8a;text-decoration:none;margin-left:18px}
/* coming-soon gate / paywall */
.gate{padding:118px 34px 46px;max-width:1000px;margin:0 auto;text-align:center;background:#fff}
.gate-brand img{height:24px;margin:0 auto 30px}
.gate-eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.gate h1{font-family:'Newsreader',Georgia,serif;font-size:clamp(46px,9vw,86px);font-weight:600;letter-spacing:-.02em;line-height:1;margin:12px 0 18px}
.gate-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 16px}
.gate-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--yellow)}
.gate-sub{font-size:19px;color:var(--body);max-width:620px;margin:22px auto;line-height:1.5}
.gate-feats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:24px 0}
.gate-feats span{font-size:12px;font-weight:600;color:var(--body);background:var(--panel);border:1px solid var(--line);padding:7px 13px;border-radius:999px}
.gate-price{font-size:19px;margin:28px 0 20px}.gate-price b{color:var(--asia)}.gate-price span{font-size:14px;color:var(--muted)}
.gate-cta{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:16px 30px;text-decoration:none}
.gate-cta:hover{background:#000}
.gate-note{font-size:12px;color:var(--muted);margin-top:22px}
.preview{position:relative;max-height:660px;overflow:hidden;border-top:1px solid var(--line)}
.preview-label{text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:22px 0 6px}
.locked{filter:blur(5px);opacity:.5;pointer-events:none;user-select:none}
.preview::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(transparent,#fff)}
@media(max-width:1000px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.pnav{flex-direction:row;flex-wrap:wrap;flex:1 1 100%}.side-foot{display:none}
.grid2,.grid3{grid-template-columns:1fr}.pstats{grid-template-columns:1fr 1fr}.feat-body{grid-template-columns:1fr}}
@media(max-width:560px){.pstats{grid-template-columns:1fr}.main{padding:0 18px 30px}}
