:root{--ink:#f6f0e5;--muted:rgba(246,240,229,.6);--faint:rgba(246,240,229,.28);--accent:#c9ddf3;--gutter:4.5vw;--energy:0;--px:0px;--py:0px;--sans:'Be Vietnam Pro',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;color-scheme:dark;font-family:var(--sans);color:var(--ink);background:#06152d;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{min-width:280px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0;padding:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:3px}::selection{color:#102138;background:#d8e7f6}[hidden]{display:none!important}.icon{width:22px;height:22px;display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.inline-icon{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;left:20px;top:0;padding:12px 20px;background:var(--ink);color:#081729;transform:translateY(-110%)}.skip-link:focus{transform:translateY(10px)}
/* The photograph stays full bleed; typography and controls sit on a quiet frame. */
.scene-stack,.scene,.scene-shade,.scene-light,#atmosphere,.grain,.edge-lines{position:fixed;inset:0;pointer-events:none}.scene-stack{z-index:0;overflow:hidden;background:#06152d}.scene{opacity:0;transform:scale(1.04);transition:opacity 1.15s ease,transform 2s cubic-bezier(.2,.6,.25,1);overflow:hidden}.scene.is-active{opacity:1;transform:scale(1);z-index:1}.scene:not(.is-active) .scene-image{animation-play-state:paused}.scene-image{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;object-position:center;transform:translate3d(var(--px),var(--py),0) scale(1.025);animation:sea-breath 32s ease-in-out infinite alternate;will-change:transform}.scene-shade{position:absolute;background:linear-gradient(90deg,rgba(1,10,24,.55) 0%,rgba(1,10,24,.17) 44%,transparent 76%),linear-gradient(0deg,rgba(2,9,20,.9) 0%,rgba(2,9,20,.2) 27%,transparent 62%,rgba(3,11,25,.2) 100%)}.scene[data-scene="1"] .scene-shade{background:linear-gradient(90deg,rgba(18,6,23,.53) 0%,rgba(18,6,23,.13) 47%,transparent 77%),linear-gradient(0deg,rgba(15,5,19,.94) 0%,rgba(15,5,19,.15) 34%,transparent 68%,rgba(15,5,19,.2) 100%)}.scene-light{position:absolute;background:radial-gradient(ellipse at 75% 65%,rgba(155,195,248,.085),transparent 50%);opacity:calc(.1 + var(--energy)*1.4);mix-blend-mode:screen;transition:opacity .08s}.scene[data-scene="1"] .scene-light{background:radial-gradient(ellipse at 68% 62%,rgba(255,94,40,.27),transparent 55%)}#atmosphere{z-index:2;width:100%;height:100%;opacity:.66}.grain{z-index:3;opacity:.055;inset:-50%;width:200%;height:200%;background-image:url('assets/grain.svg');background-size:180px 180px;animation:grain-shift .4s steps(2) infinite}.edge-lines{z-index:3;inset:20px;border:1px solid rgba(255,255,255,.055);border-bottom:0}
.site-header{position:fixed;z-index:10;top:35px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;height:52px;animation:header-in 1.1s ease both}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0;font-size:20px;font-weight:600;line-height:.92;letter-spacing:.015em}.brand-mark{width:43px;height:43px;fill:none;stroke:var(--ink);stroke-width:.9;transition:transform 1s}.brand:hover .brand-mark{transform:rotate(80deg)}.brand-dot{fill:var(--accent);stroke:none}.brand-period{color:var(--accent)}.header-manifesto{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.21em;white-space:nowrap;color:rgba(246,240,229,.8)}.tiny-star{font-size:19px;font-weight:400;color:var(--accent)}.header-actions{display:flex;align-items:center;gap:23px}.header-actions button{min-height:44px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.header-actions button:hover{color:var(--accent)}.audio-link .icon{width:17px;height:17px}.header-divider{width:1px;height:22px;background:rgba(246,240,229,.25)}.tracklist-link .icon{width:17px;height:17px;margin-left:6px}.track-count{font-size:8px;letter-spacing:0;align-self:flex-start;margin-top:8px;opacity:.55}.header-actions .audio-link{opacity:.7}
#main-content{position:fixed;inset:0;z-index:4;outline:none;touch-action:none}.track-content{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}.track-content.is-active{opacity:1;pointer-events:auto;transition:opacity .9s ease .18s}.hero-copy{position:absolute;left:var(--gutter);top:45.5%;transform:translateY(-48%);max-width:72%;padding-right:12px}.hero-kicker{display:flex;align-items:center;gap:17px;font-size:9px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;margin-bottom:28px}.track-number{font-size:13px;letter-spacing:0;color:var(--accent)}.kicker-rule{width:42px;height:1px;background:var(--faint)}h1{margin:0;position:relative;font-weight:400}.riviera-title{font-family:var(--serif);font-size:clamp(100px,10.65vw,173px);letter-spacing:-.035em;line-height:.82}.title-line{display:block;white-space:nowrap}.riviera-title em{font-weight:400}.nights{font-family:var(--sans);font-weight:400;font-style:normal;font-size:.18em;letter-spacing:.22em;text-transform:uppercase;display:inline-block;margin-left:30px;vertical-align:middle;transform:translateY(-3px)}.saigon-title{font-family:var(--sans);font-weight:700;font-size:clamp(100px,11.7vw,188px);letter-spacing:-.075em;line-height:.86}.saigon-vibes{font-weight:400;letter-spacing:-.035em;color:transparent;-webkit-text-stroke:1px var(--ink)}.title-spark{font-size:.66em;color:var(--accent);-webkit-text-stroke:0;display:inline-block;vertical-align:middle;line-height:1;margin-left:28px;animation:spark-turn 30s linear infinite}.track-mood{font-size:8px;letter-spacing:.21em;display:flex;align-items:center;gap:10px;margin-top:28px;color:rgba(246,240,229,.72)}.mood-dot{width:4px;height:4px;background:var(--accent);border-radius:100%}.mood-separator{margin:0 4px;color:var(--faint)}.hero-quote{font-family:var(--serif);font-size:24px;line-height:1.25;margin:24px 0 0;letter-spacing:.005em}.hero-quote>span{color:rgba(246,240,229,.6)}[data-content="1"] .hero-quote>span:first-child{color:var(--ink);font-family:var(--sans);font-size:17px;letter-spacing:-.02em}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:27px}.hero-play{display:flex;align-items:center;gap:16px;text-align:left}.play-orb{display:grid;place-items:center;width:55px;height:55px;border:1px solid rgba(246,240,229,.65);border-radius:100%;transition:background .3s,color .3s,transform .3s,border-color .3s;position:relative}.play-orb:after{content:'';position:absolute;inset:-5px;border:1px solid var(--accent);border-radius:50%;opacity:0;transform:scale(.9);transition:.35s}.hero-play:hover .play-orb{background:var(--ink);color:#08152a;transform:scale(1.04);border-color:var(--ink)}.hero-play:hover .play-orb:after{opacity:.4;transform:scale(1)}.play-orb .icon{width:20px;height:20px;margin-left:1px}.play-copy{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.play-copy>span{display:block;text-transform:none;font-family:var(--serif);font-size:15px;letter-spacing:.01em;color:var(--muted);margin-top:5px}.text-link{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.07em;min-height:44px}.text-link .icon{width:15px;height:15px;transition:transform .3s}.text-link:hover .icon{transform:translate(2px,-2px)}.hero-lyrics{border-bottom:1px solid rgba(246,240,229,.3);height:33px;min-height:33px;padding-bottom:2px;transition:color .3s,border-color .3s}.hero-lyrics:hover{color:var(--accent);border-color:var(--accent)}.track-content.is-active .hero-kicker{animation:copy-in .9s .05s both}.track-content.is-active h1{animation:copy-in 1.1s .12s both}.track-content.is-active .track-mood{animation:copy-in 1.1s .2s both}.track-content.is-active .hero-quote{animation:copy-in 1.1s .26s both}.track-content.is-active .hero-actions{animation:copy-in 1.1s .32s both}.scene-caption{position:absolute;right:calc(var(--gutter) + 2px);top:145px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.scene-caption>span:first-child{font-size:8px;letter-spacing:.19em;opacity:.7}.scene-caption>span:last-child{font:italic 18px var(--serif);color:rgba(246,240,229,.8)}
.orbit{position:absolute;right:13.5%;top:45%;width:204px;height:204px;color:var(--ink);transform:translateY(-20%);opacity:.8;pointer-events:none;transition:color 1s,opacity .5s}.orbit-type{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:orbit-turn 56s linear infinite}.orbit-type text{font:9px var(--sans);letter-spacing:3.4px;fill:currentColor}.orbit-rings{position:absolute;inset:24px;border:1px solid rgba(246,240,229,.22);border-radius:50%;transform:rotate(-25deg)}.orbit-rings span{position:absolute;inset:10px;border:1px solid rgba(246,240,229,.08);border-radius:50%}.orbit-rings span:nth-child(2){inset:22px}.orbit-rings span:nth-child(3){inset:34px}.orbit-halo{position:absolute;inset:22px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 70%);opacity:calc(.01 + var(--energy)*.18);transform:scale(calc(1 + var(--energy)*.3));filter:blur(15px)}#signal{position:absolute;inset:0;width:100%;height:100%;opacity:.8}.orbit-core{position:absolute;inset:76px;display:block;transform:rotate(calc(15deg + var(--energy)*45deg));transition:transform .1s}.orbit-core svg{width:100%;height:100%;stroke:currentColor;stroke-width:.7;fill:none}.orbit-label{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%);font-size:7px;letter-spacing:.2em;white-space:nowrap;color:var(--muted)}body[data-track="saigon"] .orbit{color:#ffd7c1}body[data-track="saigon"] .orbit-type{animation-duration:38s}
.scene-nav{position:absolute;right:23px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px}.scene-nav button{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:42px;min-height:40px;font-size:8px;letter-spacing:.05em;color:var(--faint)}.scene-nav button i{display:block;height:23px;width:2px;background:rgba(246,240,229,.2);transition:height .5s,background .5s}.scene-nav button.is-active{color:var(--ink)}.scene-nav button.is-active i{height:37px;background:var(--accent)}.scene-nav button:hover{color:var(--ink)}.next-destination{position:absolute;right:var(--gutter);bottom:158px;display:flex;align-items:center;gap:16px;text-align:left;min-width:268px;padding:11px 0 11px 11px;border-top:1px solid rgba(246,240,229,.23);border-bottom:1px solid rgba(246,240,229,.12);transition:background .3s,padding .3s;animation:copy-in 1.2s .6s both}.next-destination:hover{background:rgba(246,240,229,.035);padding-right:8px}.next-thumb{width:57px;height:57px;overflow:hidden;flex-shrink:0}.next-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.next-destination:hover img{transform:scale(1.13)}.next-copy{display:flex;flex-direction:column;gap:7px}.next-copy>span{font-size:7px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.next-copy strong{font:23px var(--serif);font-weight:400}.next-arrow{border:1px solid rgba(246,240,229,.25);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;margin-left:auto;margin-right:1px;transition:background .3s,color .3s}.next-arrow .icon{width:17px;height:17px}.next-destination:hover .next-arrow{background:var(--ink);color:#101525}.journey-label{position:absolute;left:var(--gutter);bottom:145px;display:flex;align-items:center;gap:11px;font-size:7px;letter-spacing:.18em;color:var(--muted);animation:copy-in 1.3s .5s both}.journey-line{height:1px;width:75px;background:rgba(246,240,229,.3);position:relative}.journey-line i{height:4px;width:4px;position:absolute;left:0;top:-1.5px;background:var(--accent);border-radius:50%;transition:left 1.2s cubic-bezier(.4,0,.2,1)}body[data-track="saigon"] .journey-line i{left:calc(100% - 4px)}.journey-sub{margin-left:12px;font-size:6px;letter-spacing:.15em;color:rgba(246,240,229,.35)}
/* One real player drives both scenes. No fabricated duration or playback. */
.player-bar{position:fixed;z-index:12;left:var(--gutter);right:var(--gutter);bottom:calc(43px + env(safe-area-inset-bottom,0px));min-height:88px;padding:18px 23px;display:grid;grid-template-columns:minmax(195px,1fr) auto minmax(180px,1.15fr) auto;align-items:center;gap:25px;background:rgba(7,13,24,.53);border:1px solid rgba(246,240,229,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:player-in 1s .25s both;transition:background 1s,border-color 1s}.player-bar:before{content:'';position:absolute;top:-1px;left:-1px;height:1px;width:90px;background:var(--accent);transition:background 1s}body[data-track="saigon"] .player-bar{background:rgba(21,8,24,.6);border-color:rgba(255,200,180,.2)}.player-track{display:flex;align-items:center;gap:13px;min-width:0}.player-cover{position:relative;width:46px;height:46px;flex-shrink:0;overflow:hidden}.player-cover img{width:100%;height:100%;object-fit:cover;transition:filter .5s}.player-track-copy{min-width:0;display:flex;flex-direction:column;gap:7px}.player-track-copy strong{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.player-track-copy button{display:flex;align-items:center;gap:5px;font-size:9px;line-height:1.2;color:var(--muted);text-align:left;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis;min-height:16px}.player-track-copy button .inline-icon{width:10px;height:10px;flex-shrink:0}.player-track-copy button:hover{color:var(--ink)}.mini-eq{position:absolute;inset:0;background:rgba(5,14,27,.45);display:flex;align-items:center;justify-content:center;gap:3px;opacity:0;transition:opacity .3s}.mini-eq i{height:14px;width:2px;background:var(--ink);animation:eq-dance .6s ease-in-out infinite alternate;animation-play-state:paused}.mini-eq i:nth-child(2){animation-delay:-.3s;height:22px}.mini-eq i:nth-child(3){animation-delay:-.5s;height:10px}.is-playing .mini-eq{opacity:1}.is-playing .mini-eq i{animation-play-state:running}.transport{display:flex;align-items:center;gap:13px}.icon-button{width:32px;height:36px;min-width:32px;display:grid;place-items:center;color:rgba(246,240,229,.65);transition:color .25s,transform .25s}.icon-button:hover{color:var(--ink);transform:scale(1.04)}.icon-button .icon{width:18px;height:18px}.player-play{height:43px;width:43px;border-radius:50%;background:var(--ink);color:#0b1424;display:grid;place-items:center;transition:transform .3s,background .3s}.player-play:hover{transform:scale(1.08);background:var(--accent)}.player-play .icon{width:20px;height:20px}.timeline{display:flex;align-items:center;gap:11px;min-width:0}.time{font-size:9px;font-variant-numeric:tabular-nums;color:var(--muted);min-width:26px}.time:last-child{text-align:right}input[type=range]{--progress:0%;-webkit-appearance:none;appearance:none;width:100%;min-width:35px;height:26px;background:transparent;cursor:pointer;margin:0;padding:0;color:var(--accent);accent-color:var(--accent)}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--accent) var(--progress),rgba(246,240,229,.25) var(--progress));border-radius:2px}input[type=range]::-moz-range-track{height:2px;background:rgba(246,240,229,.25)}input[type=range]::-moz-range-progress{height:2px;background:var(--accent)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:7px;height:7px;margin-top:-2.5px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px rgba(255,255,255,0);transition:box-shadow .2s}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(255,255,255,.12)}input[type=range]::-moz-range-thumb{width:7px;height:7px;border:0;border-radius:50%;background:var(--ink)}input[type=range]:disabled{cursor:default;opacity:.45}input[type=range]:disabled::-webkit-slider-thumb{opacity:0}input[type=range]:disabled::-moz-range-thumb{opacity:0}.player-tools{display:flex;align-items:center;gap:8px}.volume-control{display:flex;align-items:center;gap:2px;margin-right:8px}.volume-control input{width:46px;--progress:80%}.motion-toggle[aria-pressed="true"]{color:rgba(246,240,229,.3)}.bottom-notes{position:fixed;z-index:10;bottom:calc(17px + env(safe-area-inset-bottom,0px));left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;pointer-events:none}.bottom-notes>span{display:flex;align-items:center;gap:8px;font-size:6px;letter-spacing:.2em;color:rgba(246,240,229,.4)}.bottom-notes .inline-icon{width:11px;height:11px}.explore-hint>span{font-size:14px;margin-left:6px}.mobile-motion{display:none;pointer-events:auto;color:var(--muted);font-size:7px;letter-spacing:.1em;min-height:25px}.transition-caption{position:fixed;z-index:9;inset:0;display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px;letter-spacing:.4em;pointer-events:none;opacity:0;visibility:hidden}.transition-caption span:first-child{font-family:var(--serif);font-size:44px;font-style:italic;letter-spacing:0;color:var(--accent)}.transition-caption.is-transitioning{animation:transit-caption 1.05s both}.toast{position:fixed;z-index:60;left:50%;bottom:150px;transform:translate(-50%,15px);padding:13px 20px;max-width:min(500px,calc(100vw - 40px));width:max-content;border:1px solid rgba(246,240,229,.25);background:rgba(7,12,23,.95);color:var(--ink);font-size:12px;line-height:1.5;text-align:center;backdrop-filter:blur(20px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
/* The track index is an editorial spread; lyrics are a quiet side panel. */
.modal{overflow:auto;color:var(--ink);border:1px solid rgba(246,240,229,.2);padding:34px 38px;background:#10141c;background-image:radial-gradient(ellipse at 100% 0,rgba(91,107,145,.11),transparent 60%);box-shadow:0 30px 100px rgba(0,0,0,.4);max-width:calc(100vw - 44px);max-height:calc(100dvh - 44px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(246,240,229,.2) transparent}.modal::backdrop{background:rgba(2,7,16,.65);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.modal[open]{animation:modal-in .4s cubic-bezier(.2,.7,.3,1)}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.eyebrow{font-size:8px;line-height:1.4;font-weight:400;letter-spacing:.16em;color:var(--muted)}.close-button{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(246,240,229,.2);border-radius:50%;flex-shrink:0;transition:background .25s,color .25s}.close-button:hover{background:var(--ink);color:#111724}.close-button .icon{width:17px;height:17px}.tracklist-modal{width:1080px}.tracklist-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:26px 0 30px}.tracklist-heading h2{font:400 65px/.88 var(--serif);letter-spacing:-.02em;margin:0}.tracklist-heading h2 em{color:var(--accent)}.tracklist-heading p{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 3px;text-align:right}.track-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.track-card{position:relative;display:block;width:100%;height:285px;overflow:hidden;text-align:left;border:1px solid rgba(246,240,229,.2)}.track-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.2,.5,.2,1),filter .8s}.track-card:hover>img{transform:scale(1.06);filter:brightness(1.15)}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,8,18,.85),rgba(4,8,18,.2) 70%,rgba(4,8,18,.15))}.card-number{position:absolute;top:22px;left:23px;right:23px;font-size:12px;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}.card-number>span{font-size:6px;letter-spacing:.15em;color:var(--muted)}.card-title{position:absolute;left:23px;top:88px;font:400 53px/.85 var(--serif);letter-spacing:-.02em}.saigon-card .card-title{font:700 50px/.9 var(--sans);letter-spacing:-.07em;top:87px}.card-vietnamese{display:block;margin-top:14px;font-size:8px;letter-spacing:.17em;font-weight:400}.card-foot{position:absolute;bottom:24px;left:23px;right:23px;display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:.15em}.card-foot .icon{width:20px;height:20px;transition:transform .3s}.track-card:hover .card-foot .icon{transform:translate(3px,-3px)}.card-current{position:absolute;right:22px;bottom:82px;font-size:5px;letter-spacing:.13em;padding:5px 6px;border:1px solid rgba(246,240,229,.3);background:rgba(7,15,28,.4)}.modal-foot{margin-top:25px;display:flex;justify-content:space-between;font-size:6px;letter-spacing:.17em;color:var(--muted)}
.lyrics-modal{position:fixed;inset:0 0 0 auto;margin:0;width:650px;max-width:100vw;max-height:100dvh;height:100dvh;border:0;border-left:1px solid rgba(246,240,229,.2);padding:0;background:rgba(10,17,28,.98)}.lyrics-modal[open]{display:grid;grid-template-rows:79px minmax(0,1fr) 74px;animation:lyrics-in .45s cubic-bezier(.2,.7,.3,1)}body[data-track="saigon"] .lyrics-modal{background:rgba(25,12,27,.98)}.lyrics-modal .modal-top{padding:0 35px;border-bottom:1px solid rgba(246,240,229,.12)}.lyric-nav{display:flex;gap:7px;align-items:center}.lyric-nav .close-button{margin-left:10px}.lyrics-scroll{overflow:auto;padding:37px 55px 20px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.lyrics-scroll h2{font:400 68px/.92 var(--serif);letter-spacing:-.02em;margin:0 0 17px;max-width:450px}.lyrics-location{font-size:7px;letter-spacing:.18em;color:var(--muted);margin:0}.lyric-section{margin-top:40px}.lyric-section h3{font-size:8px;letter-spacing:.17em;font-weight:400;color:var(--accent);text-transform:uppercase;margin:0 0 17px}.lyric-section p{margin:0;font-size:18px;line-height:1.65;letter-spacing:-.02em;color:rgba(246,240,229,.84)}.lyric-section.is-hook p{font-size:21px;color:var(--ink)}.lyric-section .lyric-aside{color:rgba(246,240,229,.45)}.lyrics-end{display:flex;align-items:center;gap:12px;font-size:7px;letter-spacing:.18em;color:var(--muted);margin:50px 0 30px}.lyrics-end span{font-size:28px;color:var(--accent)}.lyrics-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(246,240,229,.12);padding:0 36px}.lyrics-footer>.text-link{font-size:10px}.lyrics-footer>.text-link .icon{width:18px;height:18px}.lyrics-footer>span{font-size:8px;letter-spacing:.15em;color:var(--muted)}
.audio-modal{width:540px;padding:28px 32px;background:#111723}.audio-modal h2{font:400 65px/.9 var(--serif);letter-spacing:-.02em;margin:35px 0 24px}.audio-modal h2 em{color:var(--accent)}.audio-intro{font-size:12px;line-height:1.8;color:var(--muted);max-width:350px;margin:0 0 24px}.audio-slot{display:flex;align-items:center;gap:13px;border-top:1px solid rgba(246,240,229,.13);padding:19px 0}.audio-slot>img{width:49px;height:49px;object-fit:cover;flex-shrink:0}.audio-slot>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.audio-slot .eyebrow{font-size:6px}.audio-slot strong{font-size:12px;font-weight:500}.file-name{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:295px}.audio-slot.is-loaded .file-name{color:var(--accent)}.choose-file{height:36px;width:36px;border:1px solid rgba(246,240,229,.25);display:grid;place-items:center;border-radius:50%;flex-shrink:0;transition:.3s}.choose-file .icon{height:17px;width:17px}.choose-file:hover{background:var(--ink);color:#111723}.audio-slot.is-current{position:relative}.audio-slot.is-current:before{content:'';position:absolute;top:-1px;left:0;width:45px;height:1px;background:var(--accent)}.audio-format{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(246,240,229,.13);font-size:6px;letter-spacing:.1em;color:var(--muted);gap:12px}.audio-privacy{font-size:9px;line-height:1.6;color:rgba(246,240,229,.4);margin:11px 0 24px}.audio-done{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 18px;border:1px solid rgba(246,240,229,.3);font-size:10px;letter-spacing:.03em;transition:background .3s,color .3s}.audio-done .icon{width:17px;height:17px}.audio-done:hover{background:var(--ink);color:#111723}.noscript-note{position:fixed;z-index:90;inset:auto 25px 150px;padding:20px;border:1px solid;background:#07182f;font-size:14px;line-height:1.6}
@keyframes sea-breath{from{transform:translate3d(var(--px),var(--py),0) scale(1.025)}to{transform:translate3d(calc(var(--px) - 6px),calc(var(--py) + 3px),0) scale(1.07)}}@keyframes grain-shift{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(-2%,-1%)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes spark-turn{to{transform:rotate(360deg)}}@keyframes copy-in{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes header-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes player-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes eq-dance{from{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes modal-in{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lyrics-in{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}@keyframes transit-caption{0%{visibility:visible;opacity:0;transform:translateY(10px)}25%,55%{visibility:visible;opacity:.9;transform:translateY(0)}100%{visibility:hidden;opacity:0;transform:translateY(-10px)}}
/* Every motion source obeys the same setting, including the canvas renderer. */
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;scroll-behavior:auto!important}.motion-off .scene{transition:opacity .3s}.motion-off .track-content{transition:opacity .2s}.motion-off .track-content.is-active .hero-copy>*{animation:none!important}.motion-off .scene-image{transform:scale(1.025)!important}.motion-off .grain{opacity:.04}.motion-off .transition-caption{display:none}.motion-off .orbit-core{transform:none!important}
@media(min-width:1700px){:root{--gutter:5vw}.hero-copy{top:47%}.orbit{right:16%;width:230px;height:230px}.orbit-core{inset:85px}.scene-caption{top:160px}.player-bar{gap:35px}.next-destination{min-width:320px}.next-copy strong{font-size:27px}}
@media(max-width:1200px){.player-bar{gap:17px;grid-template-columns:minmax(170px,1fr) auto minmax(140px,1fr) auto;padding:16px 18px}.player-tools{gap:3px}.volume-control{margin-right:1px}.volume-control input{width:35px}.header-manifesto{font-size:8px;letter-spacing:.14em}.orbit{right:13%;width:180px;height:180px}.orbit-core{inset:67px}.orbit-rings{inset:20px}.transport{gap:8px}.nights{margin-left:20px}.next-destination{min-width:240px}.next-copy strong{font-size:21px}.journey-sub{display:none}}
@media(max-width:1000px){.header-manifesto{display:none}.player-bar{grid-template-columns:minmax(155px,1fr) auto minmax(140px,1fr);gap:20px}.player-tools{position:absolute;right:5px;top:-52px;gap:8px}.volume-control input{width:50px}.player-tools>.icon-button{width:32px;height:30px}.next-destination{bottom:190px;min-width:230px}.orbit{right:13%;top:44%;width:150px;height:150px;opacity:.65}.orbit-core{inset:56px}.orbit-rings{inset:17px}.orbit-type text{font-size:10px}.hero-copy{max-width:82%}.scene-nav{right:13px}.scene-caption{top:130px}.hero-quote{font-size:22px}.nights{font-size:.17em}.journey-label{bottom:153px}}
@media(max-width:760px){:root{--gutter:26px}.site-header{top:25px;height:44px}.brand{font-size:19px;gap:10px}.brand-mark{width:36px;height:36px}.header-actions{gap:14px}.header-divider{height:18px}.header-actions button{font-size:9px}.tracklist-link .icon{margin-left:1px;width:15px}.audio-link>span{display:none}.header-actions .audio-link{opacity:.8}.track-count{margin-top:7px}.edge-lines{inset:12px}.hero-copy{top:44.5%;transform:translateY(-44%);max-width:calc(100% - 40px);padding-right:0}.hero-kicker{font-size:8px;gap:13px;margin-bottom:28px;letter-spacing:.13em}.kicker-rule{width:30px}.riviera-title{font-size:clamp(80px,20.5vw,132px);line-height:.84}.nights{display:block;margin:16px 0 0 5px;font-size:.17em;letter-spacing:.52em;transform:none}.saigon-title{font-size:clamp(78px,21.3vw,150px);line-height:.9}.title-spark{margin-left:20px}.track-mood{font-size:7px;letter-spacing:.15em;margin-top:22px;gap:8px}.hero-quote{font-size:22px;margin-top:24px;line-height:1.25}.hero-actions{margin-top:24px;gap:28px}.play-orb{height:50px;width:50px}.hero-play{gap:13px}.play-copy{font-size:9px}.play-copy>span{font-size:14px}.hero-lyrics{font-size:9px}.orbit{display:none}.scene-caption{display:none}.next-destination{display:none}.scene-image{object-position:76% center}.scene-shade{background:linear-gradient(90deg,rgba(1,10,24,.22),transparent 100%),linear-gradient(0deg,rgba(2,9,20,.95),rgba(2,9,20,.2) 70%,rgba(3,11,25,.08))}.scene[data-scene="1"] .scene-shade{background:linear-gradient(90deg,rgba(18,6,23,.25),rgba(18,6,23,.1)),linear-gradient(0deg,rgba(15,5,19,.96),rgba(15,5,19,.08) 75%)}.scene-nav{top:auto;bottom:calc(177px + env(safe-area-inset-bottom,0px));right:var(--gutter);transform:none;flex-direction:row;gap:14px}.scene-nav button{flex-direction:column;gap:4px;min-width:24px;min-height:32px;justify-content:flex-start;font-size:8px}.scene-nav button i{height:1px;width:20px}.scene-nav button.is-active i{height:1px;width:20px}.journey-label{bottom:calc(184px + env(safe-area-inset-bottom,0px));font-size:6px;gap:9px}.journey-line{width:50px}.player-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'info transport' 'timeline timeline';row-gap:11px;column-gap:8px;bottom:calc(42px + env(safe-area-inset-bottom,0px));min-height:111px;padding:13px 16px}.player-track{grid-area:info;gap:10px;min-width:0}.player-cover{width:38px;height:38px}.player-track-copy{gap:6px}.player-track-copy strong{font-size:10px}.player-track-copy button{font-size:8px;min-height:14px}.transport{grid-area:transport;gap:5px}.transport .icon-button{width:27px;min-width:27px;height:32px}.transport .icon-button .icon{width:15px;height:15px}.player-play{width:36px;height:36px}.player-play .icon{width:18px;height:18px}.timeline{grid-area:timeline;gap:10px}.time{font-size:8px;min-width:23px}.player-tools{display:none}.bottom-notes{bottom:10px}.bottom-notes>span{font-size:5px;letter-spacing:.13em}.bottom-notes .explore-hint{display:none}.mobile-motion{display:flex;align-items:center;gap:6px}.toast{bottom:174px;font-size:11px;padding:11px 15px}.transition-caption{font-size:9px;gap:14px}.transition-caption span:first-child{font-size:35px}.modal{padding:24px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.tracklist-heading{margin:24px 0}.tracklist-heading h2{font-size:52px}.tracklist-heading p{font-size:9px}.track-cards{grid-template-columns:1fr;gap:14px}.track-card{height:225px}.card-number{top:18px;left:19px;right:19px}.card-title{left:19px;top:68px;font-size:49px}.saigon-card .card-title{top:64px;font-size:45px}.card-foot{left:19px;right:19px;bottom:19px}.card-current{bottom:62px;right:19px}.card-vietnamese{margin-top:12px}.modal-foot{font-size:5px}.lyrics-modal{padding:0;max-width:100vw;max-height:100dvh;width:100vw}.lyrics-modal[open]{grid-template-rows:73px minmax(0,1fr) 65px}.lyrics-modal .modal-top{padding:0 24px}.lyrics-scroll{padding:32px 30px 20px}.lyrics-scroll h2{font-size:58px}.lyric-section{margin-top:34px}.lyric-section p{font-size:17px}.lyric-section.is-hook p{font-size:20px}.lyrics-footer{padding:0 26px}.audio-modal{padding:25px}.audio-modal h2{font-size:57px;margin-top:27px}.audio-intro{font-size:11px}.audio-slot{gap:10px}.audio-slot>img{width:43px;height:43px}.audio-slot strong{font-size:11px}.file-name{max-width:195px;font-size:8px}.audio-format{font-size:5px}.audio-privacy{font-size:8px}.audio-slot .eyebrow{font-size:5px}}
@media(max-height:780px) and (min-width:761px){.site-header{top:24px}.hero-copy{top:44.5%;transform:translateY(-44%)}.hero-kicker{margin-bottom:21px}.riviera-title{font-size:clamp(82px,17vh,125px)}.saigon-title{font-size:clamp(88px,18.3vh,137px)}.track-mood{margin-top:21px}.hero-quote{font-size:21px;margin-top:19px}.hero-actions{margin-top:20px}.play-orb{width:49px;height:49px}.orbit{top:43%;width:160px;height:160px}.orbit-core{inset:59px}.scene-caption{top:115px}.next-destination{bottom:150px;min-height:65px}.next-thumb{width:45px;height:45px}.player-bar{bottom:calc(36px + env(safe-area-inset-bottom,0px));min-height:78px;padding-top:13px;padding-bottom:13px}.bottom-notes{bottom:13px}.journey-label{bottom:139px}.player-tools{top:auto}.player-bar .player-tools{position:static}.player-bar{grid-template-columns:minmax(160px,1fr) auto minmax(130px,1fr) auto}.volume-control input{display:none}.player-tools{gap:0}.player-tools .icon-button{width:27px;min-width:27px}.journey-sub{display:none}}
@media(max-height:740px) and (max-width:760px){.hero-copy{top:44%;transform:translateY(-44%)}.hero-kicker{margin-bottom:20px}.riviera-title{font-size:clamp(68px,12.4vh,93px)}.saigon-title{font-size:clamp(72px,13.3vh,100px)}.nights{margin-top:13px}.track-mood{margin-top:17px}.hero-quote{margin-top:18px;font-size:20px}.hero-actions{margin-top:20px}.play-orb{width:45px;height:45px}.journey-label{display:none}.scene-nav{bottom:166px}.player-bar{min-height:106px;bottom:calc(36px + env(safe-area-inset-bottom,0px));padding-top:11px;padding-bottom:11px}.bottom-notes{bottom:7px}.audio-modal h2{font-size:50px;margin-top:24px}.audio-intro{margin-bottom:16px}.audio-slot{padding:14px 0}}
@media(max-width:370px){:root{--gutter:20px}.header-actions{gap:10px}.brand{font-size:17px;gap:8px}.brand-mark{width:31px;height:31px}.header-divider{display:none}.header-actions button{font-size:8px}.hero-kicker{font-size:7px;gap:10px}.hero-copy{max-width:calc(100% - 30px)}.hero-actions{gap:24px}.hero-quote{font-size:20px}.player-bar{padding:12px}.player-cover{width:31px;height:36px}.player-track-copy strong{font-size:9px}.transport{gap:1px}.player-track{gap:8px}.modal{padding:20px}.tracklist-heading h2{font-size:44px}.lyrics-modal{padding:0}.lyrics-scroll{padding-left:24px;padding-right:24px}.file-name{max-width:145px}.audio-slot strong{font-size:10px}.audio-modal h2{font-size:49px}.audio-format{letter-spacing:0}}
@media(max-height:510px) and (min-width:500px){:root{--gutter:28px}.site-header{top:14px;height:35px}.brand{font-size:15px;gap:9px}.brand-mark{width:29px;height:29px}.header-actions button{font-size:8px}.hero-copy{top:44%;transform:translateY(-43%)}.hero-kicker{margin-bottom:12px;font-size:6px}.track-number{font-size:10px}.riviera-title{font-size:clamp(61px,17vh,88px)}.nights{display:inline-block;margin:0 0 0 15px;font-size:.17em;letter-spacing:.2em}.saigon-title{font-size:clamp(65px,19vh,96px)}.track-mood{font-size:6px;margin-top:14px}.hero-quote{display:none}.hero-actions{margin-top:17px}.play-orb{width:36px;height:36px}.play-orb .icon{width:16px}.play-copy{font-size:8px}.play-copy>span{font-size:12px;margin-top:3px}.hero-lyrics{font-size:8px}.orbit,.scene-caption,.next-destination,.journey-label,.bottom-notes{display:none}.player-bar{bottom:calc(14px + env(safe-area-inset-bottom,0px));min-height:62px;display:grid;grid-template-areas:none;grid-template-columns:minmax(125px,1fr) auto minmax(115px,1fr);row-gap:0;column-gap:15px;padding:9px 15px}.player-track,.transport,.timeline{grid-area:auto}.player-cover{height:35px;width:35px}.player-tools{display:none!important}.player-play{height:34px;width:34px}.scene-nav{top:47%;bottom:auto;right:9px;transform:translateY(-50%);flex-direction:column;gap:3px}.scene-nav button{flex-direction:row;gap:8px;min-height:28px;min-width:28px}.scene-nav button i,.scene-nav button.is-active i{width:1px;height:22px}.scene-nav button span{font-size:7px}.scene-nav button.is-active i{height:30px}.toast{bottom:90px}.audio-modal{padding:20px 25px}.audio-modal h2{font-size:43px;margin:17px 0}.audio-intro{font-size:10px;margin-bottom:15px}.audio-slot{padding:11px 0}.audio-privacy{margin-bottom:16px}.tracklist-modal{max-height:calc(100dvh - 20px)}.tracklist-heading{margin:15px 0}.tracklist-heading h2{font-size:42px}.track-cards{grid-template-columns:1fr 1fr}.track-card{height:215px}.card-title{font-size:39px}.saigon-card .card-title{font-size:39px}.card-number>span{font-size:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}.scene-image{will-change:auto}.transition-caption{display:none}}

@media(max-width:760px){.transition-caption{display:none}}

.header-actions .audio-link{min-width:30px;justify-content:center}
@media(max-width:760px){
 :root{--gutter:max(26px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
 .site-header{top:calc(25px + env(safe-area-inset-top,0px))}
 .lyrics-modal[open]{grid-template-rows:calc(73px + env(safe-area-inset-top,0px)) minmax(0,1fr) calc(65px + env(safe-area-inset-bottom,0px))}
 .lyrics-modal .modal-top{padding-top:env(safe-area-inset-top,0px)}
 .lyrics-footer{padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(max-height:590px) and (max-width:599px){
 .hero-quote{display:none}.hero-copy{top:42.5%;transform:translateY(-46%)}.hero-kicker{margin-bottom:16px}
 .riviera-title{font-size:clamp(60px,13vh,80px)}.saigon-title{font-size:clamp(64px,14vh,87px)}.hero-actions{margin-top:18px}.track-mood{margin-top:16px}
}
@media(max-height:480px) and (max-width:599px){.track-mood{display:none}}
@media(max-height:510px) and (min-width:500px){:root{--gutter:max(28px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}.site-header{top:calc(14px + env(safe-area-inset-top,0px))}}
@media(max-width:370px){:root{--gutter:max(20px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}}
