@import url('https://fonts.googleapis.com/css2?family=PT+Mono&family=Archivo:wdth,wght@100..125,400..800&display=swap');
:root{--black:#000;--white:#fff;--ink:#111719;--muted:#5e6a71;--subtle:#f3f6f6;--line:#e5eaeb;--teal:#0280a5;--cyan:#00cad7;--purple:#4e2369;--red:#a52828;--amber:#9a5d0b;--max:1440px;--content:1216px;--header:96px}
*{box-sizing:border-box}html{background:#fff;scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--black);font-family:'Archivo','Aptos','Arial',sans-serif;line-height:1.45;text-rendering:optimizeLegibility}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.skip-link{position:fixed;left:-999px;top:8px;background:#000;color:#fff;padding:10px;z-index:999}.skip-link:focus{left:8px}.en{display:block;color:var(--muted);font-size:.82em;line-height:1.35;margin-top:3px}.mono{font-family:'PT Mono',monospace}.eyebrow{font-family:'PT Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.site-header{height:var(--header);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.header-grid{height:100%;max-width:var(--content);margin:auto;display:grid;grid-template-columns:275px 1fr 190px;align-items:stretch}.brand{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:750;letter-spacing:.02em;border-right:1px solid var(--line)}.brand-mark{width:34px;height:34px;background:var(--teal);color:#fff;display:grid;place-items:center;font-family:'PT Mono',monospace;font-size:12px}.brand>span:last-child{line-height:1.08}.brand small{display:block;font:9px 'PT Mono',monospace;color:var(--muted);letter-spacing:.08em;margin-top:5px}.primary-nav{display:grid;grid-template-columns:repeat(3,1fr);border-right:1px solid var(--line)}.primary-nav a{padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.primary-nav a:nth-child(3n){border-right:0}.primary-nav a:nth-last-child(-n+3){border-bottom:0}.primary-nav a span{display:block;font:9px 'PT Mono',monospace;color:var(--muted);font-weight:400}.primary-nav a:hover,.primary-nav a.active{background:#000;color:#fff}.primary-nav a:hover span,.primary-nav a.active span{color:#cfd6d8}.header-tools{display:grid;grid-template-columns:1fr 1fr}.header-tools a,.header-tools button{border:0;background:#fff;border-right:1px solid var(--line);display:grid;place-items:center;font:10px 'PT Mono',monospace;letter-spacing:.04em}.header-tools button{border-right:0}.header-tools a:hover,.header-tools button:hover{background:var(--subtle)}.menu-toggle{display:none}
#app{min-height:calc(100vh - var(--header) - 58px);outline:0}.view{animation:viewIn .28s ease both}@keyframes viewIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.hero{max-width:var(--max);min-height:calc(100vh - var(--header));margin:auto;display:grid;grid-template-columns:44% 56%;background:#fff}.hero-copy{padding:72px max(32px,calc((100vw - 1216px)/2)) 50px max(32px,calc((100vw - 1216px)/2));padding-right:54px;display:flex;flex-direction:column;justify-content:space-between}.hero-copy h1{font-size:clamp(64px,7.2vw,108px);line-height:.85;letter-spacing:-.065em;margin:40px 0 28px;max-width:650px}.hero-copy h1 span{display:block;color:var(--teal)}.hero-lead{font-size:clamp(20px,2vw,30px);line-height:1.2;letter-spacing:-.025em;max-width:590px}.hero-lead .en{font-size:.62em;margin-top:12px}.hero-image{position:relative;min-height:680px;overflow:hidden;background:#dce6df}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:55% center;display:block}.hero-image-label{position:absolute;right:0;bottom:0;background:#fff;padding:16px 20px;min-width:245px;border-top:1px solid #fff;font:10px 'PT Mono',monospace}.hero-foot{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid #000;padding-top:20px}.hero-metrics{display:flex;gap:28px}.hero-metrics b{font-size:36px;line-height:1}.hero-metrics span{display:block;font:9px 'PT Mono',monospace;color:var(--muted);margin-top:4px}.enter{display:inline-flex;align-items:center;gap:12px;border:0;background:#000;color:#fff;padding:13px 17px;font:11px 'PT Mono',monospace}.enter:hover{background:var(--teal)}
.module-grid{max-width:var(--content);margin:auto;padding:70px 0 88px}.module-head{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:end;padding-bottom:34px;border-bottom:1px solid #000}.module-head h1{font-size:clamp(50px,6vw,88px);line-height:.92;letter-spacing:-.055em;margin:20px 0 0}.module-head h1 .en-title{display:block;font-size:.43em;line-height:1.1;color:var(--muted);letter-spacing:-.03em;margin-top:12px;font-weight:450}.module-intro{font-size:20px;line-height:1.35;max-width:540px}.module-intro .en{font-size:.72em;margin-top:10px}.module-actions{display:flex;gap:8px;margin-top:22px}.text-button{border:1px solid #000;background:#fff;padding:9px 12px;font:10px 'PT Mono',monospace}.text-button:hover,.text-button.active{background:#000;color:#fff}.next-module{margin-top:40px;border-top:1px solid #000;padding-top:18px;display:flex;justify-content:flex-end}.next-module button{border:0;background:none;font:12px 'PT Mono',monospace;color:var(--teal)}.next-module button:hover{text-decoration:underline;text-underline-offset:4px}
.portal{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);margin-top:42px}.portal-card{min-height:250px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;display:flex;flex-direction:column;justify-content:space-between;text-align:left}.portal-card:hover{background:var(--subtle)}.portal-card .index{font:10px 'PT Mono',monospace;color:var(--teal)}.portal-card h2{font-size:28px;line-height:1.02;margin:22px 0 0}.portal-card .en{font-size:13px}.portal-card .open-label{font:9px 'PT Mono',monospace;color:var(--teal);align-self:flex-end}.route-summary{margin-top:42px;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #000;border-left:1px solid var(--line)}.route-stop{min-height:175px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.route-stop .date{font:9px 'PT Mono',monospace;color:var(--teal)}.route-stop strong{font-size:20px}.route-stop .nights{font:10px 'PT Mono',monospace;color:var(--muted)}.decision-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;border:1px solid #000}.decision-item{padding:16px;border-right:1px solid var(--line);font-size:13px}.decision-item:last-child{border-right:0}
.traveller-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);margin-top:42px}.traveller{min-height:330px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.traveller.featured{background:#000;color:#fff}.traveller .role{font:9px 'PT Mono',monospace;color:var(--teal)}.traveller.featured .role{color:var(--cyan)}.traveller h2{font-size:48px;letter-spacing:-.05em;margin:24px 0 8px}.traveller .nation{font-size:16px;font-weight:700}.traveller .note{border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--muted)}.traveller.featured .note,.traveller.featured .en{color:#bdc6c9}.privacy-note{margin-top:24px;background:var(--subtle);padding:22px;display:grid;grid-template-columns:1fr 2fr;gap:30px;font-size:13px}
.itinerary-tools{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 0}.itinerary-list{border-top:1px solid #000;margin-top:26px}.day-row{display:grid;grid-template-columns:100px 150px minmax(0,1.4fr) minmax(240px,.75fr);border-bottom:1px solid var(--line)}.day-row>div{padding:16px 14px;border-right:1px solid var(--line)}.day-row>div:last-child{border-right:0}.day-date{font:10px 'PT Mono',monospace;color:var(--teal)}.day-city strong{font-size:16px}.day-city small{display:block;font:9px 'PT Mono',monospace;color:var(--purple);margin-top:8px}.day-programme{font-size:13px}.day-transport{font-size:11px;color:#3d474a}.day-row:hover{background:var(--subtle)}
.transport-list{margin-top:42px;border-top:1px solid #000;border-left:1px solid #000}.transport-item{display:grid;grid-template-columns:90px 230px minmax(260px,1fr) 190px 1fr;border-bottom:1px solid var(--line)}.transport-item>div{padding:16px 13px;border-right:1px solid var(--line)}.transport-item>div:last-child{border-right:0}.transport-item .date{font:10px 'PT Mono',monospace;color:var(--teal)}.transport-item .sector{font-size:14px;font-weight:700}.candidate{font:11px 'PT Mono',monospace;overflow-wrap:anywhere}.field-label{display:block;font:8px 'PT Mono',monospace;color:var(--muted);letter-spacing:.04em;margin-bottom:8px}.status{display:inline-block;border:1px solid currentColor;padding:5px 7px;font:8px 'PT Mono',monospace;letter-spacing:.04em}.status.priced{color:var(--teal)}.status.schedule{color:var(--amber)}.status.timetable{color:var(--purple)}.status.conditional{color:var(--red)}.transport-note{font-size:11px;color:var(--muted)}
.tibet-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:36px;margin-top:42px}.tibet-list{border-top:1px solid #000}.tibet-item{display:grid;grid-template-columns:54px 1fr 125px 140px;border-bottom:1px solid var(--line)}.tibet-item>div{padding:15px 12px;border-right:1px solid var(--line)}.tibet-item>div:last-child{border-right:0}.tibet-item .d{font:11px 'PT Mono',monospace;color:var(--teal)}.tibet-item .route{font-size:13px;font-weight:700}.tibet-item .metric{font:10px 'PT Mono',monospace}.tibet-rule{grid-column:2/-1!important;border-top:1px solid var(--line);font-size:11px!important;color:var(--muted)}.altitude{background:#000;color:#fff;padding:24px;align-self:start;position:sticky;top:122px}.altitude h2{font-size:30px;line-height:1;margin:14px 0 26px}.alt-row{display:grid;grid-template-columns:78px 1fr 68px;gap:9px;align-items:center;margin:13px 0}.alt-row label,.alt-row span{font:9px 'PT Mono',monospace;color:#c8d0d2}.alt-bar{height:11px;background:#30383b}.alt-bar i{display:block;height:100%;width:var(--w);background:var(--cyan)}.altitude .warning{border-top:1px solid #566064;margin-top:22px;padding-top:18px;font-size:12px;color:#d0d6d7}
.status.optional{color:var(--purple)}.day-city .status{display:inline-block;margin-top:8px;max-width:100%;white-space:normal;line-height:1.35}.day-city .status .en{margin-top:3px;color:inherit;opacity:.75}.submodule{margin-top:56px;padding-top:34px;border-top:1px solid #000;scroll-margin-top:calc(var(--header) + 16px)}.submodule-head{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:end;padding-bottom:24px}.submodule-head h2{font-size:clamp(32px,4.2vw,48px);line-height:.95;letter-spacing:-.045em;margin:12px 0 0}.submodule-head h2 .en-title{display:block;font-size:.48em;line-height:1.12;color:var(--muted);letter-spacing:-.02em;margin-top:8px;font-weight:450}.submodule-intro{font-size:16px;line-height:1.35;max-width:520px}.submodule .decision-row,.submodule .route-summary,.submodule .tibet-layout,.submodule .transport-list,.submodule .privacy-note{margin-top:24px}.decision-row.pair{grid-template-columns:1fr 1fr}.decision-item .rule-copy{display:block;margin-top:8px;font-weight:400}.compact-stops{grid-template-columns:repeat(4,1fr)}.compact-days{border-top:1px solid #000;margin-top:0}.compact-days .day-row{grid-template-columns:1fr;border:1px solid var(--line);border-top:0}.compact-days .day-row>div{border-right:0;padding:8px 14px}.compact-days .day-date{padding-top:14px;padding-bottom:0}.compact-days .day-city{padding-top:6px}.compact-days .day-programme,.compact-days .day-transport{grid-column:auto;padding-top:10px}.compact-days .day-transport{padding-bottom:14px}.compact-layout .alt-row{grid-template-columns:92px 1fr 56px}
.controls-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px;margin-top:42px}.gate{border-top:5px solid #000;padding-top:16px}.gate:nth-child(3n+1){border-color:var(--teal)}.gate:nth-child(3n+2){border-color:var(--purple)}.gate .n{font:9px 'PT Mono',monospace;color:var(--muted)}.gate h2{font-size:21px;line-height:1.1;margin:10px 0}.gate p{font-size:13px;color:#445055}.sources{margin-top:46px;background:var(--subtle);padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.source{border-top:1px solid #000;padding-top:12px;font-size:11px}.source a{text-decoration:underline;text-underline-offset:3px;color:var(--teal)}
.site-footer{min-height:58px;border-top:1px solid #000;display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:var(--content);margin:auto;font:9px 'PT Mono',monospace;color:var(--muted)}.toast{position:fixed;right:18px;bottom:18px;background:#000;color:#fff;padding:12px 15px;font:10px 'PT Mono',monospace;opacity:0;transform:translateY(6px);pointer-events:none;transition:.2s;z-index:200}.toast.show{opacity:1;transform:none}.noscript{padding:30px;background:#fff;color:#000}
@media(max-width:1100px){:root{--header:76px}.header-grid{padding:0 20px;grid-template-columns:230px 1fr 150px}.primary-nav a{padding:10px;font-size:10px}.primary-nav a span{display:none}.module-grid{padding:55px 24px 75px}.hero-copy{padding-left:28px}.route-summary{grid-template-columns:repeat(3,1fr)}.traveller-grid{grid-template-columns:repeat(2,1fr)}.day-row{grid-template-columns:88px 135px 1fr}.day-transport{grid-column:3;border-top:1px solid var(--line)}.transport-item{grid-template-columns:75px 180px 1fr 150px}.transport-note{grid-column:2/-1;border-top:1px solid var(--line)}.tibet-layout{grid-template-columns:1fr}.altitude{position:static}.site-footer{padding:0 24px}}
@media(max-width:760px){
:root{--header:64px}
html,body{overflow-x:hidden}
body.nav-open{overflow:hidden}
.site-header{position:sticky;top:0;padding-top:env(safe-area-inset-top)}
.header-grid{height:var(--header);padding:0 10px 0 max(12px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand tools toggle";align-items:center;column-gap:6px}
.brand{grid-area:brand;border-right:0;font-size:13px;gap:10px;min-width:0}
.brand-mark{width:28px;height:28px;flex:0 0 28px}
.brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-tools{grid-area:tools;display:flex;height:44px}
.header-tools a,.header-tools button{min-width:48px;min-height:44px;padding:0 8px;border:0;border-left:1px solid var(--line);font:9px 'PT Mono',monospace}
.menu-toggle{grid-area:toggle;display:block;border:1px solid #000;background:#fff;min-width:72px;min-height:40px;padding:0 10px;font:9px 'PT Mono',monospace}
.primary-nav{display:none;position:fixed;top:calc(var(--header) + env(safe-area-inset-top));left:0;right:0;bottom:0;z-index:90;background:#fff;border:0;grid-template-columns:1fr;align-content:start;overflow:auto;padding-bottom:env(safe-area-inset-bottom)}
.primary-nav.open{display:grid}
.primary-nav a{min-height:56px;padding:14px 18px;border-right:0;border-bottom:1px solid var(--line);font-size:16px;font-weight:700;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.primary-nav a span{display:block;font-size:11px;margin-top:2px}
.hero{min-height:0;grid-template-columns:1fr}
.hero-copy{padding:28px 16px 22px;min-height:0}
.hero-copy h1{font-size:clamp(40px,12vw,50px);margin:18px 0 16px;text-wrap:balance;max-width:none}
.hero-lead{font-size:17px}
.hero-foot{display:flex;flex-direction:column;align-items:stretch;gap:18px}
.hero-metrics{margin:0;justify-content:space-between}
.hero-metrics b{font-size:30px}
.enter{width:100%;justify-content:center;min-height:48px}
.hero-image{min-height:260px;max-height:42vh}
.hero-image img{object-position:58% center}
.hero-image-label{min-width:auto;padding:10px 12px}
.module-grid{padding:28px 16px 56px}
.module-head{grid-template-columns:1fr;gap:14px;padding-bottom:20px}
.module-head h1{font-size:clamp(28px,9vw,36px);margin:12px 0 0;text-wrap:balance}
.module-head h1 .en-title{font-size:.5em;margin-top:8px}
.module-intro{font-size:16px}
.module-actions,.itinerary-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.module-actions{grid-template-columns:1fr}
.module-actions .text-button,.itinerary-tools .text-button{min-height:44px;width:100%}
.portal{grid-template-columns:1fr;margin-top:24px}
.portal-card{min-height:72px;padding:16px;flex-direction:row;align-items:center;gap:14px}
.portal-card h2{font-size:20px;margin:0;flex:1}
.portal-card .open-label{align-self:center}
.route-summary{grid-template-columns:1fr 1fr;margin-top:24px}
.route-stop{min-height:120px;padding:14px}
.route-stop strong{font-size:18px}
.decision-row{grid-template-columns:1fr}
.decision-row.pair{grid-template-columns:1fr}
.decision-item{border-right:0;border-bottom:1px solid var(--line)}
.decision-item:last-child{border-bottom:0}
.traveller-grid{grid-template-columns:1fr;margin-top:24px}
.traveller{min-height:0;padding:20px}
.traveller h2{font-size:36px;margin:14px 0 8px}
.privacy-note{grid-template-columns:1fr;padding:18px;gap:12px}
.day-row{grid-template-columns:1fr;border:1px solid var(--line);border-top:0}
.itinerary-list{border-top:1px solid #000}
.day-row>div{border-right:0;padding:8px 14px}
.day-date{grid-row:auto;border-right:0!important;padding-top:14px;padding-bottom:0}
.day-city{padding-top:6px}
.day-programme,.day-transport{grid-column:auto;padding-top:10px}
.day-transport{padding-bottom:14px}
.transport-list{overflow:visible;border-right:1px solid #000}
.transport-item{min-width:0;grid-template-columns:1fr;border-bottom:1px solid var(--line)}
.transport-item>div{border-right:0;border-bottom:0;padding:6px 14px}
.transport-item .date{grid-row:auto;border-right:0;border-bottom:0;padding-top:14px}
.transport-item .sector{padding-top:4px;padding-bottom:10px}
.transport-item .candidate,.transport-item .transport-status,.transport-item .transport-note{grid-column:auto}
.transport-item .transport-note{border-top:0;border-bottom:0;padding-bottom:14px}
.transport-item .candidate{overflow-wrap:anywhere;word-break:break-word}
.status{font-size:9px;padding:6px 8px}
.tibet-item{grid-template-columns:48px 1fr;align-items:start}
.tibet-item>div{border-right:0}
.tibet-item .metric,.tibet-item .drive,.tibet-rule{grid-column:2}
.tibet-item .d{grid-row:1/4}
.tibet-item .metric{padding-top:6px;padding-bottom:6px}
.submodule{margin-top:32px;padding-top:24px}
.submodule-head{grid-template-columns:1fr;gap:12px;padding-bottom:16px}
.submodule-head h2{font-size:clamp(24px,8vw,32px)}
.submodule-intro{font-size:15px}
.compact-layout .alt-row{grid-template-columns:84px 1fr 52px}
.controls-grid{grid-template-columns:1fr;gap:28px}
.sources{grid-template-columns:1fr;padding:18px}
.site-footer{display:block;padding:16px 16px calc(16px + env(safe-area-inset-bottom));font-size:9px}
.site-footer span{display:block;margin-bottom:6px}
.toast{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.view{animation:none}}
