.tm-app{--bg:#f4f7fc;--land:#fffdf2;--on:#cc0001;--ink:#010066;--sea:#e1e9f5;--line:#8793a6;
  --pane:#fff;--bd:#e3e6ea;--tx:#14163a;--mut:#5d6b73;--ac:#cc0001;--navy:#010066;--gold:#ffcc00;
  container-type:inline-size;container-name:tm;font-family:inherit;color:var(--tx);max-width:1120px;margin:0 auto;line-height:1.45;box-sizing:border-box}
.tm-app *{box-sizing:border-box}
.tm-app button:focus-visible,.tm-app input:focus-visible,.tm-app a:focus-visible{outline:3px solid #1b73e8;outline-offset:2px}
.tm-st,.tm-st:focus{outline:none}
/* language switch */
.tm-seg{display:inline-flex;border:1px solid var(--bd);border-radius:999px;overflow:hidden;background:#f4f6f8}
.tm-seg button{all:unset;cursor:pointer;padding:6px 14px;font-size:.8125rem;font-weight:700;color:var(--mut)}
.tm-seg button[aria-pressed=true]{background:var(--navy);color:#fff}
/* hero */
.tm-hero{position:relative;overflow:hidden;border-radius:22px;color:#fff;background:#050a3d;isolation:isolate}
.tm-scene,.tm-art,.tm-media{position:absolute;inset:0;width:100%;height:100%}
.tm-media{object-fit:cover}
.tm-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,40,.78) 0%,rgba(3,5,40,.45) 55%,rgba(3,5,40,.15) 100%),linear-gradient(0deg,rgba(3,5,40,.55),transparent 45%)}
.tm-hero-in{position:relative;padding:20px 28px 22px;display:flex;flex-direction:column;gap:22px;min-height:560px}
.tm-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tm-brand{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:900;letter-spacing:-.01em}
.tm-flag{display:block;border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.tm-hero .tm-seg{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.tm-hero .tm-seg button{color:#fff}
.tm-hero .tm-seg button[aria-pressed=true]{background:var(--gold);color:var(--navy)}
.tm-hero-c{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:28px;align-items:center;flex:1}
.tm-pill{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);font-size:.8125rem;font-weight:700;backdrop-filter:blur(6px)}
.tm-hl h1{margin:16px 0 12px;font-size:clamp(2rem,5.2vw,3.6rem);line-height:1.06;font-weight:900;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.tm-grad{background:linear-gradient(100deg,#ffcc00 0%,#ff8a5c 55%,#ff5a6e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.tm-lead2{margin:0 0 20px;max-width:34em;font-size:1.0625rem;opacity:.92}
.tm-cta{display:inline-block;padding:13px 26px;border-radius:999px;background:var(--gold);color:var(--navy)!important;font-weight:800;text-decoration:none!important;box-shadow:0 8px 24px rgba(255,204,0,.28);transition:transform .15s}
.tm-cta:hover{transform:translateY(-2px)}
.tm-steps{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;padding:0;list-style:none;counter-reset:s;font-size:.875rem;font-weight:600}
.tm-steps li{counter-increment:s;display:flex;align-items:center;gap:8px;opacity:.92}
.tm-steps li:before{content:counter(s);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);font-size:.75rem}
/* passport */
.tm-pass{padding:18px;border-radius:18px;background:rgba(8,10,60,.55);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px);box-shadow:0 14px 40px rgba(0,0,0,.28)}
.tm-pass-h{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.9}
.tm-pass-n{display:flex;align-items:baseline;gap:8px;margin-top:8px}
.tm-pass-n b{font-size:3rem;font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--gold)}
.tm-pass-n span{font-size:.875rem;opacity:.85}.tm-pass-n em{font-style:normal}
.tm-rank{display:inline-block;margin:8px 0 10px;padding:4px 12px;border-radius:999px;background:var(--gold);color:var(--navy);font-size:.8125rem;font-weight:800}
.tm-pass .tm-prog{background:rgba(255,255,255,.2)}.tm-pass .tm-prog i{background:var(--gold)}
.tm-nxt{margin:8px 0 12px;font-size:.78rem;opacity:.85}
.tm-pl{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.78rem}
.tm-pl li{display:grid;grid-template-columns:118px 1fr 52px;align-items:center;gap:8px}
.tm-pl i{display:block;height:6px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}.tm-pl u{display:block;height:100%;width:0;background:#ff6b6b;transition:width .3s}
.tm-pl .tm-plc{text-align:right;font-variant-numeric:tabular-nums;opacity:.9}
.tm-fact{margin:0;padding:10px 16px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:.875rem;backdrop-filter:blur(6px)}
.tm-fact b{color:var(--gold)}#tmFact{transition:opacity .35s}#tmFact.out{opacity:0}
/* tiles (tab navigation) */
.tm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0;scroll-margin-top:16px}
.tm-tile{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"i t" "i n" "p p";column-gap:12px;align-items:center;padding:14px;border-radius:16px;background:var(--pane);border:1px solid var(--bd);transition:transform .15s,box-shadow .15s}
.tm-tile:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(1,1,102,.12)}
.tm-ti{grid-area:i;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef0fb;color:var(--navy)}
.tm-tt{grid-area:t;font-size:.95rem;font-weight:800;line-height:1.2}
.tm-tn{grid-area:n;font-size:.8rem;color:var(--mut);font-variant-numeric:tabular-nums}
.tm-tp{grid-area:p;display:block;height:5px;border-radius:99px;background:#e9edf0;margin-top:10px;overflow:hidden}.tm-tp u{display:block;height:100%;width:0;background:var(--ac);transition:width .3s}
.tm-tile[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 10px 26px rgba(1,1,102,.28)}
.tm-tile[aria-selected=true] .tm-ti{background:var(--gold);color:var(--navy)}.tm-tile[aria-selected=true] .tm-tn{color:rgba(255,255,255,.8)}
.tm-tile[aria-selected=true] .tm-tp{background:rgba(255,255,255,.25)}.tm-tile[aria-selected=true] .tm-tp u{background:var(--gold)}
.tm-panel[hidden]{display:none}
/* tool body */
.tm-body{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);border:1px solid var(--bd);border-radius:18px;overflow:hidden;background:var(--pane)}
.tm-stage{background:var(--bg);padding:18px;display:flex;align-items:center;justify-content:center;min-height:360px;transition:background .25s}
.tm-stage svg{width:100%;height:auto;max-height:80vh;display:block;overflow:visible}
.tm-sea{fill:var(--sea)}
.tm-st path{fill:var(--land);stroke:var(--line);stroke-width:1.4;stroke-linejoin:round;cursor:pointer;transition:fill .18s}
.tm-st:hover path{filter:brightness(.95)}.tm-st.on path{fill:var(--on)}.tm-st:focus-visible path{stroke:#1b73e8;stroke-width:3}
.tm-lab{font-size:var(--fs,12px);font-weight:800;fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:.28em;stroke-linejoin:round;pointer-events:none;text-anchor:middle}
.tm-lab.on{fill:var(--land);stroke:var(--on)}.tm-lab.out{text-anchor:end;stroke:var(--bg)}
.tm-lead{stroke:var(--ink);stroke-width:1.4;opacity:.45;pointer-events:none}
.tm-side{padding:18px;display:flex;flex-direction:column;gap:16px;border-left:1px solid var(--bd)}
.tm-sticky{align-self:start;position:sticky;top:12px}
.tm-count{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tm-count b{font-size:2.6rem;font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--ac)}
.tm-count span{color:var(--mut);font-size:.9375rem}
.tm-prog{height:8px;border-radius:99px;background:#e9edf0;overflow:hidden}.tm-prog i{display:block;height:100%;background:var(--ac);width:0;transition:width .3s}
.tm-grp h3{margin:0 0 6px;font-size:.8125rem;font-weight:700;color:var(--mut)}
.tm-chips,.tm-schips{display:flex;flex-wrap:wrap;gap:6px}
.tm-chip{all:unset;cursor:pointer;padding:6px 11px;border:1px solid var(--bd);border-radius:999px;font-size:.875rem;background:#fff}
.tm-chip[aria-pressed=true]{background:var(--ac);border-color:var(--ac);color:#fff}
.tm-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tm-row label{font-size:.8125rem;font-weight:700;color:var(--mut);width:100%}
.tm-sw{all:unset;cursor:pointer;width:32px;height:32px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--bd)}.tm-sw[aria-pressed=true]{box-shadow:0 0 0 3px var(--navy)}
.tm-in{width:100%;padding:9px 12px;border:1px solid var(--bd);border-radius:10px;font:inherit;font-size:.9375rem;background:#fff;color:var(--tx)}
.tm-btn{all:unset;cursor:pointer;text-align:center;padding:10px 14px;border-radius:10px;font-weight:700;font-size:.9rem;border:1px solid var(--bd);background:#fff}
.tm-btn.p{background:var(--navy);border-color:var(--navy);color:#fff;flex:1 1 150px}
.tm-note{font-size:.78rem;color:var(--mut);margin:0}.tm-hint{margin:0;font-size:.875rem;color:var(--mut)}
/* checklists */
.tm-main{padding:16px;min-width:0}
.tm-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.tm-filters .tm-q{flex:1 1 220px;width:auto}
.tm-schips{margin-bottom:14px}.tm-schips .tm-chip{font-size:.8125rem;padding:5px 10px}
.tm-sh{display:flex;align-items:baseline;gap:8px;margin:18px 0 8px;font-size:1.05rem;font-weight:800;color:var(--navy)}.tm-sh em{font-style:normal;font-size:.8rem;font-weight:700;color:var(--mut)}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.tm-it{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"c n" "c m";column-gap:10px;padding:10px 12px;border:1px solid var(--bd);border-radius:12px;background:#fff;transition:background .15s,border-color .15s}
.tm-it[hidden],.tm-sec[hidden],.tm-none[hidden]{display:none}
.tm-it:hover{border-color:var(--navy)}
.tm-ck{grid-area:c;align-self:center;width:22px;height:22px;border-radius:50%;border:2px solid #c4cad0;display:grid;place-items:center;font-size:13px;color:#fff}
.tm-rk{display:none}.tm-nmn{grid-area:n;font-weight:700;font-size:.9rem;line-height:1.25}.tm-mt{grid-area:m;font-size:.75rem;color:var(--mut)}
.tm-it[aria-pressed=true]{background:#fff4f4;border-color:var(--ac)}.tm-it[aria-pressed=true] .tm-ck{background:var(--ac);border-color:var(--ac)}.tm-it[aria-pressed=true] .tm-ck:after{content:"\2713"}
.tm-none{padding:30px;text-align:center;color:var(--mut)}
@container tm (max-width:860px){.tm-hero-c{grid-template-columns:minmax(0,1fr)}.tm-hero-in{min-height:0;padding:16px}.tm-shade{background:linear-gradient(0deg,rgba(3,5,40,.8),rgba(3,5,40,.45))}}
@container tm (max-width:760px){.tm-body{grid-template-columns:1fr}.tm-side{border-left:0;border-top:1px solid var(--bd)}.tm-sticky{position:static}.tm-stage{padding:10px;min-height:0}.tm-tiles{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.tm-app *{transition:none!important}}

/* hero text: always readable, whatever the WordPress theme does to p / li / span colours */
.tm-app .tm-hero{color:#fff}
.tm-app .tm-hero h1,.tm-app .tm-hero p,.tm-app .tm-hero li,.tm-app .tm-hero span,.tm-app .tm-hero em,.tm-app .tm-hero b,.tm-app .tm-hero div,.tm-app .tm-hero label{color:#fff!important;text-shadow:none}
.tm-app .tm-hero .tm-pass-n b,.tm-app .tm-hero .tm-fact b{color:var(--gold)!important}
.tm-app .tm-hero .tm-rank,.tm-app .tm-hero .tm-seg button[aria-pressed=true]{color:var(--navy)!important}
.tm-app .tm-hero .tm-grad{color:transparent!important;-webkit-text-fill-color:transparent!important}
.tm-app .tm-hero h1{font-size:clamp(1.9rem,6cqi,3.6rem);margin:16px 0 12px;line-height:1.08}
.tm-app .tm-hero .tm-nxt{opacity:1}.tm-app .tm-hero .tm-pass-n span,.tm-app .tm-hero .tm-plc{opacity:.95}
.tm-app .tm-hero p{margin-bottom:0}.tm-app .tm-hero .tm-lead2{margin:0 0 20px}
.tm-app .tm-hero ol,.tm-app .tm-hero ul{margin-left:0}
/* districts map */
.tm-dmap{border:1px solid var(--bd);border-radius:18px;overflow:hidden;margin-bottom:14px;background:var(--pane)}
.tm-dmap[hidden]{display:none}
.tm-dmap .tm-stage{min-height:300px}
.tm-dp{fill:var(--land);stroke:var(--line);stroke-width:.8px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;transition:fill .15s;outline:none}
.tm-dp.on{fill:var(--on)}.tm-dp:hover{stroke:var(--ink);stroke-width:1.6px}.tm-dp:focus-visible{stroke:#1b73e8;stroke-width:2.4px}
.tm-dbar{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--bd)}
.tm-dname{flex:1 1 220px;font-weight:800;color:var(--navy);min-height:1.4em}
.tm-dzl{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:700;color:var(--mut)}.tm-dsel{width:auto;min-width:150px}
.tm-dcr{margin:0;padding:0 14px 10px}
.tm-mt:empty{display:none}

.tm-app [hidden]{display:none!important}
.tm-dp.dim{opacity:.3}.tm-dp.dim:hover{opacity:.8}
.tm-app .tm-hero .tm-nxt{margin:8px 0 14px}

/* ===== homepage promo [tm_promo] ===== */
.tm-promo{position:relative;overflow:hidden;border-radius:26px;color:#fff;background:#050a3d;isolation:isolate}
.tm-promo:before{content:"";position:absolute;z-index:-1;width:620px;height:620px;right:-140px;top:-200px;background:radial-gradient(circle,rgba(255,204,0,.30),transparent 65%)}
.tm-promo:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1.5px,transparent 1.5px 24px),repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0 1.5px,transparent 1.5px 24px)}
.tm-promo .tm-shade{background:linear-gradient(100deg,rgba(3,5,40,.88) 0%,rgba(3,5,40,.55) 55%,rgba(3,5,40,.25) 100%)}
.tm-promo>.tm-lang{position:absolute;top:16px;right:18px;z-index:3}
.tm-promo .tm-seg{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.tm-promo .tm-seg button{color:#fff}.tm-promo .tm-seg button[aria-pressed=true]{background:var(--gold);color:var(--navy)}
.tm-pm-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:36px;align-items:center;padding:52px 44px 56px}
.tm-promo h2{margin:16px 0 14px;font-size:clamp(2rem,5.4cqi,3.5rem);font-weight:900;line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.tm-promo .tm-steps{margin-top:20px}
.tm-pulse{animation:tmPulse 2.4s infinite;display:inline-flex;align-items:center;gap:10px}
@keyframes tmPulse{0%{box-shadow:0 0 0 0 rgba(255,204,0,.55)}70%,100%{box-shadow:0 0 0 20px rgba(255,204,0,0)}}
.tm-cs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px;max-width:430px}
.tm-c2{min-width:0;padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.tm-c2 b{display:block;font-size:1.45rem;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}.tm-c2 span{font-size:.74rem;opacity:.9}
.tm-pm-r{position:relative;padding-bottom:26px}
.tm-glass{padding:14px 16px 12px;border-radius:22px;background:rgba(10,14,70,.55);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(14px);box-shadow:0 26px 60px rgba(0,0,0,.45)}
.tm-glass-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:.875rem;font-weight:700}
.tm-pc{padding:3px 12px;border-radius:999px;background:var(--gold);font-variant-numeric:tabular-nums}.tm-pc i{font-style:normal}
.tm-glass svg{display:block;width:100%;height:auto;overflow:visible}
.tm-psea{fill:rgba(255,255,255,.07)}
.tm-pp{fill:rgba(255,255,255,.16);stroke:rgba(255,255,255,.45);stroke-width:1.4;stroke-linejoin:round;cursor:pointer;transition:fill .2s;outline:none}
.tm-pp:hover{fill:rgba(255,255,255,.34)}.tm-pp:focus-visible{stroke:#fff;stroke-width:3}
.tm-pp.on{fill:#ffcc00;stroke:#fff3b0;filter:drop-shadow(0 0 10px rgba(255,204,0,.6))}
.tm-glass .tm-prog{background:rgba(255,255,255,.2);margin-top:6px}.tm-glass .tm-prog i{background:var(--gold)}
.tm-cont{margin:8px 0 0;font-size:.75rem;opacity:.85}
.tm-mock{position:absolute;right:-10px;bottom:-4px;width:176px;padding:12px 14px;border-radius:16px;background:#f4f7fc;transform:rotate(5deg);box-shadow:0 18px 40px rgba(0,0,0,.45);animation:tmFloat 6s ease-in-out infinite}
@keyframes tmFloat{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(3deg) translateY(-8px)}}
.tm-mock-h{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:900}
.tm-mock-n{display:flex;align-items:baseline;gap:2px;margin-top:6px;font-size:1.1rem;font-weight:800}.tm-mock-n b{font-size:2.1rem;line-height:1}
.tm-mock small{display:block;font-size:.66rem;font-weight:600;margin-bottom:6px}.tm-mock em{display:block;margin-top:7px;font-size:.62rem;font-style:normal;font-weight:700;text-align:right;opacity:.7}
.tm-mprog{height:6px;border-radius:99px;background:#d6dbec;overflow:hidden}.tm-mprog i{display:block;height:100%;width:0;background:#cc0001;transition:width .3s}
.tm-app .tm-promo .tm-mock *,.tm-promo .tm-mock *{color:#010066!important}.tm-promo .tm-mock .tm-mock-n b{color:#cc0001!important}
.tm-promo h2,.tm-promo p,.tm-promo li,.tm-promo span,.tm-promo b,.tm-promo i,.tm-promo div{color:#fff}
.tm-promo .tm-pc,.tm-promo .tm-pc i{color:var(--navy)!important}.tm-promo .tm-c2 b,.tm-promo .tm-pc{color:inherit}.tm-promo .tm-c2 b{color:var(--gold)!important}
.tm-promo .tm-grad{color:transparent!important;-webkit-text-fill-color:transparent!important}
.tm-promo h2,.tm-promo p,.tm-promo li,.tm-promo .tm-pill,.tm-promo .tm-c2 span,.tm-promo .tm-glass-h span,.tm-promo .tm-cont{color:#fff!important}
.tm-promo .tm-cta{color:var(--navy)!important}.tm-promo .tm-cta span{color:var(--navy)!important}
@container tm (max-width:820px){.tm-pm-in{grid-template-columns:minmax(0,1fr);padding:60px 20px 40px;gap:30px}.tm-pm-r{padding-bottom:92px}.tm-mock{right:10px;bottom:0;width:158px}}
@media(prefers-reduced-motion:reduce){.tm-pulse,.tm-mock{animation:none!important}}

.tm-pm-l,.tm-pm-r,.tm-hl{min-width:0}

.tm-mock-h{white-space:nowrap}

.tm-promo.tm-link{cursor:pointer;transition:transform .25s,box-shadow .25s}
.tm-promo.tm-link:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(1,1,102,.35)}
@media(prefers-reduced-motion:reduce){.tm-promo.tm-link:hover{transform:none}}

/* ===== Makan Passport ===== */
.tm-itw{position:relative}.tm-itw .tm-it{width:100%;padding-right:48px}
.tm-wb{all:unset;cursor:pointer;position:absolute;right:8px;top:50%;margin-top:-16px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#8a949c;transition:background .15s,color .15s}
.tm-wb:hover{background:#f1f3f5;color:var(--navy)}.tm-wb[aria-pressed=true]{color:#8a6a00;background:#ffe27a}.tm-wb[aria-pressed=true] svg{fill:currentColor}
.tm-itw.want .tm-it{background:#fffbea;border-color:#e6c200}
.tm-fr{display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:#eef0fb}.tm-fr small{font-size:.75rem;color:var(--mut)}
.tm-fr b{font-size:1.25rem;font-weight:900;color:var(--navy);line-height:1.2}
.tm-wc{font-weight:700;color:var(--navy)}
@media(max-width:560px){.tm-flt{flex-wrap:wrap}}
