@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+SC:wght@400;500;600;700;800;900&family=Noto+Sans+KR:wght@400;600;800&display=swap');
:root{--bg:#090a10;--panel:#11131b;--mint:#b6ff63;--muted:#8d909f;--border:#252630}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:#f4f3f8;font-family:Inter,'Noto Sans SC','Noto Sans KR',sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:6px}header{height:98px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16;background:#0a0b12ee;position:relative;z-index:5}.brand{display:flex;gap:11px;align-items:center;font-weight:900;font-size:26px;letter-spacing:-1px}.brand-icon{color:var(--mint);font-size:42px;font-style:italic;line-height:1}.brand-cn{font-size:18px;margin-left:9px}.brand small{display:block;font-size:8px;letter-spacing:3.3px;font-weight:500;margin-top:3px}nav{display:flex;gap:35px;font-size:13px;color:#b5b5c2}nav a:hover{color:var(--mint)}.header-right{display:flex;align-items:center;gap:25px}.languages{display:flex;gap:5px}.languages button{border:0;background:none;color:#858594;font-size:11px;padding:7px}.languages .active{color:var(--mint)}.button{border:1px solid var(--mint);background:var(--mint);color:#101609;padding:18px 27px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#d0ff9b;transform:translateY(-2px)}.button.small{padding:12px 21px;font-size:12px}.hero{height:730px;min-height:640px;position:relative;isolation:isolate;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 73% 36%,#352258 0,transparent 45%),linear-gradient(120deg,#090a10 25%,#111120 70%,#132528)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090a109c,transparent 80%),linear-gradient(0deg,#090a10,transparent 30%)}.aurora{position:absolute;width:55%;height:110%;right:2%;top:-40%;transform:rotate(-30deg);background:linear-gradient(90deg,transparent,#5844cd18,#7054e96b,#83dfc243,transparent);filter:blur(45px);animation:aurora 12s ease-in-out infinite alternate}.orb{position:absolute;width:380px;height:380px;border:1px solid #ad99ff30;border-radius:50%;right:14%;top:60px;box-shadow:0 0 80px #7450e521,inset 0 0 70px #846af512}.orb:after{content:'';position:absolute;inset:24px;border:1px solid #c4a6ff12;border-radius:50%}.mountains{position:absolute;bottom:0;right:-2%;width:80%;height:85%;clip-path:polygon(0 100%,0 88%,5% 82%,7% 63%,10% 64%,12% 46%,14% 44%,17% 65%,20% 59%,23% 70%,26% 41%,28% 40%,30% 16%,32% 12%,35% 17%,37% 53%,40% 57%,42% 42%,44% 40%,46% 13%,48% 11%,50% 13%,51% 35%,53% 34%,55% 57%,58% 51%,61% 27%,63% 26%,66% 56%,68% 62%,70% 38%,73% 36%,75% 15%,77% 14%,80% 39%,82% 70%,84% 63%,87% 38%,89% 33%,91% 56%,94% 57%,97% 45%,100% 48%,100% 100%);background:repeating-linear-gradient(92deg,transparent 0 13px,#b48ae30e 14px 15px),linear-gradient(120deg,#131629,#39304d 50%,#1e3c40);filter:drop-shadow(0 0 10px #bd90ef)}.mountains.back{opacity:.65;transform:translate(35px,-30px) scale(1.08);background:linear-gradient(100deg,#211d38,#656075 60%,#365553)}.mountains.front{height:60%;right:-10%;background:repeating-linear-gradient(88deg,transparent 0 12px,#adcdb509 14px 15px),linear-gradient(100deg,#090c17,#171827 65%,#162229)}.grid{position:absolute;bottom:-200px;left:20%;width:100%;height:400px;background-image:linear-gradient(#a3f96e18 1px,transparent 1px),linear-gradient(90deg,#a3f96e18 1px,transparent 1px);background-size:50px 50px;transform:perspective(260px) rotateX(55deg)}canvas{position:absolute;inset:0;width:100%;height:100%}.hero-content{padding:90px 6% 0;position:relative}.eyebrow{font-size:10px;letter-spacing:2px;display:flex;gap:12px;align-items:center;font-weight:600}.dot{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px var(--mint)}.line{width:25px;height:1px;background:#777}.hero .eyebrow{color:#b6b5c5;font-size:9px}h1{font-size:clamp(55px,6.8vw,99px);line-height:1.2;letter-spacing:-4px;margin:39px 0 24px;font-weight:900}.outline{color:transparent;-webkit-text-stroke:1px #d9dce7}.hero-star{display:inline-block;font-size:67px;color:var(--mint);margin-left:25px;font-weight:400;vertical-align:middle}.hero-description{max-width:460px;color:#a4a4b6;font-size:14px;line-height:1.9;white-space:pre-line}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:34px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;background:none;border:none;color:#e9e9ef;padding:0}.circle{width:33px;height:33px;border:1px solid #555662;border-radius:50%;display:inline-grid;place-items:center}.hero-tags{display:flex;gap:14px;align-items:center;font-size:8px;letter-spacing:1.8px;color:#747684;margin-top:36px}.hero-tags i{width:3px;height:3px;border-radius:50%;background:#626773}.vertical-label{position:absolute;right:28px;top:240px;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;color:#a4a6ba}.hero-bottom{position:absolute;bottom:27px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;color:#9294a5}.sound-bars{display:flex;align-items:center;gap:3px;height:20px}.sound-bars i{width:2px;height:15px;background:var(--mint);animation:bars 1s infinite alternate}.sound-bars i:nth-child(2n){height:7px;animation-delay:.5s}.sound-bars span{margin-left:10px}.ticker{overflow:hidden;background:var(--mint);color:#131d0b;padding:16px 0;font-weight:800;font-size:13px;letter-spacing:1.5px;white-space:nowrap}.ticker>div{display:flex;gap:48px;align-items:center;width:max-content;animation:ticker 40s linear infinite}.ticker span{font-size:23px;line-height:1}.section{padding:90px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.mint{color:var(--mint)}h2{font-size:36px;letter-spacing:-1px;line-height:1.4;margin:16px 0 0}.section-heading>p{max-width:340px;color:var(--muted);font-size:12px;line-height:1.9;margin:0}.features{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border)}.features article{padding:33px;position:relative}.features article+article{border-left:1px solid var(--border)}.feature-icon{font-size:35px;color:var(--mint);line-height:1}.number{position:absolute;right:28px;top:35px;font-size:10px;color:#5b5f70}.features h3{font-size:18px;margin:26px 0 10px}.features p{font-size:12px;line-height:1.9;color:var(--muted);margin:0;max-width:290px}.rooms{background:#0d0e15;border-top:1px solid #1a1c25;border-bottom:1px solid #1a1c25}.filters{display:flex;gap:8px}.filters button{background:transparent;border:1px solid var(--border);color:#9698a5;padding:10px 17px;font-size:11px}.filters button.active{background:var(--mint);border-color:var(--mint);color:#142109}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room[hidden]{display:none}.room-image{height:255px;position:relative;overflow:hidden;background:linear-gradient(135deg,#321a66,#c22870)}.room-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.65) saturate(.7);transition:transform .6s}.room:hover img{transform:scale(1.06)}.room-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#11132066,transparent 60%);pointer-events:none}.room-two{background:linear-gradient(135deg,#161b74,#9553d8)}.room-three{background:linear-gradient(135deg,#116a52,#275563)}.room-tag{position:absolute;left:17px;top:18px;font-size:8px;letter-spacing:1.3px;padding:7px 10px;background:#b6ff63;color:#182209;font-weight:700}.room-tag.purple{background:#b7a0ed;color:#20152b}.room-index{position:absolute;bottom:17px;right:17px;font-size:34px;font-weight:800;color:#ffffff80;z-index:1}.room-info{display:flex;justify-content:space-between;align-items:center;padding-top:22px}.room-en{font-size:9px;letter-spacing:2px;color:var(--muted)}.room-info h3{font-size:22px;margin:8px 0}.room-info p{font-size:11px;color:var(--muted);margin:0}.room-book{width:38px;height:38px;border:1px solid #454653;background:transparent;color:#dcdde6;font-size:20px}.room-book:hover{background:var(--mint);color:#111}.room-note{font-size:10px;color:#6f7180;margin:28px 0 0}.night{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.night-visual{height:390px;background:radial-gradient(ellipse at center,#373128,#191522 45%,#10111b 70%);display:grid;place-items:center;position:relative;overflow:hidden}.night-visual:before{content:'';position:absolute;inset:25px;border:1px solid #ffffff12}.vinyl{height:300px;width:300px;border-radius:50%;background:repeating-radial-gradient(circle,#15151e 0 2px,#33313e 3px,#14141b 4px);display:grid;place-items:center;box-shadow:15px 15px 40px #000a;animation:spin 35s linear infinite}.vinyl-label{width:125px;height:125px;background:var(--mint);color:#1a2414;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:23px;font-weight:900}.vinyl-label small{font-size:7px;letter-spacing:2px;margin-top:3px}.vinyl-label span{font-size:33px;margin-top:6px}.visual-caption{position:absolute;bottom:18px;font-size:8px;letter-spacing:2px;color:#9996a6}.night-copy h2{font-size:41px;white-space:pre-line}.night-copy>p{color:var(--muted);font-size:13px;line-height:2;margin:24px 0}.night-labels{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.night-labels span{padding:7px 11px;border:1px solid #30313c;font-size:10px;color:#bdbecc}.cta{text-align:center;background:radial-gradient(ellipse at 50% 130%,#324222 0,transparent 63%),#111419;border-block:1px solid #292c30;position:relative}.cta .eyebrow{justify-content:center;color:#9fa998}.cta h2{font-size:48px;margin:24px 0 30px}.cta-coordinates{font-size:8px;letter-spacing:3px;color:#697367;margin-top:38px}footer{padding:38px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{transform:scale(.8);transform-origin:left}footer p{max-width:230px;font-size:10px;line-height:1.8;color:#747786}footer>span,footer>a:last-child{font-size:8px;letter-spacing:1px;color:#747786}dialog{background:#13151e;color:#fff;border:1px solid #424750;width:min(510px,calc(100% - 30px));padding:35px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}.close{position:absolute;right:15px;top:10px;background:none;border:0;color:#ccc;font-size:30px}.dialog-intro{font-size:12px;line-height:1.8;color:var(--muted)}form{display:grid;gap:16px;margin-top:24px}form label{display:grid;gap:8px;font-size:12px;color:#b8bac6}input,select{width:100%;min-width:0;background:#0a0c13;color:#eee;border:1px solid #353742;padding:12px;font:inherit;color-scheme:dark}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}#form-result{color:var(--mint);font-size:12px;line-height:1.8}@keyframes bars{to{transform:scaleY(.4)}}@keyframes aurora{to{transform:rotate(-17deg) translateX(60px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ticker{to{transform:translateX(-25%)}}@media(min-width:1500px){header,.section,footer{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:900px){nav{gap:18px}.header-right{gap:12px}.hero{height:700px}.hero-content{padding-top:95px}.night{gap:35px}.night-copy h2{font-size:33px}.room-image{height:210px}.features article{padding:24px}footer{flex-wrap:wrap}.hero-star{font-size:50px}.hero .eyebrow{letter-spacing:1px}.cta h2{font-size:38px}}@media(max-width:620px){header{height:80px;padding-inline:5%}.brand{font-size:21px}.brand-icon{font-size:34px}.brand-cn{font-size:14px}.brand small{font-size:6px;letter-spacing:2px}nav{display:none}.header-right .small{display:none}.languages button{font-size:12px;padding:8px}.hero{height:700px;min-height:0}.hero-content{padding:80px 6% 0}.hero .eyebrow{font-size:8px;gap:8px}.hero .line{display:none}h1{font-size:57px;letter-spacing:-2px;margin-top:42px}.hero-star{font-size:38px;margin-left:12px}.hero-description{font-size:12px;max-width:300px}.hero-actions{gap:20px}.hero-actions .button{padding:16px 20px;gap:20px}.hero-tags{font-size:6px;gap:8px;letter-spacing:1px}.hero-bottom{font-size:6px;letter-spacing:1px}.hero-bottom .sound-bars{display:none}.vertical-label{display:none}.mountains{width:130%;opacity:.7;right:-45%}.orb{right:-35%;width:370px;height:370px}.aurora{width:110%;right:-45%}.section{padding:60px 6%}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}h2{font-size:29px}.features{grid-template-columns:1fr}.features article{padding:27px}.features article+article{border-left:0;border-top:1px solid var(--border)}.features h3{margin-top:18px}.features p{max-width:none}.room-grid{grid-template-columns:1fr;gap:35px}.room-image{height:265px}.night{grid-template-columns:1fr;gap:35px}.night-visual{height:330px}.vinyl{width:260px;height:260px}.night-copy h2{font-size:34px}.cta h2{font-size:32px}.cta .eyebrow{font-size:8px;letter-spacing:1.5px}footer{gap:15px;padding:28px 6%}footer p{max-width:180px}footer>span{font-size:7px}dialog{padding:28px 22px}html[lang=en] h1{font-size:52px}html[lang=ko] h1{font-size:49px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* International friends hero: preserve readable copy while showing the celebration. */
.hero-art{background:#10101b url('assets/international-friends.png') center center/cover no-repeat}
.hero-art:after{background:linear-gradient(90deg,#090a10f5 0%,#090a10da 23%,#090a1080 43%,#090a1010 70%),linear-gradient(0deg,#090a10 0%,transparent 24%,transparent 85%,#090a1033)}
.hero-art .mountains,.hero-art .orb{display:none}
.hero-art .aurora{opacity:.22}
.hero-art .grid{opacity:.35}
@media(max-width:620px){.hero-art{background-size:auto 420px;background-position:66% top}.hero-art:after{background:linear-gradient(0deg,#090a10 36%,#090a10ed 45%,#090a1070 64%,#090a1020 85%,#090a1033)}.hero-content{padding-top:265px}.hero{height:860px}.hero-content h1{margin-top:25px}.hero-description{color:#bcbcca}.hero-tags{margin-top:25px}}

.brand-name{font-size:21px;letter-spacing:0}.visit{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--border)}.visit-details h3{font-size:23px;margin:0 0 18px}.visit-details address{font-style:normal;font-size:16px;color:#c5c7d4;line-height:1.9;max-width:570px}.original-address{font-size:12px;color:var(--muted);line-height:1.8}html[lang="zh-CN"] .original-address{display:none}.visit-details .text-link{margin-top:20px}#address-status{font-size:12px;color:var(--mint);min-height:18px}@media(max-width:900px){.brand-name{font-size:16px}nav{gap:15px}.header-right{gap:10px}}@media(max-width:620px){.visit{grid-template-columns:1fr;gap:30px}.brand-name{font-size:15px}.brand small{letter-spacing:1.3px}.hero .eyebrow{flex-wrap:wrap;max-width:310px}.visit-details address{font-size:14px}}

/* Larger, clearly labelled language controls on desktop and mobile. */
.languages{gap:6px;flex-shrink:0}
.languages button{min-height:44px;min-width:52px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.4;border:1px solid #343643;border-radius:6px;background:#151720;color:#c6c8d3;transition:background .2s,border-color .2s}
.languages button:hover{border-color:var(--mint);color:var(--mint)}
.languages button.active{background:var(--mint);border-color:var(--mint);color:#15210d}
@media(min-width:621px) and (max-width:1100px){header{padding-inline:4%}header nav{gap:14px}header .header-right{gap:12px}header .button.small{display:none}}
@media(max-width:620px){header{height:auto;min-height:80px;flex-wrap:wrap;gap:15px;padding-block:17px}.header-right{margin-left:auto}.languages{gap:5px}.languages button{font-size:13px;padding:10px 11px;min-height:44px;min-width:48px}}
@media(max-width:440px){header{justify-content:center;gap:14px}.header-right{margin-left:0;width:100%;justify-content:center}.languages{width:100%;gap:8px}.languages button{flex:1;font-size:14px;padding:11px 12px}}
