@charset "UTF-8";
:root{font-family:Arial,Helvetica,sans-serif;font-synthesis:none;color:#f2f3e9;background:#071b1c;--acid:#d8f67c;--glass:rgba(9,27,25,.65);--border:rgba(232,244,224,.23)}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a,input{outline-offset:6px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--acid)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.experience{height:100svh;min-height:720px;position:relative;isolation:isolate;overflow:hidden;background:#0e302d}.world,.world-grade,.vignette{position:absolute;inset:0;pointer-events:none}.world{z-index:-3;transform:scale(1.035) translate(calc(var(--mx,0) * -5px),calc(var(--my,0) * -4px));transition:transform 1.4s cubic-bezier(.2,.7,.1,1)}.world img,.world video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center}.world video{opacity:0;transition:opacity .4s}.world video.has-frame{opacity:1}.world-grade{background:linear-gradient(90deg,rgba(2,18,18,.65),rgba(2,17,17,.02) 65%),linear-gradient(0deg,#021718e8,transparent 43%,#03191966)}.vignette{box-shadow:inset 0 0 160px #02171955}.masthead{position:absolute;top:0;left:0;right:0;padding:26px 3.8vw;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:5}.masthead nav{display:flex;gap:24px}.masthead nav button{background:transparent;border:0;padding:12px 0;font-size:11px}.masthead nav button[aria-pressed=true]{color:var(--acid)}.masthead nav span{margin-left:7px}.scene-coordinate{position:absolute;right:3.8vw;top:130px;display:grid;text-align:right;gap:7px;font-size:8px;letter-spacing:.15em}.scene-coordinate span{color:var(--acid)}.scene-coordinate b{font-weight:400;font-size:7px;opacity:.7}.intro{position:absolute;left:5.8vw;top:17%;transition:opacity .7s,transform 1s cubic-bezier(.2,.7,.1,1);transform-origin:left center}.overline{font-size:9px;letter-spacing:.16em;line-height:1.7}.signal{width:5px;height:5px;background:var(--acid);box-shadow:0 0 13px #d8f67c;display:inline-block;margin-right:10px;vertical-align:middle}.intro h1{font-size:clamp(60px,8.1vw,124px);font-weight:800;line-height:.85;letter-spacing:-.06em;margin:22px 0 21px}.intro h1 span{color:var(--acid)}.intro-text{font-size:12px;color:#e0e9d9;line-height:1.6;margin-bottom:23px}.intro-actions{display:flex;align-items:center;gap:25px}.launch{border:0;background:var(--acid);color:#183a2d;display:flex;align-items:center;gap:16px;padding:15px 19px;font-size:11px;font-weight:700;min-height:48px;border-radius:3px}.launch:hover{background:#ebffa7;box-shadow:0 0 25px #d8f67c25}.launch-arrow{margin-left:18px;font-size:16px}.play-icon{font-size:9px}.text-action{border:0;background:transparent;padding:14px 0;font-size:11px}.text-action span{margin-left:8px}.chapter{position:absolute;top:45%;right:3.8vw;display:flex;align-items:center;gap:13px;font:8px/1.5 monospace;letter-spacing:.08em;transition:opacity .4s}.chapter-line{height:1px;width:35px;background:#d8f67c99}.chapter #time-label{opacity:.6}.destinations{position:absolute;bottom:78px;left:3.8vw;right:3.8vw;perspective:1300px;outline:none;z-index:3}.destinations-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.12em;margin-bottom:13px}.destinations-heading p{margin:0;color:var(--acid)}.little-line{display:inline-block;width:18px;height:1px;background:var(--acid);vertical-align:middle;margin-right:7px}.destinations-heading>span{color:#dde8d6;font-size:8px}.village-rail{display:flex;gap:9px;align-items:stretch}.village{position:relative;flex:1 1 0;min-width:0;min-height:132px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:linear-gradient(145deg,#244a4470,#061c1dba);border:1px solid var(--border);backdrop-filter:blur(13px);border-radius:3px;padding:17px 15px 13px;transform:translateY(0) rotateX(6deg);transform-origin:bottom center;transition:transform .45s cubic-bezier(.22,.8,.25,1),flex .55s,background .4s,border-color .4s,box-shadow .4s;color:#e7eee3;overflow:hidden}.village::after{content:'';height:2px;position:absolute;left:0;right:0;bottom:0;background:var(--acid);transform:scaleX(0);transform-origin:left;transition:transform .4s}.village:hover,.village:focus-visible{transform:translateY(-12px) rotateX(0);border-color:#d8f67c88;background:linear-gradient(145deg,#365951aa,#082a2ddd);box-shadow:0 15px 35px #00181a88}.village[aria-pressed=true]{flex:1.32;border-color:var(--acid);transform:translateY(-7px) rotateX(0);background:linear-gradient(135deg,#c5e79a25,#102d2eda)}.village[aria-pressed=true]::after{transform:scaleX(1)}.village-meta{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:22px}.village-num{font:9px monospace;letter-spacing:.05em;color:#d7e3cc}.village-dot{height:4px;width:4px;border-radius:50%;background:#b4c6bd}.village.available .village-dot{background:var(--acid);box-shadow:0 0 12px #d8f67c}.village-name{display:block;font-size:16px;font-weight:600;line-height:1.2;letter-spacing:-.02em;margin-bottom:7px}.village-province{display:block;font-size:8px;color:#c0cec4;line-height:1.4;letter-spacing:.025em}.village-arrow{position:absolute;right:13px;bottom:11px;font-size:13px;color:var(--acid);opacity:0;transform:translate(-4px,4px);transition:.35s}.village:hover .village-arrow,.village[aria-pressed=true] .village-arrow{opacity:1;transform:none}.flight-console{position:absolute;left:3.8vw;right:3.8vw;bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:25px}.concept-note,.flight-duration{font:7px monospace;letter-spacing:.08em;color:#a8beb4}.flight-duration{color:#d4e1c6}.destination-detail{position:absolute;top:21%;left:5.8vw;max-width:525px;width:43%;z-index:4;animation:detail-in .55s cubic-bezier(.2,.7,.1,1) both}.detail-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font:9px monospace;letter-spacing:.12em;color:var(--acid)}.detail-top button{background:#0d2a2666;border:1px solid var(--border);width:32px;height:32px;border-radius:50%;font-size:19px}.destination-number{position:absolute;right:12px;top:20px;margin:0;font-size:140px;font-weight:700;line-height:1;color:#bde1b414;letter-spacing:-.09em;z-index:-1}.destination-detail h2{font-size:clamp(42px,5.2vw,78px);line-height:.98;letter-spacing:-.065em;margin:23px 0 14px;max-width:490px}.destination-detail>p:not(.destination-number){font-size:12px;line-height:1.6;max-width:350px;margin:10px 0}.destination-copy{color:#c4d2c9}.enter-map{display:inline-flex;align-items:center;gap:40px;background:var(--acid);color:#163f34;font-size:12px;font-weight:700;padding:17px 23px;margin-top:17px;border-radius:3px;min-height:48px}.not-ready{border-top:1px solid var(--border);padding-top:15px;color:#d8e4d0}.experience[data-view=destination] .intro,.experience[data-view=flight] .intro{opacity:0;transform:translateY(-20px);pointer-events:none}.experience[data-view=flight] .world-grade{background:linear-gradient(0deg,#021718d9,transparent 48%,#03191966)}.experience[data-view=destination] .chapter{opacity:.4}.experience.is-entering .world{transform:scale(1.2);filter:blur(5px);transition:transform .9s,filter .9s}.experience.is-entering .destinations,.experience.is-entering .destination-detail{opacity:0;transform:translateY(30px);transition:.6s}.skip-link{position:fixed;top:10px;left:10px;background:var(--acid);color:#102e22;padding:12px;z-index:20;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{color:#eaf0e3;background:#102b28;border:1px solid #d8f67c66;padding:38px;max-width:520px;width:calc(100% - 40px);line-height:1.7;border-radius:4px}dialog::backdrop{background:#001815a6;backdrop-filter:blur(8px)}dialog h2{font-size:34px;line-height:1.1;letter-spacing:-.05em}dialog p{font-size:13px;color:#d4e2d4}dialog>button{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:26px;padding:5px}.no-script{position:absolute;inset:auto 5vw 70px;padding:20px;background:#102b28;color:white;font-size:14px}.no-script a{text-decoration:underline}
@keyframes detail-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(min-width:1550px){.village{min-height:155px;padding:20px}.village-name{font-size:20px}.village-meta{margin-bottom:29px}.intro{top:20%}}
@media(max-width:1000px){.intro h1{font-size:83px}.village{padding:15px 10px;min-height:125px}.village-name{font-size:13px}.village-province{font-size:7px}.village-meta{margin-bottom:22px}.destination-detail{width:57%;max-width:500px}.chapter{top:34%}.concept-note{max-width:230px;text-align:center;line-height:1.5}.flight-duration{display:none}}
@media(max-width:650px){.experience{height:100svh;min-height:860px}.masthead{padding:20px 6vw;gap:10px}.masthead nav{gap:13px}.masthead nav button{font-size:9px}.masthead nav span{display:none}.scene-coordinate{display:none}.intro{left:7vw;right:7vw;top:19%;}.overline{font-size:7px;letter-spacing:.13em}.intro h1{font-size:clamp(60px,15.4vw,88px);line-height:.92;margin-top:21px}.intro-text{font-size:12px;margin-top:21px;margin-bottom:22px}.intro-actions{gap:17px}.launch{padding:14px 14px;gap:10px;font-size:10px}.launch-arrow{margin-left:8px}.text-action{font-size:10px}.chapter{top:112px;left:7vw;right:7vw;justify-content:flex-start;font-size:7px}.chapter-line{width:18px}.chapter #time-label{margin-left:auto}.destinations{left:6vw;right:6vw;bottom:95px}.destinations-heading{font-size:7px;margin-bottom:12px}.destinations-heading>span{font-size:0}.destinations-heading>span>span{font-size:14px}.village-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.village{min-height:101px;padding:12px 9px 10px;transform:none!important}.village-meta{margin-bottom:12px}.village-num{font-size:8px}.village-name{font-size:12px;line-height:1.1;letter-spacing:-.03em;margin-bottom:6px}.village-province{font-size:6px;line-height:1.2}.village-arrow{font-size:10px;right:6px;bottom:6px}.village[aria-pressed=true]{background:#c5e79a30}.village:hover{box-shadow:none}.flight-console{bottom:22px;left:6vw;right:6vw;flex-direction:column;gap:13px}.concept-note{font-size:6px;max-width:none;letter-spacing:.03em}.destination-detail{left:7vw;right:7vw;top:20%;width:auto;max-width:none}.destination-detail h2{font-size:47px;max-width:315px;margin-top:18px}.destination-detail>p:not(.destination-number){font-size:11px;margin:8px 0;max-width:300px}.destination-number{font-size:110px;top:20px;right:4px}.detail-top{font-size:8px}.destination-copy{max-width:300px}.enter-map{font-size:11px;margin-top:12px;padding:15px 18px}.not-ready{padding-top:11px}.world img,.world video{object-position:55% center}.world-grade{background:linear-gradient(90deg,#02181899,transparent),linear-gradient(0deg,#021718f2,transparent 70%,#03191955)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.world{transform:none}.village{transform:none!important}}
/* Approved photographic menu and Full HD library revision. */
.world video{transition:opacity .65s}.intro{top:18%;max-width:65%}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(56px,5.5vw,90px);font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:18px 0}.intro h1 span{color:#e4f5b6}.intro-text{font-size:14px;line-height:1.6;margin:15px 0 20px}.intro .overline{font-size:9px}.launch{min-width:180px;justify-content:space-between}.chapter{top:38%;font-size:8px}.destinations{bottom:80px}.village{min-height:175px;padding:14px;transform:rotateX(8deg);border-color:#d9eccd55;background:#163830}.village-picture,.village-shade{position:absolute;inset:0}.village-picture{overflow:hidden;background:#183d37}.village-picture img{width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .65s;filter:saturate(.95)}.village:hover .village-picture img,.village:focus-visible .village-picture img{transform:scale(1.08);filter:saturate(1.12)}.village-shade{background:linear-gradient(0deg,#031a19f5,transparent 70%),linear-gradient(180deg,#041f2166,transparent 35%)}.village-meta,.village-label{position:relative;z-index:1}.village-meta{margin:0;align-items:flex-start}.village-num,.north{font:9px/1.2 monospace;text-shadow:0 1px 5px #000}.north{color:#fff;font-size:8px}.village-label{margin-top:auto;display:block}.village-name{font-size:17px;text-shadow:0 1px 6px #000}.village-province{font-size:9px;color:#e1ead8}.village-picture.awaited,.village-picture.image-unavailable{display:flex;justify-content:center;align-items:center;font-size:10px;letter-spacing:.05em;color:#ccd9c2;background:radial-gradient(ellipse at center,#37504755,transparent),#102d29}.village-picture.awaited::before{content:'';position:absolute;inset:15px;border:1px dashed #d8edc632}.village[aria-pressed=true]{flex:1.3}.area-overview{position:absolute;top:21%;right:6vw;width:min(35vw,470px);height:36%;margin:0;border:1px solid #d8f67c77;background:#173a35cc;border-radius:4px;box-shadow:0 30px 80px #041e1c99;transform:perspective(1200px) rotateX(5deg) rotateY(-7deg);animation:detail-in .5s ease both;overflow:hidden}.area-overview img{width:100%;height:calc(100% - 29px);object-fit:contain;padding:9px;display:block}.area-overview figcaption{position:absolute;bottom:0;left:0;right:0;background:#102924;padding:8px 12px;font-size:9px;color:#d3e1c9}.overview-north{position:absolute;right:12px;top:12px;z-index:2;font:10px monospace;color:var(--acid);background:#0a201bbb;padding:5px}.destination-detail{top:18%;width:43%}.destination-detail h2{font-size:clamp(40px,4.8vw,72px)}.experience[data-view=destination] .chapter{display:none}.still .world{transform:none}.still .village{transform:none!important}.still *{animation:none!important;transition:none!important}
@media(min-width:1550px){.intro{top:18%}.village{min-height:205px}.village-name{font-size:20px}}
@media(max-width:1000px){.intro{max-width:72%;top:19%}.intro h1{font-size:60px}.village{min-height:165px;padding:12px 10px}.village-name{font-size:13px}.village-province{font-size:8px}.area-overview{width:35%;right:4vw}.destination-detail{width:49%;top:19%}.destination-detail h2{font-size:49px}.chapter{top:42%;font-size:7px}}
@media(max-width:650px){.experience{min-height:990px}.masthead{padding:19px 6vw}.intro{left:7vw;right:7vw;top:132px;max-width:none}.intro h1{font-size:clamp(40px,11vw,64px);line-height:1.06;margin:19px 0}.intro .overline{font-size:7px;letter-spacing:.1em}.intro-text{font-size:13px;margin:18px 0 22px}.chapter{top:94px;left:7vw;right:7vw;font-size:6px}.destinations{bottom:93px}.village{min-height:143px;padding:10px 8px}.village-meta{margin:0}.village-name{font-size:12px;line-height:1.1}.village-province{font-size:7px}.village-picture.awaited{font-size:8px;align-items:flex-start;padding-top:49px}.village-rail{gap:8px}.destination-detail{top:133px;left:7vw;right:7vw;width:auto}.destination-detail h2{font-size:42px;margin:16px 0 10px;max-width:300px}.destination-detail>p:not(.destination-number){font-size:11px}.destination-copy{display:none}.enter-map{margin-top:9px;padding:12px 18px;min-height:43px}.area-overview{top:352px;left:7vw;right:7vw;width:auto;height:193px;transform:none}.area-overview figcaption{font-size:8px}.area-overview img{padding:6px}.destinations-heading{font-size:7px}.flight-console{bottom:20px}.concept-note{font-size:6px}.village:hover .village-picture img{transform:none}.destination-number{font-size:100px}.scene-coordinate{display:none}}
@media(prefers-reduced-motion:reduce){.area-overview{transform:none}.world{transform:none}}
@media(min-width:651px){.intro{top:15%}}
@media(max-width:650px){.experience{min-height:860px}.experience[data-view=destination]{min-height:1010px}}
.world img:not([src]){visibility:hidden}

/* Approved circular badge and Plus Jakarta Sans wordmark. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/plus-jakarta-sans-latin-500.woff2') format('woff2')}
.identity{display:flex;align-items:center;gap:17px;min-width:0;--identity-logo-size:84.2px}
.identity-copy{display:block;flex:none}
.identity-name{display:block;font:500 36px/1.15 'Plus Jakarta Sans',Arial,Helvetica,sans-serif;font-synthesis:none;letter-spacing:-.045em;word-spacing:.035em;white-space:nowrap}
.identity small{display:block;font:400 12px/1.45 Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;margin-top:8px;color:#e2e9df;text-shadow:0 1px 8px #00191488}
.ministry-badge{position:relative;display:block;flex:none;width:var(--identity-logo-size);height:var(--identity-logo-size);overflow:hidden;border-radius:50%;background:#fff}
.ministry-badge::after{content:'';position:absolute;inset:0;border:2px solid #fff;border-radius:inherit;pointer-events:none}
.identity .ministry-badge img{display:block;position:static;width:100%;height:100%;max-width:none;padding:0;object-fit:contain;transform:translateY(2.5%) scale(1.16);border-radius:0;background:transparent}
@media(max-width:1000px){.identity{--identity-logo-size:74.6px}.identity-name{font-size:32px}.identity small{font-size:11px;line-height:1.4;letter-spacing:.035em;margin-top:7px}}
@media(max-width:650px){.identity{gap:12px;--identity-logo-size:70px}.identity-name{font-size:28px}}







/* Crop inside Khong Ngai's actual survey footprint; retain the full overview. */
.village[data-site="KXD1"] .village-picture img{width:200%;height:200%;max-width:none;position:absolute;left:-50%;top:-82%;object-position:50% 50%;transform:none;transform-origin:50% 60%}
.village[data-site="KXD1"]:hover .village-picture img,.village[data-site="KXD1"]:focus-visible .village-picture img{transform:scale(1.05)}
.flight-console{justify-content:center}
.flight-duration{position:absolute;right:0}
@media(max-width:650px){
  .masthead{gap:8px;padding-top:17px;align-items:flex-start}
  
  
  
  
  
  .masthead nav{gap:5px;flex-direction:column;align-items:flex-end}
  .masthead nav button{font-size:9px;padding:6px 0}
  .destinations{bottom:65px}
  .flight-console{bottom:24px}
  .flight-duration{display:none}
  .village[data-site="KXD1"]:hover .village-picture img{transform:none}
}
@media(max-width:380px){.masthead{padding-left:4vw;padding-right:4vw;gap:6px}.identity{gap:9px;--identity-logo-size:66.7px}.identity-name{font-size:26px}.identity small{margin-top:6px}}
