/* 梦语「遇见」 · an unhurried score in ivory, blue and champagne.
   Static surfaces are painted once; movement uses transform and opacity. */
:root{
  --paper:#f6f6ef;--white:#fffef8;--sky:#e8eff3;--ink:#27465e;
  --muted:#718694;--gold:#b59668;--line:#b2c5cf66;
  --serif:'Noto Serif SC','Songti SC','STSong','SimSun',serif;
  --sans:'PingFang SC','Microsoft YaHei',sans-serif;
  --ease:cubic-bezier(.65,0,.35,1);--page-progress:0;color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px;overflow-x:clip}
body{margin:0;overflow-x:clip;background:radial-gradient(ellipse at 76% 0,#e4edf2 0,transparent 38%),var(--paper);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #a47e45;outline-offset:5px}
button:disabled{cursor:default}
img{display:block;max-width:100%}
::selection{background:#d8e1e5;color:#27465e}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:fixed;left:20px;top:12px;z-index:120;padding:10px 16px;border-radius:12px;background:var(--white);transform:translateY(-160%)}
.skip:focus{transform:none}
.grain,#dream-audio{display:none}
.reading-progress{position:fixed;left:0;right:0;top:0;height:2px;background:var(--gold);transform:scaleX(var(--page-progress));transform-origin:left;z-index:110;pointer-events:none}

/* A quiet masthead, with one clear control group. */
.header{height:92px;position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:24px;padding:0 25px;background:#fbfcf7;border:1px solid #fff;border-radius:28px;box-shadow:0 12px 36px #3c5d7008}
.brand{display:flex;gap:11px;align-items:center;flex-shrink:0}
.brand>img{width:45px;height:45px;transition:transform .8s var(--ease)}
.brand>span{font:400 21px/1.55 var(--serif);letter-spacing:2px}
.brand small{display:block;color:#738a99;font:8px/1.8 var(--sans);letter-spacing:1.5px}
nav{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:12px;color:#718897;white-space:nowrap}
nav a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:999px;position:relative;transition:background-color .5s var(--ease),color .5s var(--ease)}
nav a.active{background:#e9eff0;color:var(--ink)}
nav a.active:after{content:'';width:3px;height:3px;border-radius:50%;background:var(--gold);margin-left:7px}
.header-controls{display:flex;align-items:center;gap:7px;margin-left:5px}
.icon-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #bbccd46b;border-radius:50%;background:#f8faf6;transition:background-color .5s var(--ease),transform .5s var(--ease)}
.icon-button>span{display:grid;place-items:center}
.icon-button svg{width:18px;height:18px}
.icon-button:disabled{opacity:.45}
.sound-toggle{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid #bbccd46b;border-radius:999px;background:#edf2f1;padding:9px 13px;font-size:10px;letter-spacing:.5px;white-space:nowrap;transition:background-color .5s var(--ease),transform .5s var(--ease)}
.sound-bars{display:flex;align-items:center;gap:2px;height:16px}
.sound-bars i{display:block;flex:none;width:2px;height:13px;border-radius:3px;background:#a68b64;transform:scaleY(.28);transform-origin:center}
.sound-toggle[aria-pressed="true"] .sound-bars i{animation:equalizer 1.4s var(--ease) infinite alternate}
.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(2){animation-delay:-.9s}
.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(3){animation-delay:-.4s}
.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(4){animation-delay:-1.2s}

/* First light: a large title and a framed, luminous instrument. */
.hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:34px;position:relative;min-height:810px;padding-top:42px;padding-bottom:85px}
.hero-copy,.hero-art,.weiyan-grid>*{min-width:0}
.hero-copy{position:relative;z-index:1;padding-left:5px}
.eyebrow{font:9px/1.8 var(--sans);color:#7c909c;letter-spacing:2px}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 24px;white-space:nowrap;letter-spacing:1.6px}
.hero-copy>.eyebrow>span{display:block;flex:none;width:28px;height:1px;background:var(--gold)}
h1{margin:0 0 17px;font:400 clamp(105px,10vw,140px)/1.13 var(--serif);letter-spacing:4px}
.dream-word{display:block;width:fit-content;font-size:.54em;line-height:1.35;letter-spacing:11px;color:#6c889b;margin-left:7px;margin-bottom:8px}
.encounter-word{display:block;white-space:nowrap;margin-left:-22px}
.encounter-word i{display:inline-block;font-style:normal;font-size:.51em;color:#af936a;vertical-align:15px;letter-spacing:0}
.hero-kicker{font:13px/1.6 var(--serif);letter-spacing:5px;margin:0 0 26px 5px;color:#5d7b8f}
.hero-description{margin:0 0 0 5px;font:16px/2.15 var(--serif);letter-spacing:1px;color:#587388}
.primary-link{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:33px;min-height:52px;margin:27px 0 0 5px;padding:14px 22px 14px 25px;border:1px solid #27465e;border-radius:999px;background:var(--ink);color:#faf9ee;font-size:12px;letter-spacing:.5px;transition:transform .6s var(--ease),background-color .6s var(--ease)}
.primary-link .arrow{display:grid;place-items:center;color:#d6c29f;transition:transform .6s var(--ease)}
.hero-footnote{display:flex;align-items:center;gap:10px;margin:29px 0 0 5px;font-size:10px;letter-spacing:.6px;color:#7d909a}
.tiny-star{color:var(--gold);display:inline-flex}
.hero-art{height:630px;position:relative;contain:layout paint;border:1px solid #fff;border-radius:110px 110px 40px 40px;background:linear-gradient(145deg,#f5f8f6,#e7eff4 75%,#f0f3ef);isolation:isolate;overflow:hidden;box-shadow:0 25px 70px #4b6c7f08}
.hero-art:before{content:'';position:absolute;inset:12px;border:1px solid #fff9;border-radius:98px 98px 28px 28px;pointer-events:none;z-index:2}
.hero-art:after{content:'';position:absolute;left:10%;top:12%;width:77%;height:70%;border:1px solid #c2ac8d2b;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-24deg);pointer-events:none;z-index:1}
#dream-canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.scene-caption{position:absolute;left:7%;right:7%;top:28px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.4px;color:#8298a5;pointer-events:none}
.scene-caption>span:first-child{font:12px var(--serif);letter-spacing:3px;color:#688699}
.vertical-poem{position:absolute;right:24px;top:24%;margin:0;writing-mode:vertical-rl;font:11px var(--serif);letter-spacing:7px;color:#8fa3ae;pointer-events:none}
.scene-bottom{position:absolute;left:7%;right:7%;bottom:26px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px}
.scene-coordinate{font-size:9px;letter-spacing:.5px;color:#7b94a3}
.scene-bottom button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:9px 13px;border:1px solid #bccdd471;border-radius:999px;background:#f7faf5;color:#57758a;font-size:10px;white-space:nowrap;transition:transform .6s var(--ease),background-color .6s var(--ease)}
.burst-symbol{display:inline-flex;color:#aa8d63;margin-right:2px;transition:transform .6s var(--ease)}
.scroll-cue{display:flex;align-items:center;gap:12px;position:absolute;left:5px;bottom:25px;font-size:8px;letter-spacing:1.6px;color:#8398a5}
.scroll-track{height:32px;width:1px;background:#c5d1d5;position:relative;overflow:hidden}
.scroll-track i{display:block;width:1px;height:12px;background:var(--gold);animation:scroll-note 3.5s var(--ease) infinite}
.hero-edition{position:absolute;right:0;bottom:34px;color:#95a5ad;font-size:8px;letter-spacing:1.3px}
.threshold{min-height:122px;border:1px solid #bdcbd063;border-radius:25px;padding:20px 29px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f0f3ee}
.threshold-index{font-size:9px;letter-spacing:1.8px;color:#9f855e}
.threshold p{font:18px/1.9 var(--serif);letter-spacing:1.6px;margin:0;text-align:center;color:#607f93}
.threshold-symbol{color:#b5a17d;flex:none}
.mobile-only{display:none}

/* A score to explore. */
.section-space{padding-top:116px;padding-bottom:100px}
.section-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;margin-bottom:52px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.5px}
.section-number{color:#647f92}
.section-en{color:#879ba7;font-size:9px;letter-spacing:1.6px;text-align:right}
h2{font:400 clamp(38px,4vw,52px)/1.6 var(--serif);letter-spacing:2.5px;margin:0}
.italic-accent{color:#8c9fa9}
.echo-heading,.meet-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}
.echo-heading>p,.meet-heading>p{font:13px/2.1 var(--serif);letter-spacing:1px;color:#587388;margin:0 6px 8px 0}
.dream-score{position:relative;isolation:isolate;overflow:hidden;padding:26px 36px 33px;border:1px solid #b6c8d16b;border-radius:36px;background:linear-gradient(135deg,#f1f3ed 0,#e7eef3 57%,#f1eee6 100%)}
.score-label{display:flex;align-items:center;gap:10px;color:#7b93a3;font-size:9px;letter-spacing:1.3px}
.score-label img{width:28px;height:28px}
.score-label-right{margin-left:auto;font:11px var(--serif);color:#98967f;letter-spacing:1px}
.score-art{display:block;width:100%;height:188px;overflow:hidden;opacity:.8}
.score-art path{stroke-width:1}
.score-note{transform-box:fill-box;transform-origin:center;animation:score-lift 7s var(--ease) infinite alternate}
.note-b{animation-delay:-4s}.note-c{animation-delay:-2s}
.dream-tabs{display:flex;width:fit-content;gap:4px;margin:-2px auto 28px;padding:5px;border:1px solid #c1cfd25c;border-radius:999px;background:#dce7e98a}
.dream-tabs button{border:1px solid transparent;border-radius:999px;min-width:113px;min-height:44px;padding:9px 18px;background:transparent;color:#7b929f;font:16px/1.5 var(--serif);letter-spacing:2px;transition:color .5s var(--ease),background-color .5s var(--ease),transform .5s var(--ease)}
.dream-tabs button span{font:9px var(--sans);letter-spacing:.5px;margin-right:9px;color:#9aa7a6}
.dream-tabs button[aria-selected="true"]{background:#fcfcf7;color:#2e5068;border-color:#fff}
.dream-panel{min-height:196px;padding:0 12px;text-align:center}
.panel-star{display:flex;align-items:center;justify-content:center;color:#af936d}
.dream-panel p{font:24px/1.85 var(--serif);letter-spacing:1.5px;margin:17px 0 10px;color:#3b5d74}
.dream-panel>span:not(.panel-star){display:block;font:13px/1.9 var(--serif);letter-spacing:.6px;color:#587388}
.dream-panel .note-caption{font:9px var(--sans)!important;letter-spacing:1px!important;margin-top:24px;color:#97a4a7!important}
.echo-end{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px}
.echo-end>span{font:12px var(--serif);letter-spacing:3px;color:#7a8f9d}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:44px;padding:7px 0;border-bottom:1px solid #96aebc78;font-size:12px;letter-spacing:.4px;transition:color .5s var(--ease),border-color .5s var(--ease)}
.text-link>span{display:inline-flex;transition:transform .6s var(--ease)}

/* An intimate artist page, set between two larger movements. */
.weiyan-section{padding-top:65px;padding-bottom:118px}
.weiyan-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:110px;align-items:center}
.portrait-composition{position:relative;width:100%;max-width:455px;padding:30px 40px 46px 30px;justify-self:center;contain:paint}
.portrait-composition figure{position:relative;margin:0;transform:rotate(-3deg)}
.portrait-composition figure>img{width:100%;height:auto;aspect-ratio:.91;object-fit:cover;border-radius:48% 48% 28px 28px;border:1px solid #fff;box-shadow:12px 16px 0 #e1e8e6}
.portrait-composition figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:29px;font:15px var(--serif);letter-spacing:3px}
.portrait-composition figcaption>span:last-child{font:9px var(--sans);letter-spacing:3px;color:#8a9ba5}
.portrait-orbit{position:absolute;inset:4px 10px 65px;border:1px solid #b5c5ce91;border-radius:50%;transform:rotate(22deg);pointer-events:none}
.portrait-orbit:before{content:'';position:absolute;inset:20px -13px;border:1px solid #b5c5ce40;border-radius:50%;transform:rotate(-35deg)}
.portrait-annotation{position:absolute;left:-4px;bottom:33px;writing-mode:vertical-rl;color:#849ba9;font:10px var(--serif);letter-spacing:2.5px}
.portrait-flower{position:absolute;right:0;bottom:54px;color:#b9a17c;width:59px;height:59px;display:grid;place-items:center;animation:flower-sway 18s var(--ease) infinite alternate}
.portrait-flower svg{width:100%;height:100%}
.weiyan-copy>.eyebrow{margin:0 0 18px}
.weiyan-copy h2{font-size:42px;letter-spacing:2px}
.intro-name{font:22px/1.7 var(--serif);letter-spacing:2px;margin:29px 0 21px}
.intro-name>span{font:11px var(--sans);letter-spacing:.6px;color:#8599a7;margin-left:7px}
.bio{max-width:430px;font-size:14px;line-height:2.1;color:#587388;margin:0}
.artist-quote{padding:19px 23px;margin:27px 0 22px;border:1px solid #becdd238;border-radius:20px;background:#edf1eb;position:relative}
.artist-quote:before{content:'';position:absolute;width:2px;top:24%;bottom:24%;left:-1px;border-radius:3px;background:#b59b73}
.artist-quote>span{display:block;color:#587388;font:13px/1.9 var(--serif);letter-spacing:.3px}
.artist-quote small{display:block;font-size:11px;color:#94a1a1;letter-spacing:.7px;margin-top:8px}
.artist-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}
.small-link{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:#8b999b;border-bottom:1px solid transparent;transition:color .5s var(--ease),border-color .5s var(--ease)}

/* A deeper blue movement gives the final invitations their own atmosphere. */
.meet-section{position:relative;overflow:hidden;margin-top:8px;padding-top:94px;padding-bottom:98px;background:linear-gradient(145deg,#2c4a61,#253f56 67%,#28475c);border-radius:64px 64px 0 0;color:#f4f5ec}
.meet-section:before{content:'';position:absolute;right:-160px;top:105px;width:670px;height:670px;border:1px solid #c6d8dd14;border-radius:50%;transform:rotate(-30deg) scaleY(.72);pointer-events:none}
.meet-section:after{content:'';position:absolute;right:-90px;top:135px;width:560px;height:560px;border:1px solid #cbb89117;border-radius:50%;transform:rotate(20deg) scaleY(.88);pointer-events:none}
.meet-section>.wrap{position:relative;z-index:1}
.meet-section .section-top{border-color:#b4cbd42b}
.meet-section .section-number{color:#d4c7aa}
.meet-section .section-en{color:#9eb4c3}
.meet-section .italic-accent{color:#cfbd9c}
.meet-heading{margin-bottom:48px}
.meet-heading>p{color:#b4c5cf}
.destination-list{display:grid;gap:13px}
.destination{position:relative;display:flex;align-items:center;gap:28px;padding:27px 26px;border:1px solid #b4c7ce30;border-radius:25px;background:#ffffff05;transition:background-color .6s var(--ease),transform .6s var(--ease),border-color .6s var(--ease)}
.destination>div{min-width:0}
.destination-number{font:9px var(--sans);color:#a4b9c5;letter-spacing:1.2px;display:flex;flex-direction:column;gap:9px;align-items:center;justify-content:center;align-self:center;min-width:44px;flex:none}
.destination-symbol{width:44px;height:44px;border-color:#d6e3e12b;border-radius:15px;background:#dbe8e312;box-shadow:none;color:#c5d2d6;transition:color .6s var(--ease),border-color .6s var(--ease),transform .6s var(--ease)}
.destination h3{font:400 26px/1.7 var(--serif);letter-spacing:1.5px;margin:0 0 5px}
.destination h3 small{font:10px var(--sans);letter-spacing:1px;color:#b3c3c9;margin-left:11px}
.destination p{font-size:13px;line-height:1.8;letter-spacing:.3px;color:#a8c0cd;margin:0}
.destination-type{font-size:9px;letter-spacing:1.3px;margin-left:auto;color:#a0b8c6;white-space:nowrap}
.destination-arrow{display:grid;place-items:center;flex:none;margin-left:14px;width:46px;height:46px;border:1px solid #c6d5d147;border-radius:50%;background:#d6e2db07;color:#e0d3b7;transition:transform .6s var(--ease),background-color .6s var(--ease),border-color .6s var(--ease)}
.destination-arrow svg{transition:transform .6s var(--ease)}

/* The coda: room to breathe, and an invitation to replay. */
.farewell{text-align:center;padding-top:112px;padding-bottom:104px;position:relative}
.farewell-emblem{display:flex;align-items:center;justify-content:center;gap:26px;margin-bottom:25px}
.farewell-emblem>span{display:block;width:58px;height:1px;background:#b7c7cc6e}
.farewell-emblem>img{width:62px;height:62px}
.farewell>.eyebrow{font-size:9px;letter-spacing:2.8px;margin:0}
.farewell h2{font-size:58px;letter-spacing:4px;margin:18px 0 14px}
.farewell h2>span{color:#8ca1af}
.farewell>p:not(.eyebrow){font:14px/1.9 var(--serif);letter-spacing:1px;color:#8499a4;margin:0}
.farewell-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px 30px;margin-top:29px}
.replay-intro{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 17px;border:1px solid #b0c4cc7d;border-radius:999px;background:#edf2ed;font-size:11px;color:#6f8b9f;transition:background-color .6s var(--ease),transform .6s var(--ease)}
.replay-intro svg{width:15px;height:15px}
.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:106px;border-top:1px solid var(--line);font-size:10px;color:#8a9ca6;letter-spacing:.5px}
.footer-brand{display:flex;align-items:center;gap:8px;color:#4d6c82;font:14px var(--serif);letter-spacing:1.5px;white-space:nowrap}
.footer-note{font-size:8px;letter-spacing:1.3px}
.page-coordinate{display:flex;align-items:center;gap:8px;writing-mode:vertical-rl;position:fixed;right:20px;bottom:30px;z-index:5;font:9px var(--sans);letter-spacing:1px;color:#8fa3b0;pointer-events:none}
.page-coordinate i{display:block;width:1px;height:34px;background:#bdcbd273}
.page-coordinate>span:first-child{color:#5f7e94}

/* Scroll entrances settle at both ends, without moving layout or painting blur. */
.js .reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .reveal.visible{opacity:1;transform:translate3d(0,0,0)}
.destination.reveal:nth-child(2){transition-delay:.08s}
.destination.reveal:nth-child(3){transition-delay:.16s}
.music-staging .header,.music-staging .opening,.music-staging .hero-art,.music-staging .encounter-word,.music-staging .dream-word{opacity:0}

/* Prologue: the word is moved by FLIP; these are inexpensive, static layers. */
html.intro-playing{overflow:hidden}
.dream-intro{position:fixed;inset:0;z-index:100;isolation:isolate;overflow:hidden;color:var(--ink);--prelude-light:1}
.dream-intro[hidden]{display:none}
.intro-backdrop{position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 50% 42%,#fcfaee 0,#edf2f1 45%,#dee9f1 100%);pointer-events:none}
.intro-curtain{position:absolute;inset-block:0;width:50.1%;z-index:-2;pointer-events:none;background:#edf2f1;transform:scaleX(1);will-change:transform;backface-visibility:hidden}
.intro-curtain.left{left:0;transform-origin:left center;background:linear-gradient(90deg,#e7eef2,#f3f5ed)}
.intro-curtain.right{right:0;transform-origin:right center;background:linear-gradient(90deg,#f3f5ed,#e7eef2)}
.intro-aura{position:absolute;left:50%;top:43%;width:min(72vw,600px);height:min(72vw,600px);transform:translate(-50%,-50%);z-index:-1;border:1px solid #fbfcf580;border-radius:50%;background:radial-gradient(circle,#fffdf6ad 0,#f6f6ee38 55%,transparent 71%);pointer-events:none;opacity:var(--prelude-light)}
.intro-dust{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--prelude-light)}
.intro-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#c2a47b;opacity:.55;animation:tiny-orbit 9s var(--ease) infinite alternate}
.intro-dust i:nth-child(1){left:21%;top:25%;animation-delay:-2s}.intro-dust i:nth-child(2){left:32%;top:62%;width:2px;height:2px;animation-delay:-5s}.intro-dust i:nth-child(3){left:70%;top:25%;animation-delay:-4s}.intro-dust i:nth-child(4){left:82%;top:61%;width:2px;height:2px;animation-delay:-7s}.intro-dust i:nth-child(5){left:49%;top:17%;width:2px;height:2px;animation-delay:-3s}.intro-dust i:nth-child(6){left:64%;top:69%;animation-delay:-1s}.intro-dust i:nth-child(7){left:13%;top:47%;width:2px;height:2px;animation-delay:-6s}.intro-dust i:nth-child(8){left:88%;top:34%;animation-delay:-8s}
.intro-score{position:absolute;left:-5%;top:calc(43% - 155px);width:110%;height:310px;z-index:-1;stroke-width:.7;color:#bea784;opacity:.34;pointer-events:none}
.intro-halo{position:absolute;left:50%;top:43%;width:400px;height:400px;transform:translate(-50%,-50%);pointer-events:none;z-index:-1}
.intro-halo>i{position:absolute;inset:0;border:1px solid #a5bdcc6b;border-radius:50%;transform:rotate(-24deg) scaleY(.77)}
.intro-halo>i:nth-child(2){inset:24px;border-color:#c5ab814d;transform:rotate(29deg) scaleY(.92)}
.intro-halo>i:nth-child(3){inset:49px;border-color:#b7cdd447;transform:rotate(-60deg) scaleY(.85)}
.intro-halo>span{position:absolute;right:4px;top:48px;color:#bca077;transform:rotate(9deg)}
.intro-symbol{position:absolute;left:calc(50% - 29px);top:calc(43% - 153px);width:58px;height:58px;pointer-events:none}
.intro-word{position:absolute;left:0;top:0;display:block;margin:0;font:400 clamp(68px,7.2vw,106px)/1.2 var(--serif);letter-spacing:10px;white-space:nowrap;color:#688598;transform-origin:0 0;will-change:transform,opacity;pointer-events:none}
.intro-thought{position:absolute;left:0;top:calc(43% + 90px);width:100%;text-align:center;color:#587388;font:13px/1.9 var(--serif);letter-spacing:3px;margin:0;pointer-events:none}
.intro-edition{position:absolute;left:0;bottom:25%;width:100%;font:10px var(--sans);letter-spacing:2px;text-align:center;color:#90a2ab;pointer-events:none}
.intro-music{position:absolute;left:50%;bottom:max(6.5%,40px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;white-space:nowrap}
.intro-music>span:first-child{font:11px var(--serif);letter-spacing:1.5px;color:#587388}
.intro-play{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:179px;min-height:49px;padding:12px 24px;background:#35586e;border:1px solid #35586e;border-radius:999px;color:#fcfaef;font:12px var(--serif);letter-spacing:1.5px;transition:background-color .6s var(--ease),transform .6s var(--ease)}
.intro-play>.ui-icon{width:17px;height:17px;color:#dfcaa4}
.intro-bar{font-size:9px;letter-spacing:.7px;color:#617c8f}
.intro-measures{display:flex;align-items:center;gap:7px;height:5px;margin-top:2px}
.intro-measures i{position:relative;display:block;width:28px;height:2px;background:#b8cbd14b;border-radius:3px;overflow:hidden;--measure:0}
.intro-measures i:after{content:'';position:absolute;inset:0;transform:scaleX(var(--measure));transform-origin:left;background:#ac9167;border-radius:inherit}
.autoplay-waiting .intro-measures i:after{transform:scaleX(.08);opacity:.65}
.intro-skip{position:absolute;right:32px;bottom:29px;display:flex;align-items:center;justify-content:center;gap:15px;min-height:40px;padding:8px 16px;border:1px solid #afc3cd73;border-radius:999px;background:#f6f8f1;color:#617c8f;font-size:10px;letter-spacing:.5px;transition:background-color .5s var(--ease),transform .5s var(--ease)}
.intro-skip>span{margin:0}

/* Pointer flourishes never depend on layout, gradients or shadows changing. */
@media(hover:hover) and (pointer:fine){
 .brand:hover>img{transform:rotate(-8deg)}
 nav a:hover{background:#edf2f1;color:#355d77}
 .icon-button:hover,.sound-toggle:hover{background:#e1eaec;transform:translateY(-2px)}
 .primary-link:hover{background:#355b75;transform:translateY(-3px)}
 .primary-link:hover .arrow{transform:translate(2px,-2px)}
 .scene-bottom button:hover{background:#fffef8;transform:translateY(-2px)}
 .scene-bottom button:hover .burst-symbol{transform:rotate(35deg);transition:transform .6s var(--ease)}
 .dream-tabs button:hover{background:#f7faf2;color:#3e627a}
 .text-link:hover,.small-link:hover{color:#a18357;border-color:#a18357}
 .text-link:hover>span{transform:translate(2px,-2px)}
 .destination:hover{transform:translateY(-3px);background:#ffffff0c;border-color:#c6d8dd55}
 .destination:hover .destination-symbol{color:#e1cdab;border-color:#c6b48a60;transform:translateY(-2px)}
 .destination:hover .destination-arrow{background:#d1bd9412;border-color:#d1bd9463;transform:none}
 .destination:hover .destination-arrow svg{transform:translate(2px,-2px)}
 .replay-intro:hover{background:#e0e9e9;transform:translateY(-2px)}
 .intro-play:hover{background:#446d85;transform:translateY(-2px)}
 .intro-skip:hover{background:#fffdf5}
}
.primary-link:active,.intro-play:active,.replay-intro:active,.icon-button:active,.sound-toggle:active{transform:scale(.97)}
.destination:active{transform:scale(.993)}
@keyframes equalizer{from{transform:scaleY(.28)}to{transform:scaleY(1)}}
@keyframes scroll-note{0%{transform:translateY(-14px);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateY(34px);opacity:0}}
@keyframes score-lift{from{transform:translateY(2px)}to{transform:translateY(-4px)}}
@keyframes flower-sway{from{transform:rotate(-6deg)}to{transform:rotate(11deg)}}
@keyframes tiny-orbit{from{transform:translate3d(0,8px,0);opacity:.2}to{transform:translate3d(0,-9px,0);opacity:.7}}

@media(max-width:1150px){
 .wrap{width:calc(100% - 80px)}.header{padding-inline:18px;gap:15px}.brand>span{font-size:19px}.brand small{font-size:7px;letter-spacing:1.1px}.brand>img{width:39px;height:39px}nav{gap:0}nav a{padding-inline:11px}.sound-label{display:none}.sound-toggle{width:40px;padding-inline:10px;justify-content:center}.header-controls{margin-left:0}
 .hero{gap:20px;min-height:750px}h1{font-size:118px}.hero-art{height:575px;border-radius:90px 90px 35px 35px}.hero-art:before{border-radius:79px 79px 24px 24px}.hero-description{font-size:15px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.8px}.scene-coordinate{display:none}.scene-bottom{justify-content:center}.weiyan-grid{gap:65px}.weiyan-copy h2{font-size:37px}.destination-type{font-size:8px}.destination h3{font-size:24px}.destination{gap:22px}.destination-arrow{margin-left:5px}
}
@media(max-width:920px){
 .wrap{width:calc(100% - 64px)}.header{height:85px;margin-top:20px;padding-inline:18px}.brand>span{font-size:17px}.brand small{font-size:7px;letter-spacing:.7px}nav a{font-size:11px;padding-inline:9px}.brand>img{width:36px;height:36px}.header-controls{gap:5px}.icon-button,.sound-toggle{width:37px;height:37px;min-height:37px}
 .hero{grid-template-columns:.86fr 1.14fr;min-height:665px;gap:16px;padding-top:30px;padding-bottom:74px}h1{font-size:99px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:.6px;gap:8px}.hero-copy>.eyebrow>span{width:20px}.dream-word{letter-spacing:9px}.encounter-word{margin-left:-18px}.encounter-word i{vertical-align:11px}.hero-kicker{font-size:11px;letter-spacing:4px;margin-bottom:20px}.hero-description{font-size:14px;letter-spacing:.5px}.primary-link{font-size:11px;gap:21px;padding-inline:20px;margin-top:24px}.hero-footnote{font-size:8px;letter-spacing:.2px;gap:7px}.hero-art{height:510px;border-radius:80px 80px 30px 30px}.hero-art:before{inset:10px;border-radius:70px 70px 20px 20px}.scene-caption{font-size:7px;letter-spacing:.7px;top:23px}.scene-caption>span:first-child{font-size:10px;letter-spacing:2px}.vertical-poem{right:20px;font-size:10px;letter-spacing:5px}.scene-bottom{bottom:23px}.scene-bottom button{font-size:9px}.threshold{padding-inline:22px;min-height:114px}.threshold p{font-size:16px;letter-spacing:1px}.threshold-index{font-size:8px;letter-spacing:1px}.section-space{padding-top:95px;padding-bottom:85px}.section-top{margin-bottom:43px}.section-en{font-size:8px;letter-spacing:1px}h2{font-size:42px}.dream-score{padding-inline:27px}.weiyan-grid{gap:40px}.portrait-composition{padding:26px 27px 42px 26px}.portrait-composition figure>img{box-shadow:9px 12px 0 #e1e8e6}.weiyan-copy h2{font-size:33px}.bio{font-size:13px;line-height:2.05}.intro-name{font-size:20px}.intro-name>span{font-size:10px}.artist-quote{padding:17px 18px}.artist-quote>span{font-size:11px}.artist-quote small{font-size:10px}.destination-type{display:none}.destination h3{font-size:23px}.destination p{font-size:12px}.meet-section{border-radius:48px 48px 0 0}.footer-note{font-size:7px;letter-spacing:.8px}.footer{gap:20px;font-size:9px}.footer-brand{font-size:12px}.page-coordinate{right:12px;font-size:8px}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 44px)}.header{height:auto;min-height:114px;flex-wrap:wrap;gap:8px 12px;margin-top:16px;padding:12px 14px 9px;border-radius:25px}.brand>span{font-size:17px;letter-spacing:1.3px}.brand small{font-size:8px;letter-spacing:.65px}.brand>img{width:37px;height:37px}.brand{gap:8px}.header-controls{margin-left:auto;gap:6px}.icon-button,.sound-toggle{width:42px;height:42px;min-height:42px}.sound-toggle{padding:10px;justify-content:center}
 nav{order:3;display:flex;width:100%;justify-content:space-between;gap:3px;margin:0;padding-top:7px;border-top:1px solid #c7d6d94d}nav a{font-size:12px;min-height:34px;padding:6px 13px;flex:1}nav a.active:after{width:3px;height:3px;margin-left:5px}
 .hero{grid-template-columns:1fr;gap:0;min-height:0;padding-top:37px;padding-bottom:68px}.hero-copy{padding-left:9px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.3px;gap:12px;margin-bottom:20px}.hero-copy>.eyebrow>span{width:25px}h1{font-size:114px;letter-spacing:3px;margin-bottom:17px}.dream-word{font-size:.52em;letter-spacing:10px;margin-left:5px;margin-bottom:4px}.encounter-word{margin-left:-22px}.encounter-word i{vertical-align:13px}.hero-kicker{font-size:12px;letter-spacing:5px;margin-bottom:22px}.hero-description{font-size:15px;letter-spacing:.7px;line-height:2.1}.primary-link{font-size:12px;gap:30px;min-height:50px;padding-inline:22px;margin-top:25px}.hero-footnote{font-size:10px;letter-spacing:.4px;margin-top:23px;gap:9px}.hero-art{width:100%;height:530px;margin-top:34px;border-radius:90px 90px 32px 32px}.hero-art:before{inset:11px;border-radius:79px 79px 21px 21px}.scene-caption{font-size:9px;letter-spacing:1px;top:25px;left:7%;right:7%}.scene-caption>span:first-child{font-size:12px;letter-spacing:3px}.vertical-poem{font-size:11px;right:22px}.scene-coordinate{display:block;font-size:9px}.scene-bottom{left:7%;right:7%;justify-content:space-between;bottom:26px}.scene-bottom button{font-size:10px}.scroll-cue{left:9px;bottom:21px;font-size:8px}.hero-edition{font-size:7px;letter-spacing:.7px;bottom:29px}.threshold{padding:21px 22px;min-height:117px;border-radius:24px}.threshold p{font-size:15px;line-height:1.8;letter-spacing:.7px}.threshold-index{font-size:8px;letter-spacing:.8px}.threshold-symbol{width:31px}.threshold-symbol .ui-icon{width:31px;height:31px}
 .section-space{padding-block:82px 75px}.section-top{margin-bottom:38px;font-size:10px;letter-spacing:1px;padding-top:17px}.section-en{font-size:7px;letter-spacing:1px;max-width:150px}.echo-heading,.meet-heading{align-items:end;gap:20px;margin-bottom:35px}h2{font-size:40px;letter-spacing:1.5px}.echo-heading>p,.meet-heading>p{font-size:12px;letter-spacing:.3px;margin-right:0;line-height:2}.dream-score{padding:22px 26px 30px;border-radius:30px}.score-label{font-size:8px;letter-spacing:1px}.score-label-right{font-size:10px}.score-art{height:155px}.dream-tabs{margin-bottom:25px}.dream-tabs button{min-width:105px;min-height:45px;font-size:16px;padding-inline:15px}.dream-panel{min-height:188px}.dream-panel p{font-size:22px;letter-spacing:1px}.dream-panel>span:not(.panel-star){font-size:13px}.echo-end>span{font-size:12px;letter-spacing:2px}.text-link{font-size:12px;gap:20px}
 .weiyan-section{padding-top:24px;padding-bottom:85px}.weiyan-grid{grid-template-columns:1fr;gap:42px}.portrait-composition{max-width:380px;padding:28px 39px 46px 31px;margin-top:7px}.portrait-composition figure>img{box-shadow:11px 14px 0 #e1e8e6}.portrait-composition figcaption{font-size:14px;margin-top:27px}.portrait-orbit{inset:0 14px 60px}.portrait-annotation{left:4px;font-size:10px;bottom:30px}.portrait-flower{width:52px;height:52px;right:0;bottom:55px}.weiyan-copy{max-width:490px;margin-inline:auto;padding:0 7px}.weiyan-copy h2{font-size:39px}.weiyan-copy>.eyebrow{font-size:9px}.intro-name{font-size:23px;margin-top:27px}.intro-name>span{font-size:11px}.bio{max-width:none;font-size:14px;line-height:2.1}.artist-quote{padding:18px 21px;margin-top:25px}.artist-quote>span{font-size:13px}.artist-quote small{font-size:11px}.artist-links{gap:12px 25px}.small-link{font-size:11px}
 .meet-section{border-radius:39px 39px 0 0;padding-top:77px;padding-bottom:80px}.meet-heading{margin-bottom:34px}.destination{padding:24px 21px;gap:20px;border-radius:24px}.destination h3{font-size:24px;letter-spacing:1px}.destination h3 small{font-size:10px}.destination p{font-size:12px;letter-spacing:0}.destination-number{min-width:39px;gap:9px}.destination-symbol{width:39px;height:39px;border-radius:14px}.destination-symbol .ui-icon{width:22px;height:22px}.destination-arrow{width:40px;height:40px;margin-left:auto}.destination-arrow .ui-icon{width:20px;height:20px}
 .farewell{padding-block:86px 80px}.farewell h2{font-size:45px;letter-spacing:2px}.farewell-emblem>img{width:55px;height:55px}.farewell-emblem{gap:24px}.farewell-emblem>span{width:45px}.farewell>p:not(.eyebrow){font-size:13px}.farewell-actions{margin-top:25px;gap:20px 25px}.footer{min-height:133px;align-content:center;gap:14px;flex-wrap:wrap;font-size:9px}.footer-brand{font-size:13px}.footer>p{margin:0 0 0 auto}.footer-note{font-size:8px;width:100%;padding-left:35px;letter-spacing:1px}.page-coordinate{display:none}
 .intro-halo{width:310px;height:310px}.intro-aura{width:440px;height:440px}.intro-symbol{width:52px;height:52px;left:calc(50% - 26px);top:calc(43% - 131px)}.intro-thought{font-size:12px;letter-spacing:2px;top:calc(43% + 77px)}.intro-edition{font-size:9px;letter-spacing:1.4px;bottom:26%}.intro-music{bottom:max(7.5%,57px);gap:11px}.intro-music>span:first-child{font-size:10px;letter-spacing:1px}.intro-play{min-height:49px;min-width:176px}.intro-bar{font-size:9px}.intro-skip{right:21px;bottom:18px;min-height:38px;padding:7px 13px;font-size:10px;gap:10px}.intro-score{top:calc(43% - 128px);height:256px}.intro-dust i:nth-child(n+5){display:none}
}
@media(max-width:520px){
 .wrap{width:calc(100% - 40px)}.header{min-height:110px;margin-top:13px;padding:11px 12px 8px;gap:7px}.brand>span{font-size:16px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:.55px}.brand>img{width:33px;height:33px}.brand{gap:7px}.header-controls{gap:5px}.icon-button,.sound-toggle{width:40px;height:40px;min-height:40px}nav a{font-size:11px;padding-inline:8px;min-height:34px}
 .hero{padding-top:29px}.hero-copy{padding-left:6px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:18px}h1{font-size:99px;margin-bottom:12px;letter-spacing:2px}.dream-word{font-size:.55em;line-height:1.3;letter-spacing:9px;margin-left:5px;margin-bottom:2px}.encounter-word{margin-left:-20px}.encounter-word i{vertical-align:11px}.hero-kicker{font-size:11px;margin-bottom:15px;letter-spacing:4px}.hero-description{font-size:14px;line-height:2.05}.primary-link{font-size:11px;min-height:48px;margin-top:21px;padding:12px 21px;gap:28px}.hero-footnote{display:none}.hero-art{height:390px;margin-top:30px;border-radius:76px 76px 28px 28px}.hero-art:before{inset:9px;border-radius:67px 67px 19px 19px}.scene-caption{font-size:8px;letter-spacing:.6px;top:22px}.scene-caption>span:first-child{font-size:11px;letter-spacing:2px}.vertical-poem{font-size:10px;letter-spacing:5px;right:18px}.scene-coordinate{display:none}.scene-bottom{justify-content:center;bottom:21px}.scene-bottom button{font-size:10px;min-height:38px;padding:8px 12px;gap:5px}.scroll-cue{font-size:7px;letter-spacing:1px}.hero-edition{font-size:6px;letter-spacing:.6px;bottom:28px}.threshold{padding:18px 16px;gap:13px;min-height:124px}.threshold-index{font-size:7px;letter-spacing:.4px;align-self:flex-start;margin-top:11px}.threshold p{font-size:13px;letter-spacing:.5px}.threshold-symbol{width:28px}.threshold-symbol .ui-icon{width:28px;height:28px}.mobile-only{display:block}
 .section-space{padding-block:74px 66px}.section-top{font-size:9px;letter-spacing:.6px;margin-bottom:32px;padding-top:16px;gap:15px}.section-en{font-size:6px;letter-spacing:.7px;max-width:132px}.echo-heading,.meet-heading{display:block;margin-bottom:30px}h2{font-size:37px;line-height:1.6;letter-spacing:1px}.echo-heading>p,.meet-heading>p{font-size:12px;letter-spacing:.4px;margin:15px 0 0;line-height:1.9}.dream-score{padding:19px 17px 28px;border-radius:28px}.score-label{font-size:7px;letter-spacing:.7px;gap:6px}.score-label img{width:24px;height:24px}.score-label-right{display:none}.score-art{height:138px}.dream-tabs{width:100%;padding:4px;gap:2px;margin-bottom:24px}.dream-tabs button{flex:1;min-width:0;font-size:15px;padding:9px 7px;letter-spacing:1px}.dream-tabs button span{font-size:8px;margin-right:5px}.dream-panel{min-height:190px;padding-inline:0}.dream-panel p{font-size:19px;letter-spacing:.2px;line-height:1.9;margin-top:17px}.dream-panel>span:not(.panel-star){font-size:12px;letter-spacing:.2px;line-height:1.9;max-width:265px;margin-inline:auto}.dream-panel .note-caption{font-size:8px!important;margin-top:22px}.echo-end{gap:15px;align-items:center;flex-wrap:wrap;margin-top:20px}.echo-end>span{font-size:11px;letter-spacing:1px}.text-link{font-size:11px;gap:17px;min-height:42px}
 .weiyan-section{padding-top:25px;padding-bottom:73px}.weiyan-grid{gap:37px}.portrait-composition{max-width:325px;padding:25px 36px 41px 31px;margin-top:1px}.portrait-composition figcaption{font-size:13px;margin-top:26px}.portrait-composition figure>img{border-radius:48% 48% 23px 23px;box-shadow:9px 12px 0 #e1e8e6}.portrait-composition figcaption>span:last-child{font-size:8px}.portrait-orbit{inset:2px 11px 54px}.portrait-annotation{font-size:9px;left:4px;bottom:24px}.portrait-flower{width:46px;height:46px;right:0;bottom:48px}.weiyan-copy{padding-inline:5px}.weiyan-copy h2{font-size:36px;letter-spacing:1px}.weiyan-copy>.eyebrow{font-size:8px;letter-spacing:1.6px}.intro-name{font-size:21px;margin:25px 0 19px}.intro-name>span{font-size:10px;letter-spacing:.2px;margin-left:4px}.bio{font-size:14px;line-height:2.05}.artist-quote{padding:17px 18px}.artist-quote>span{font-size:12px;line-height:1.9}.artist-quote small{font-size:10px}.artist-links{gap:10px 20px}.small-link{font-size:10px}
 .meet-section{border-radius:32px 32px 0 0;padding-top:68px;padding-bottom:70px}.meet-section:before{width:480px;height:480px;right:-290px;top:260px}.meet-section:after{width:390px;height:390px;right:-240px;top:300px}.meet-heading{margin-bottom:32px}.destination-list{gap:12px}.destination{gap:13px;padding:23px 16px;border-radius:22px}.destination-number{min-width:31px;gap:8px;font-size:8px;letter-spacing:.5px}.destination-symbol{width:32px;height:32px;border-radius:11px}.destination-symbol .ui-icon{width:19px;height:19px}.destination h3{font-size:20px;letter-spacing:.4px;line-height:1.7;margin-bottom:5px}.destination h3 small{display:block;margin:2px 0 6px;font-size:9px;letter-spacing:.6px}.destination p{font-size:11px;line-height:1.9}.destination-arrow{width:34px;height:34px;margin-left:auto}.destination-arrow .ui-icon{width:17px;height:17px}
 .farewell{padding-block:76px 72px}.farewell h2{font-size:39px;margin:17px 0 13px;letter-spacing:1.5px}.farewell>.eyebrow{font-size:8px;letter-spacing:2px}.farewell>p:not(.eyebrow){font-size:12px;letter-spacing:.6px}.farewell-emblem{gap:20px;margin-bottom:23px}.farewell-emblem>img{width:50px;height:50px}.farewell-emblem>span{width:37px}.farewell-actions{gap:16px 23px;margin-top:25px}.replay-intro{font-size:10px;min-height:42px;padding-inline:14px}.footer{min-height:134px;gap:12px;font-size:8px}.footer-brand{font-size:12px;letter-spacing:1px}.footer-brand img{width:25px;height:25px}.footer-note{font-size:7px;padding-left:33px;letter-spacing:.8px}
 .intro-halo{width:280px;height:280px}.intro-symbol{width:49px;height:49px;left:calc(50% - 24px);top:calc(43% - 122px)}.intro-thought{font-size:11px;letter-spacing:1.4px;top:calc(43% + 71px)}.intro-edition{font-size:8px;letter-spacing:1px;bottom:26%}.intro-score{top:calc(43% - 115px);height:230px}.intro-music>span:first-child{font-size:10px}.intro-bar{font-size:8px;letter-spacing:.4px}.intro-play{min-height:48px;font-size:11px;min-width:170px}.intro-skip{font-size:9px;min-height:36px;right:19px;bottom:18px}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 32px)}.header{padding-inline:10px;gap:6px}.brand{gap:5px}.brand>img{width:29px;height:29px}.brand>span{font-size:14px}.brand small{font-size:6px;letter-spacing:.5px}.header-controls{gap:4px}.icon-button,.sound-toggle{width:37px;height:37px;min-height:37px}nav a{font-size:10px;padding-inline:6px}.hero{padding-top:26px}.hero-copy>.eyebrow{font-size:6px;letter-spacing:.7px;gap:9px}h1{font-size:86px}.dream-word{letter-spacing:8px}.encounter-word{margin-left:-18px}.encounter-word i{vertical-align:9px}.hero-kicker{font-size:10px;letter-spacing:3.5px}.hero-description{font-size:13px}.primary-link{font-size:10px;gap:24px;padding-inline:19px}.hero-art{height:352px;border-radius:68px 68px 26px 26px}.hero-art:before{border-radius:59px 59px 17px 17px}.scene-caption{font-size:7px;top:20px}.scene-caption>span:first-child{font-size:10px}.scene-bottom button{font-size:9px;padding-inline:10px;gap:3px}.scene-bottom{bottom:18px}.vertical-poem{right:16px;font-size:9px}.hero-edition{font-size:5px;letter-spacing:.5px}.threshold-index{display:none}.threshold{justify-content:center;padding-inline:15px;gap:16px;min-height:112px}.threshold p{font-size:12px}.section-en{max-width:110px;font-size:5px;letter-spacing:.6px}.section-number{font-size:9px}h2,.weiyan-copy h2{font-size:32px}.dream-score{padding-inline:13px}.score-label{font-size:6px;letter-spacing:.6px}.dream-tabs button{font-size:14px;padding-inline:6px}.dream-tabs button span{font-size:7px;margin-right:4px}.dream-panel p{font-size:17px}.dream-panel>span:not(.panel-star){font-size:11px}.echo-end>span{font-size:10px}.text-link{font-size:10px}.bio{font-size:13px}.intro-name{font-size:20px}.intro-name>span{font-size:9px}.artist-quote{padding-inline:15px}.artist-quote>span{font-size:11px}.artist-links{gap:9px 17px}.small-link{font-size:9px}.destination{padding:21px 13px;gap:10px}.destination-number{min-width:28px}.destination-symbol{width:29px;height:29px;border-radius:10px}.destination-symbol .ui-icon{width:17px;height:17px}.destination h3{font-size:18px;letter-spacing:0}.destination p{font-size:10px}.destination-arrow{width:30px;height:30px}.destination-arrow .ui-icon{width:16px;height:16px}.farewell h2{font-size:35px}.farewell>p:not(.eyebrow){font-size:11px}.farewell-actions{gap:14px 17px}.footer>p{width:100%;margin:0;padding-left:33px}.footer-note{font-size:6px}.intro-word{font-size:64px}.intro-thought{font-size:10px;letter-spacing:1px}.intro-skip{right:16px;bottom:16px}
}
@media(max-height:730px){.intro-edition{display:none}}
@media(max-height:580px){
 .intro-halo{width:240px;height:240px}.intro-symbol{width:43px;height:43px;left:calc(50% - 21px);top:calc(43% - 103px)}.intro-thought{top:calc(43% + 58px);font-size:10px;letter-spacing:1px}.intro-aura{width:330px;height:330px}.intro-score{height:210px;top:calc(43% - 105px)}.intro-music{bottom:5.5%;gap:7px}.intro-music>span:first-child{display:none}.intro-play{min-height:39px;padding-block:8px;min-width:155px;font-size:10px}.intro-bar{font-size:8px}.intro-skip{bottom:16px;min-height:34px}
}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition-duration:0s!important}
.motion-paused .reveal{transform:none}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .dream-intro,.replay-intro,.score-traveler{display:none!important}
 .js .reveal,.music-staging .header,.music-staging .opening,.music-staging .hero-art,.music-staging .encounter-word,.music-staging .dream-word{opacity:1!important;transform:none!important}
 .destination:hover,.destination:hover .destination-arrow,.destination:hover .destination-symbol,.primary-link:hover,.primary-link:hover .arrow{transform:none}
}

/* A fixed manuscript page: a diagonal corner rolls over a cylindrical curl.
   Twelve connected bands keep the unturned side anchored; the paper has two faces. */
.intro-book{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;overflow:hidden;contain:layout style}
.book-paper-bed{position:absolute;inset:0;opacity:.4;background:linear-gradient(135deg,#edf2f2,#faf9f0 48%,#e7eef1)}
.book-flight{position:absolute;inset:0;perspective:1900px;perspective-origin:50% 50%;opacity:0;pointer-events:none}
.book-sheet{position:absolute;left:50%;top:50%;width:1200px;height:1200px;transform:translate3d(-50%,-50%,0) rotateZ(-45deg);transform-style:preserve-3d;transform-origin:50% 50%;--paper-width:1200px}
.book-band{position:absolute;left:0;top:0;height:100%;width:8.4%;transform-origin:50% 50%;transform-style:preserve-3d;will-change:transform;font-style:normal}
.book-front,.book-back{position:absolute;inset:0;display:block;border-block:1px solid #8fa8b957;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-size:var(--paper-width) 100%;background-repeat:repeat-x}
.book-front{transform:translateZ(.5px);background-image:linear-gradient(115deg,#edf3f4 0,#fffdf5 42%,#f7f8ef 74%,#dce8ee 100%)}
.book-back{transform:rotateY(180deg) translateZ(.5px);background-image:linear-gradient(115deg,#cfdee7 0,#e5edf0 42%,#ebf0ee 74%,#c3d5e0 100%)}
.book-band:nth-child(2) .book-front,.book-band:nth-child(2) .book-back{border-left:1px solid #8fa8b97a}
.book-band:last-child .book-front,.book-band:last-child .book-back{border-right:1px solid #8fa8b97a}
.book-contact{position:absolute;left:0;top:0;height:100%;width:200px;background:linear-gradient(90deg,transparent,#476b8747 57%,transparent);transform-origin:0 50%;will-change:transform,opacity;opacity:0;pointer-events:none}
@media(max-width:520px){.book-flight{perspective:1250px}}
@media(prefers-reduced-motion:reduce){.intro-book{display:none}}

/* Quiet variations in blue: the titles carry two close, unhurried hues. */
:root{--ink:#3c617d;--gold:#9db6ca;--muted:#718b9d}
.dream-word,.intro-word{background:linear-gradient(110deg,#7897ba 8%,#8d9ebd 92%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.encounter-word{background:linear-gradient(110deg,#5d88aa 8%,#79a5b8 92%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.encounter-word i{color:#a5bdd1;-webkit-text-fill-color:#a5bdd1}
.primary-link,.intro-play{background:#dfedf7;color:#3b627f;border-color:#bbd1e3}
.primary-link .arrow,.intro-play>.ui-icon{color:#6c94b2}
.primary-link:before{background:#cbdfee}
.primary-link:hover,.intro-play:hover{background:#d0e3f1;color:#355d7b;border-color:#a6c2d9}
.meet-section{background:linear-gradient(145deg,#edf4f7,#deebf4 67%,#e7f0f5);color:#3c617d}
.meet-section:before{border-color:#9bb6cb28}.meet-section:after{border-color:#9bb6cb30}
.meet-section .section-top{border-color:#a6bdcf66}
.meet-section .section-number,.meet-section .section-en,.meet-heading>p{color:#6d8a9f}
.meet-section .italic-accent{color:#7fa0b9}
.destination{background:#f9fcfba8;border-color:#b4cbd959;color:#3c617d}
.destination p,.destination h3 small,.destination-type,.destination-number{color:#6d899c}
.destination-symbol,.destination-arrow{background:#e8f1f7;color:#7899b1;border-color:#b7cbdc80}
.destination:hover{color:#3b6584;background:#f9fcfc}
.destination:hover .destination-symbol,.destination:hover .destination-arrow{color:#4f7b9d;border-color:#9fbcd2;background:#d9e9f4}
.replay-intro{background:#e7f0f6;color:#6588a2;border-color:#b8ccdd}
button:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible{outline-color:#739bb9}

/* A quiet left title with a free star field to its right. */
.hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:800px;padding:40px 0 85px;gap:30px;isolation:isolate;overflow:clip}
.hero-copy{padding-left:5px;max-width:none;width:100%;justify-self:start;text-align:left;z-index:2}
.hero-copy>.eyebrow{justify-content:flex-start;font-size:9px;letter-spacing:1.6px;margin-bottom:24px}
.hero h1{font-size:clamp(110px,10vw,140px);margin-bottom:20px;line-height:1.13}
.dream-word{margin-left:7px;margin-right:0;letter-spacing:11px;margin-bottom:8px;font-size:.54em}
.encounter-word{width:fit-content;margin-left:-22px;margin-right:0;letter-spacing:4px}.encounter-word i{font-size:.51em;vertical-align:15px}
.hero-kicker{margin:0 0 26px 5px;letter-spacing:5px}.hero-description{font-size:16px;line-height:2.15;letter-spacing:1px;margin-left:5px}
.primary-link{margin:27px 0 0 5px}.hero-footnote{justify-content:flex-start;margin-left:5px;font-size:10px}
.hero-art{position:relative;inset:auto;z-index:0;width:100%;height:630px;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;contain:layout paint;pointer-events:auto;overflow:hidden}
.hero-art:before,.hero-art:after{display:none}.hero-art canvas{width:100%;height:100%}
.scene-bottom{position:absolute;left:auto;right:0;bottom:20px;z-index:3;pointer-events:auto;justify-content:flex-end}
.scene-bottom button{background:#f4f8fa9c;border-color:#c4d6e38c;color:#7694aa;font-size:10px}
.scroll-cue{left:5px;bottom:28px;z-index:3}.hero-edition{display:none}
@media(max-width:1150px){.hero{gap:20px;min-height:750px}.hero h1{font-size:118px}.hero-art{height:575px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.8px}}
@media(max-width:920px){.hero{gap:16px;min-height:665px;grid-template-columns:.86fr 1.14fr;padding-top:30px;padding-bottom:74px}.hero h1{font-size:99px}.hero-art{height:510px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:.6px}.hero-description{font-size:14px}.dream-word{letter-spacing:9px}.encounter-word{margin-left:-18px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:0;min-height:0;padding-top:37px;padding-bottom:68px}.hero-copy{padding-left:9px}.hero h1{font-size:114px}.dream-word{font-size:.52em;letter-spacing:10px;margin-left:5px;margin-bottom:4px}.encounter-word{margin-left:-22px;letter-spacing:3px}.encounter-word i{vertical-align:13px}.hero-art{height:380px;margin-top:15px!important}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.3px}.hero-description{font-size:15px}.hero-kicker{font-size:12px;letter-spacing:5px}.hero-footnote{font-size:10px}.scene-bottom{right:0;bottom:16px}.scene-bottom button{font-size:9px;min-height:36px;padding:7px 11px}.scroll-cue{font-size:7px;gap:8px;letter-spacing:.5px}}
@media(max-width:520px){.hero{padding-top:29px}.hero h1{font-size:99px;letter-spacing:2px;margin-bottom:12px}.dream-word{font-size:.55em;letter-spacing:9px;margin-bottom:2px}.encounter-word{margin-left:-20px}.encounter-word i{vertical-align:11px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1px}.hero-description{font-size:14px;line-height:2.05}.hero-kicker{font-size:11px;letter-spacing:4px;margin-bottom:15px}.hero-footnote{display:none}.hero .primary-link{font-size:11px;min-height:48px}.hero-art{height:340px}.scene-bottom button{font-size:8px;gap:4px;padding-inline:9px}.scene-bottom .burst-symbol .ui-icon{width:15px;height:15px}}
@media(max-width:360px){.hero{padding-top:26px}.hero h1{font-size:86px}.hero-copy>.eyebrow{font-size:6px;letter-spacing:.7px}.hero-description{font-size:13px}.hero-art{height:310px}.scene-bottom button{font-size:7px}.scene-bottom button>.ui-icon{display:none}}
