:root{--ink:#233b35;--teal:#12594f;--gold:#b38a4d;--paper:#f8f5ed;color:var(--ink);background:var(--paper);font-family:PingFang SC,Noto Sans Thai,Tahoma,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column}button,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid #007c86;outline-offset:3px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.masthead{position:fixed;inset:0 0 auto;z-index:5;pointer-events:none;padding:clamp(8px,.72vw,16px) 2.3%}.topbar{position:relative;gap:clamp(12px,2vw,36px);min-height:clamp(58px,4.1vw,80px);padding:0 2vw;pointer-events:auto;border:1px solid rgb(255 255 255/64%);border-radius:clamp(14px,1.2vw,22px);background:rgb(253 249 239/76%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 #ffffff50,0 4px 16px #33281124;font-size:clamp(14px,.99vw,18px)}.brand,.topbar{display:flex;align-items:center}.brand{width:clamp(146px,13.3vw,235px);border-right:1px solid #dbd4c6;flex:none}.brand img{display:block;width:clamp(115px,9.6vw,174px);height:clamp(31px,2.65vw,47px);object-fit:contain;object-position:left center}.primary,.tools{display:flex;align-items:center;gap:clamp(10px,1.9vw,37px)}.language,.primary button,.tools button{display:inline-flex;align-items:center;justify-content:center;gap:.42em;min-height:42px;white-space:nowrap}.primary .active{position:relative;color:var(--teal);font-weight:700}.active:after{content:"";position:absolute;bottom:1px;left:0;width:1.75em;height:2px;background:linear-gradient(to right,var(--teal) 76%,transparent 76% 85%,var(--gold) 85%)}.tools{margin-left:auto;gap:clamp(12px,1.48vw,28px)}.icon{width:1em;height:1em;flex:none}.icon:has(path[d="m6 9 6 6 6-6"]){width:.78em}.entry,.solid,.tools .login{background:var(--teal);color:#fff;font-weight:650}.tools .login{padding:0 1.15em;min-height:2.65em;border-radius:10px}.language{position:relative}.language select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.language select:focus{outline:none}.language:has(select:focus-visible) span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em}.guide-wrap{position:relative}.dropdown,.mobile-menu{position:absolute;z-index:2;background:#fffdf8;border:1px solid #ddd5c5;border-radius:14px;box-shadow:0 12px 32px #35240925;padding:8px}.dropdown{top:100%;left:-12px;min-width:13em}.dropdown button,.mobile-menu button{width:100%;justify-content:space-between;display:flex;align-items:center;text-align:start;padding:8px 12px;border-radius:7px}.dropdown small,.mobile-menu small{font-size:.8em;color:#756243}.dropdown button:hover,.mobile-menu button:hover{background:#f1eee4}.mobile-menu,.tools .hamburger{display:none}.stage{position:relative;overflow:hidden;width:100%;aspect-ratio:1671/746;perspective-origin:50% 47.587%;background:#c9987a url(/media/plaza-front.webp) 50%/cover;isolation:isolate;container-type:inline-size}.plane{position:absolute;width:172.352%;height:128.686%;left:-36.146%;top:-14.343%;pointer-events:none}.panorama,.route{display:block;width:100%;height:100%;position:absolute;inset:0}.route path{fill:none;stroke:#e4fffa;stroke-linecap:round;stroke-dasharray:9 91;animation:flow 4s linear infinite}.route .pulse-halo{stroke-width:8;opacity:.45;filter:blur(3px)}.route .pulse{stroke-width:3.2}@keyframes flow{0%{stroke-dashoffset:10}to{stroke-dashoffset:-90}}.anchor{position:absolute;transform:translate(-50%,-50%);white-space:nowrap}.sign{color:#fff9e9;font-size:clamp(17px,1.8cqw,54px);font-weight:750;letter-spacing:.02em;text-shadow:0 1px 3px #492706,0 0 6px #542b0a96;line-height:1.2;padding:3px 5px}.sign.beauty{font-size:clamp(27px,2.65cqw,80px)}.badge{color:#fffaee;font-weight:650;font-size:clamp(12px,.86cqw,25px);padding:.12em .8em;border:1px solid #ead6b6;border-radius:2em;background:#50321fe6;pointer-events:none}.badge,.entry{line-height:1.2}.entry{padding:.42em 1.1em;display:flex;align-items:center;gap:.9em;border:1px solid #d5ead8;box-shadow:0 2px 7px #33211352;border-radius:2em;font-size:clamp(14px,1.03cqw,28px)}.entry:after{content:"";position:absolute;inset:-6px 0}.entry:hover,.login:hover,.solid:hover{background:#0a453e}.hall-strip{display:none}footer{flex:1 1;display:flex;flex-direction:column;color:#e8e6db;background:radial-gradient(ellipse at 2% 0,#454439 0,transparent 46%),linear-gradient(115deg,#253a35,#172f2c 65%,#203732);border-top:1px solid #b6a07c;padding:0 clamp(22px,4.8vw,108px);font-size:clamp(14px,.94vw,18px)}.footer-grid{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(0,1fr));align-items:start;gap:clamp(22px,5vw,100px);width:100%;max-width:1800px;margin:0 auto;padding:clamp(28px,2.5vw,52px) 0 clamp(22px,2.2vw,46px)}.footer-brand{display:block;width:min(80%,264px);height:auto}.consult{margin-top:19px}.consult p{margin:0 0 6px;color:#d2d4c9;line-height:1.5}.consult button{display:inline-flex;align-items:center;gap:12px;text-align:start;color:#f3dcaf;min-height:34px;font-weight:650}.consult button span{display:inline-grid;place-items:center;flex:none;width:1.7em;height:1.7em;border-radius:50%;border:1px solid #b9a782;font-size:.95em;line-height:1}.consult button:hover span{background:#f3dcaf;color:#253a35}.footer-grid>section h2{margin:0 0 10px;color:#f7f2e4;font-size:clamp(16px,1.12vw,21px);font-weight:600;line-height:1.4}.footer-grid>section button{display:block;text-align:start;color:#cbd4cb;min-height:1.95em;line-height:1.45}footer button:hover{color:#fff4d8;text-decoration:underline;text-underline-offset:.28em}footer button:focus-visible{outline-color:#e8c798}.legal{border-top:1px solid #9eaa982f;justify-content:space-between;gap:12px;width:100%;max-width:1800px;margin:auto auto 0;padding:14px 0;color:#b8c4b9;font-size:clamp(12px,.81vw,16px)}.legal,.legal>div{display:flex;align-items:center}.legal>div{flex-wrap:wrap;gap:clamp(12px,1.8vw,32px)}.legal button{min-height:24px}button.solid{border-radius:9px;display:inline-flex;align-items:center;gap:1.1em;padding:.7em 1.1em}dialog{color:var(--ink);width:min(420px,calc(100% - 32px));border:1px solid #e0d6c2;padding:0;border-radius:20px;background:var(--paper);box-shadow:0 18px 80px #122e3066}dialog::backdrop{background:#102d2a77}.panel-copy{padding:25px}.panel-copy h2{margin:0;font-size:24px}.panel-copy p{margin:12px 0 23px;line-height:1.75}.beauty-view{height:150px;background:url(/media/plaza-front.webp) center 43%/200% auto}html[lang=en] .sign:not(.beauty){font-size:clamp(14px,1.36cqw,42px);letter-spacing:0}html[lang=th] .sign:not(.beauty){font-size:clamp(17px,1.58cqw,48px)}@media (min-width:1051px) and (max-width:1290px){.topbar{padding:0 16px}.primary,.tools,.topbar{gap:12px}.brand{width:132px}}@media (max-width:1050px){.topbar{padding:0 18px}.brand{width:auto;border:0}.primary,.tools .login,.tools .utility{display:none}.tools .hamburger{display:flex;width:42px;font-size:22px}.mobile-menu{display:grid;right:0;top:calc(100% + 3px);min-width:230px;max-height:72dvh;overflow:auto}.mobile-menu strong{padding:8px 12px 2px;font-size:13px;color:#725e3c}.footer-grid{grid-template-columns:minmax(190px,1.25fr) repeat(3,minmax(0,1fr));gap:24px}}@media (max-width:759px){.masthead{padding:7px 10px}.topbar{padding:0 12px;min-height:52px}.tools{gap:8px}.stage{aspect-ratio:auto;height:clamp(350px,50svh,500px)}.sign{font-size:20px}.sign.beauty{font-size:27px}.badge{font-size:12px}.hall-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 6px;gap:3px;background:#f8f4e9;border-top:1px solid #e4d7c4}.hall-strip button{border-radius:8px;min-height:45px;padding:4px 1px;font-size:13px;line-height:1.25;font-weight:650;overflow-wrap:anywhere}.hall-strip button[aria-pressed=true]{background:#e0eae0;color:#104f45}.hall-strip small{display:block;font-size:11px;font-weight:500;color:#775c39}footer{padding:0 20px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px;padding:22px 0 18px}.signature{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #9eaa982f;padding-bottom:18px}.footer-brand{min-width:0;width:min(40%,248px)}.consult{margin:0;flex:0 1 190px}.consult p{font-size:12px}.footer-grid>section h2{font-size:15px;margin-bottom:8px}.footer-grid>section button{font-size:14px;min-height:34px}.legal{align-items:start;flex-direction:column;gap:3px;padding:14px 0}}@media (max-width:540px){.signature{display:grid;gap:15px}.footer-brand{width:min(80%,228px)}.consult{display:flex;align-items:center;justify-content:space-between;gap:12px}.consult p{margin:0}.consult button{flex-shrink:0}}@media (prefers-reduced-motion:reduce){.route path{animation:none;opacity:0}}.plaza-page{display:flex;flex-direction:column;min-height:100svh}.plaza-page.entering :is(.masthead,.anchor,.hall-strip){opacity:0;transition:opacity .14s ease-out}body:has(.entrance-trip){overflow:hidden}.entrance-trip{position:fixed;inset:0;z-index:10;pointer-events:auto}.entrance-trip>button{position:absolute;bottom:18px;right:20px;background:#2e2118cc;border:1px solid #e3c79b9c;color:#fff3de;border-radius:2em;padding:9px 15px}.arrival-view{position:absolute;inset:0;background:#463227 url(/media/beauty-lobby.webp) 50%/cover no-repeat;animation:arrive-at-desk 1.12s both;transform-origin:38% 65%}@keyframes arrive-at-desk{0%,48%{opacity:0;transform:scale(1.045)}78%{opacity:1}to{opacity:1;transform:none}}@media(max-width:700px){.arrival-view{background:#463227}.arrival-view>div{height:clamp(255px,74vw,385px);background:url(/media/beauty-lobby.webp) 25%/cover}}@media(prefers-reduced-motion:reduce){.arrival-view{animation-duration:1ms}}