:root{--brand:#0b2f2a;--brand-2:#14524a;--gold:#f2c46d;--zalo:#0068ff;--ink:#17201e;--muted:#4b5754;--bg:#f5f2ec;--card:#fff;--line:#e6e0d6;--ok:#1d7a4f;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;padding-bottom:96px;font:400 18px/1.6 -apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}p{margin:0 0 12px}ul,ol{margin:0;padding:0;list-style:none}.hero{color:#fff;text-align:center;background:linear-gradient(160deg, #07211d 0%, var(--brand) 45%, var(--brand-2) 100%);background-size:200% 200%;border-radius:0 0 32px 32px;padding:36px 16px 64px;animation:14s ease-in-out infinite alternate shift;position:relative;overflow:hidden}.hero-inner{max-width:560px;margin:0 auto;position:relative}.glow{filter:blur(60px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.g1{background:#1f8a77;width:260px;height:260px;animation:12s ease-in-out infinite alternate drift;top:-60px;left:-80px}.g2{opacity:.35;background:#b8862e;width:220px;height:220px;animation:15s ease-in-out infinite alternate-reverse drift;bottom:-40px;right:-70px}.photo{background:linear-gradient(140deg, var(--gold), #f2c46d26 45%, #2aa38d);border-radius:28px;width:196px;margin:0 auto;padding:4px;box-shadow:0 18px 40px #00000059}.photo img{aspect-ratio:4/5;object-fit:cover;border-radius:24px;width:100%;height:auto;display:block}.status{backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;margin:18px 0 0;padding:6px 14px;font-size:15px;font-weight:600;display:inline-flex}.dot{background:#4ade80;border-radius:50%;width:9px;height:9px;animation:2s ease-out infinite ping;box-shadow:0 0 #4ade8099}.hero h1{letter-spacing:-.01em;margin:12px 0 8px;font-size:34px;font-weight:800;line-height:1.2}.tagline{color:#ffffffd9;max-width:30em;margin:0 auto 18px;font-size:19px}.facts{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px;display:flex}.facts li{background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;padding:7px 14px;font-size:15px;font-weight:500}.facts strong{color:var(--gold);font-weight:700}.booked{color:#fff;width:fit-content;animation:rise .8s var(--ease) both;background:#f2c46d24;border:1px solid #f2c46d66;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin:-8px auto 22px;padding:8px 14px;font-size:clamp(14px,4vw,16px);display:flex}.booked[hidden]{display:none}.booked-t{text-wrap:balance}.booked .nw{white-space:nowrap}.booked .ic{width:20px;height:20px;color:var(--gold);flex:none;display:inline-flex}.booked .ic svg{width:100%;height:100%}.booked strong{color:var(--gold);font-size:18px;font-weight:800}.btn{cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:56px;transition:transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s;border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-family:inherit;font-size:19px;font-weight:700;line-height:1.2;text-decoration:none;display:flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.btn .ic{width:22px;height:22px;display:inline-flex}.btn .ic svg{width:100%;height:100%}.btn.primary{background:linear-gradient(135deg, #f6d38a, var(--gold));color:#2a1c00;box-shadow:0 10px 24px #f2c46d59}.btn.primary:after{content:"";background:linear-gradient(100deg,#0000,#ffffffa6,#0000);width:40%;height:100%;animation:4.5s ease-in-out 1.5s infinite shine;position:absolute;top:0;left:-60%;transform:skew(-20deg)}.btn.zalo{background:var(--zalo);color:#fff;box-shadow:0 10px 24px #0068ff47}.card .btn.zalo,.bar .btn.zalo{box-shadow:none}.btn.outline{color:var(--brand);border:2px solid var(--brand);background:#fff}.bar .btn.primary{box-shadow:none}.bar .btn.primary:after{display:none}.bar .btn{gap:6px;padding:0 10px;font-size:17px}.btn.dark{background:var(--brand);color:#fff}.book form{gap:14px;display:grid}fieldset{border:0;margin:0;padding:0}legend,.field>span{color:var(--muted);margin-bottom:6px;font-size:16px;font-weight:600;display:block}.options{flex-wrap:wrap;gap:8px;display:flex}.opt input{opacity:0;pointer-events:none;position:absolute}.opt span{border:1.5px solid var(--line);cursor:pointer;min-height:48px;transition:background .2s, border-color .2s, color .2s, transform .2s var(--ease);background:#fff;border-radius:12px;align-items:center;padding:8px 14px;font-size:17px;font-weight:600;display:inline-flex}.opt input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}.opt input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.opt span:active{transform:scale(.97)}.row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.field{min-width:0;display:block}.row.dt{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.row.dt input{padding-left:10px;padding-right:8px}.row>[hidden]{display:none}.field input,.field select,.field textarea{width:100%;min-height:52px;color:var(--ink);font:inherit;background:#fff;border:1.5px solid #d9d2c6;border-radius:12px;padding:12px 14px;font-size:18px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 4px #14524a26}.field .invalid{border-color:#c2410c;box-shadow:0 0 0 4px #c2410c1f}.more{border:1.5px dashed #d9d2c6;border-radius:14px;padding:4px 14px}.more[open]{padding-bottom:14px}.more summary{min-height:44px;color:var(--brand-2);cursor:pointer;align-items:center;font-weight:600;display:flex}.more .field{margin-top:10px}.error{color:#b4380a;margin:0;font-weight:600}[hidden]{display:none!important}.submit{width:100%}.submit:disabled{opacity:.7;cursor:progress}.done{text-align:center;padding:8px 0 4px}.done:focus{outline:none}.done-ic{color:#1f9d74;width:64px;height:64px;animation:rise .6s var(--ease) both;background:#e7f5f0;border-radius:50%;place-items:center;display:inline-grid}.done-ic svg{width:34px;height:34px}.done h3{margin:12px 0 6px;font-size:22px}.done p{margin:0 0 16px}.done .btn{width:100%}main{max-width:560px;margin:-32px auto 0;padding:0 16px;position:relative}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;margin:0 0 18px;padding:22px 20px;box-shadow:0 1px 2px #17201e0a,0 12px 32px #17201e0f}h2{align-items:center;gap:12px;margin:0 0 14px;font-size:22px;font-weight:700;line-height:1.3;display:flex}.badge{width:40px;height:40px;color:var(--a-ink,var(--brand-2));background:color-mix(in srgb, var(--a,#e3f1ec) 28%, #fff);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.hl{background:linear-gradient(transparent 58%, color-mix(in srgb, var(--a,var(--gold)) 55%, transparent) 58%, color-mix(in srgb, var(--a,var(--gold)) 55%, transparent) 92%, transparent 92%) no-repeat 0 0 / 100% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:0 2px}html.js .reveal .hl{transition:background-size .8s var(--ease) .25s;background-size:0% 100%}html.js .reveal.in .hl{background-size:100% 100%}.badge svg{width:22px;height:22px}.quote{border-left:3px solid var(--gold);padding-left:14px;font-size:19px}.quote p{margin:0 0 12px}.quote p:last-child{margin-bottom:0}.promises li{background:linear-gradient(135deg,#f1f8f5,#fbf7ee);border:1px solid #e3eee9;border-radius:16px;align-items:flex-start;gap:14px;margin-bottom:10px;padding:14px;display:flex}.num{background:var(--brand);width:32px;height:32px;color:var(--gold);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:17px;font-weight:800;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chips li{color:var(--brand-2);background:#eaf3ef;border-radius:12px;padding:8px 14px;font-size:17px;font-weight:600}.amenities{gap:8px;margin-bottom:14px;display:grid}.amenities li{align-items:center;gap:10px;display:flex}.tick{background:var(--ok);color:#fff;border-radius:50%;flex:none;width:24px;height:24px;padding:4px;display:inline-flex}.tick svg{stroke-width:3px;width:100%;height:100%}.info{margin:0}.info div{border-top:1px solid var(--line);grid-template-columns:28px 1fr;align-items:start;column-gap:12px;padding:12px 0;display:grid}.info .ic{color:var(--brand-2);grid-row:span 2;width:24px;height:24px;margin-top:2px}.info .ic svg{width:100%;height:100%}.info dt{color:var(--muted);font-size:15px;font-weight:600}.info dd{margin:2px 0 0}.note{color:var(--muted);margin:12px 0 0;font-size:16px}footer{color:var(--muted);text-align:center;padding:6px 8px 24px;font-size:15px}.bar{z-index:10;padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px)saturate(1.4);animation:bar-in .6s var(--ease) .5s both;background:#f5f2ecd1;border-top:1px solid #17201e14;grid-template-columns:1.6fr 1fr 1fr;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}@keyframes bar-in{0%{transform:translateY(110%)}to{transform:none}}@media (width>=600px){.bar{border:1px solid #17201e14;border-radius:20px 20px 0 0;max-width:560px;margin:0 auto}}.enter{animation:rise .8s var(--ease) both;animation-delay:calc(var(--d) * 90ms)}html.js .reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(26px)}html.js .reveal.in{opacity:1;transform:none}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes shift{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(40px,30px)scale(1.15)}}@keyframes ping{0%{box-shadow:0 0 #4ade8099}80%,to{box-shadow:0 0 0 10px #4ade8000}}@keyframes shine{0%{left:-60%}30%,to{left:130%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html.js .reveal{opacity:1;transform:none}html.js .reveal .hl{background-size:100% 100%}}
