*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:"Sukhumvit Set","Segoe UI","Leelawadee UI",Tahoma,"Noto Sans Thai",system-ui,sans-serif;-webkit-text-size-adjust:100%}
#hub{position:fixed;inset:0;width:100%;height:100%;border:0;display:block}
.veil{position:fixed;inset:0;z-index:5;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;transition:opacity .45s ease,visibility .45s}
.veil.gone{opacity:0;visibility:hidden}
.veil [hidden]{display:none!important}
.veil p{margin:0;max-width:30ch;font-size:15px;line-height:1.55}
.veil button,.sheet button{font:inherit;font-weight:800;border:0;border-radius:12px;min-height:46px;padding:0 22px;cursor:pointer}
button:focus-visible{outline:3px solid #0B8FA8;outline-offset:2px}
.sheet{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:6;width:min(440px,calc(100% - 32px));transform:translate(-50%,0);border-radius:18px;padding:16px 16px 14px;display:grid;grid-template-columns:44px 1fr;gap:4px 12px;align-items:center;transition:transform .3s ease,opacity .3s}
.sheet[hidden]{display:grid;opacity:0;transform:translate(-50%,130%);pointer-events:none}
.sheet img{width:44px;height:44px;border-radius:11px;grid-row:span 2}
.sheet strong{font-size:15px}
.sheet small{font-size:13px;line-height:1.4}
.sheet .acts{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.sheet .later{background:transparent}
.sheet ol{grid-column:1/-1;margin:8px 0 0;padding-left:22px;font-size:14px;line-height:1.7}
/* Brand Hub = ชายหาดยามเย็น — ภาษาภาพเดียวกับหน้า "กำลังเปิด" ที่ Brand Hub ใช้อยู่ (ฟ้าเขียวหม่น · ทะเล · ดวงอาทิตย์ · หมอก · การ์ดกระจก) */
body,#hub{background:#d9e6d8}
.veil{color:#153f4b;background:linear-gradient(180deg,#9fc9c8 0%,#cfe1d6 44%,#e9d7ae 64%,#2f8583 64.4%,#1f6a70 82%,#dcc9a0 100%)}
.sun{position:absolute;left:70%;top:64%;width:clamp(46px,9vw,78px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-62%);background:#f3d28a;box-shadow:0 0 90px 30px rgba(243,210,138,.55);clip-path:inset(0 0 38% 0)}
.sea{position:absolute;left:0;right:0;top:64.4%;height:18%;background:repeating-linear-gradient(180deg,transparent 0 14px,rgba(246,216,140,.22) 14px 16px);-webkit-mask:linear-gradient(90deg,transparent 45%,#000 70%,transparent 95%);mask:linear-gradient(90deg,transparent 45%,#000 70%,transparent 95%);animation:shimmer 4s ease-in-out infinite alternate}
@keyframes shimmer{to{transform:translateX(-4%)}}
.mist{position:absolute;width:60vw;height:20vh;border-radius:50%;background:rgba(239,244,233,.55);filter:blur(40px);animation:drift 8s ease-in-out infinite alternate}
.m1{left:-14vw;top:14vh}.m2{right:-16vw;top:36vh;animation-delay:-3s}
@keyframes drift{to{transform:translate3d(7vw,-1vh,0) scale(1.06)}}
.card{position:relative;z-index:2;width:min(420px,100%);padding:34px 28px 30px;border:1px solid rgba(255,255,255,.6);border-radius:28px;background:linear-gradient(145deg,rgba(233,239,226,.88),rgba(217,232,223,.8));box-shadow:0 24px 70px rgba(18,59,73,.2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:center;gap:12px}
.card img{height:74px;width:auto;padding:12px 16px;border-radius:18px;background:#123c49;box-shadow:0 12px 30px rgba(18,59,73,.25)}
.eye{margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.26em;color:#6a806f}
.title{font-size:clamp(26px,6vw,34px);font-weight:700;color:#153f4b}
.wave{display:flex;gap:7px;margin-top:8px}
.wave i{width:24px;height:3px;border-radius:99px;background:#2a8e8b;animation:pulse 1.15s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.14s;background:#6daf9f}.wave i:nth-child(3){animation-delay:.28s;background:#c5a75e}
@keyframes pulse{0%,100%{opacity:.28;transform:scaleX(.55)}50%{opacity:1;transform:scaleX(1)}}
.veil p{color:#52716f}
.veil button{background:#1f6a70;color:#fff}
.sheet{background:rgba(233,239,226,.96);color:#153f4b;border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 50px rgba(18,59,73,.28);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.sheet small{color:#52716f} .sheet ol{color:#233b50} .sheet ol b{color:#1f6a70}
.sheet .go{background:#1f6a70;color:#fff} .sheet .later{color:#52716f}
@media (prefers-reduced-motion:reduce){.sea,.mist,.wave i{animation:none}.veil,.sheet{transition:none}}
