:root{
  --ink:#06150e;          /* page background */
  --band:#0b2318;         /* alternating band */
  --panel:#0f2e20;        /* cards */
  --panel-2:#143a28;      /* raised */
  --edge:rgba(233,185,73,.20);
  --gold:#e9b949;
  --gold-l:#f7d57a;
  --gold-d:#b9871f;
  --cream:#f6efe0;
  --muted:#c0b298;
  --muted-d:#9b8f78;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Be Vietnam Pro','Noto Sans',system-ui,-apple-system,sans-serif;color:var(--cream);background:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-weight:700;line-height:1.18;color:var(--cream)}
h2{font-family:'Playfair Display','Be Vietnam Pro',serif;font-size:clamp(28px,3.4vw,40px);letter-spacing:.005em}
h2.on-dark{color:var(--cream)}
p{margin:0 0 15px}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-l)}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none}
::selection{background:var(--gold);color:#06150e}
.wrap{max-width:1260px;margin:0 auto;padding:0 28px}
.center{text-align:center}
.lead{font-size:15.5px;color:var(--muted);line-height:1.78;margin:0}
.lead.sm{font-size:13.5px;margin-bottom:22px}
.dim{font-size:15.5px;color:var(--muted);line-height:1.78;margin:0}
.note{font-size:12px;color:var(--muted-d);margin-top:16px}
.note.dim{margin-top:26px;font-size:12.5px}

/* ---------- scroll reveal ---------- */
[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.72,.28,1),transform .8s cubic-bezier(.22,.72,.28,1);will-change:opacity,transform}
[data-rv="l"]{transform:translateX(-32px)}
[data-rv="r"]{transform:translateX(32px)}
[data-rv="z"]{transform:scale(.95)}
[data-rv].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-rv]{opacity:1!important;transform:none!important;transition:none!important}
  .ticker{animation:none}
  .hero-bg{animation:none!important}
}

/* ---------- badges / buttons ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#183a28;background:var(--gold);padding:8px 18px;border-radius:999px;margin-bottom:16px}
.eyebrow.on-dark{color:#183a28;background:var(--gold)}
.pill{border-radius:999px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 28px;font-size:14px;white-space:nowrap;transition:background .22s,color .22s,transform .22s,box-shadow .22s}
.pill:hover{transform:translateY(-2px)}
.pill.big{padding:16px 32px;font-size:15px}
.pill.sm{padding:12px 20px;font-size:13px}
.pill.grow{flex:1 1 140px}
.btn-gold{background:linear-gradient(170deg,var(--gold-l),var(--gold));color:#1b2d14;box-shadow:0 12px 28px -14px rgba(233,185,73,.9)}
.btn-gold:hover{background:var(--gold-l);color:#1b2d14}
.btn-zalo{background:#0068ff;color:#fff}.btn-zalo:hover{color:#fff}
.btn-fb{background:#1877f2;color:#fff}.btn-fb:hover{color:#fff}
.btn-wa{background:#25d366;color:#09361d}.btn-wa:hover{color:#09361d}
.btn-ghost{background:rgba(246,239,224,.1);color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--edge)}
.btn-ghost:hover{background:rgba(246,239,224,.2);color:var(--cream)}
.applogo{display:inline-block;flex:0 0 auto;object-fit:contain;background:#fff;border-radius:50%;padding:2px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.tb-soc .applogo{padding:1px}
.row-btns{display:flex;gap:10px;flex-wrap:wrap}
.row-btns.tight{margin-top:11px}

/* ---------- top strip + header ---------- */
.topbar{background:#041009;color:var(--muted);font-size:12px;font-weight:600;border-bottom:1px solid rgba(233,185,73,.12)}
.topbar-in{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:space-between;align-items:center;padding-top:9px;padding-bottom:9px}
.topbar-l{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.topbar a{color:var(--cream)}
.topbar a:hover{color:var(--gold)}
.tb-phone{font-weight:800;display:inline-flex;align-items:center;gap:6px;letter-spacing:.03em;color:var(--gold)!important}
.tb-hours{display:inline-flex;align-items:center;gap:6px;color:var(--muted-d)}
.tb-soc{letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px}
.tb-soc .applogo{width:16px;height:16px}
.langbar{display:flex;gap:2px;flex-wrap:wrap}
.flagbtn{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;line-height:1;background:transparent;color:var(--muted);transition:background .2s,color .2s}
.flagbtn span{font-size:10.5px;font-weight:700;letter-spacing:.03em;white-space:nowrap}
.flagbtn svg{border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.3)}
.flagbtn:hover{background:rgba(246,239,224,.1);color:var(--cream)}
.flagbtn.on{background:var(--gold);color:#183a28}

.hdr{position:sticky;top:0;z-index:60;background:rgba(6,21,14,.92);backdrop-filter:blur(10px);padding:10px 0;border-bottom:1px solid rgba(233,185,73,.14)}
.hdr-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 0 0 2px var(--gold)}
.brandname{display:block;font-family:'Playfair Display','Be Vietnam Pro',serif;font-size:31px;font-weight:700;line-height:1.05;white-space:nowrap;
  background:linear-gradient(176deg,#fbe6a6 0%,#e9b949 48%,#b9871f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 1px 0 rgba(0,0,0,.35)}
.brandsub{display:flex;align-items:center;gap:8px;margin-top:5px}
.brandsub i{width:20px;height:2px;background:var(--gold);border-radius:2px;flex:0 0 auto}
.brandsub span{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-d);white-space:nowrap}
.mainnav{display:flex;flex-wrap:wrap;gap:2px;flex:1 1 auto;justify-content:center}
.navbtn{display:inline-flex;align-items:center;padding:10px 15px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--cream);background:transparent;white-space:nowrap;transition:background .2s,color .2s}
.navbtn:hover{background:var(--gold);color:#183a28}
.hdr-cta{flex:0 0 auto}

/* ---------- hero ---------- */
#top{position:relative;background:#030b07;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;animation:kenburns 26s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.1)}to{transform:scale(1)}}
.hero-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,11,7,.88) 0%,rgba(3,11,7,.6) 48%,rgba(3,11,7,.35) 72%,rgba(3,11,7,.9) 100%)}
.hero-in{position:relative;padding-top:92px;padding-bottom:86px}
.hero-in h1{font-family:'Playfair Display','Be Vietnam Pro',serif;font-size:clamp(31px,4.6vw,52px);max-width:23ch;color:var(--cream);font-weight:700;letter-spacing:-.005em;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.hero-sub{font-size:16.5px;max-width:54ch;margin:22px 0 0;color:#e2d8c2;line-height:1.8}
.hero-btns{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}
.ratecard{display:inline-flex;align-items:center;gap:16px;background:rgba(246,239,224,.96);border-radius:999px;padding:11px 26px 11px 13px;margin-bottom:28px;box-shadow:0 16px 40px -14px rgba(0,0,0,.8);max-width:100%}
.ratecard:hover{color:inherit}
.ratecard-ico{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center}
.ratecard-top{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.ratecard-top b{font-size:15px;font-weight:800;color:#183a28;line-height:1.2}
.ratecard-top em{font-size:12px;font-weight:600;color:#5c6b52;font-style:normal}
.ratecard-cta{display:block;font-size:12.5px;font-weight:800;color:var(--gold-d);margin-top:4px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:48px;max-width:820px}
.stat{background:rgba(246,239,224,.07);border:1px solid var(--edge);border-radius:18px;padding:22px 20px;border-bottom:4px solid var(--gold);backdrop-filter:blur(4px)}
.stat-n{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:var(--gold-l);line-height:1.1}
.stat-l{font-size:12px;font-weight:600;color:#ded3bd;margin-top:9px;line-height:1.45}

/* ---------- ticker ---------- */
#ticker{background:var(--gold);color:#183a28;overflow:hidden;padding:13px 0}
.ticker{display:flex;width:max-content;animation:slide 44s linear infinite}
.ticker span{font-size:11.5px;font-weight:800;padding:0 26px;white-space:nowrap;letter-spacing:.14em;text-transform:uppercase}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{padding:94px 0}
#about,#space,#deco{background:var(--band)}
#video{background:#030b07}
#menu{background:var(--ink)}
#setmenu{background:var(--band)}
#dishes{padding-top:0;background:var(--band)}
#space{padding-bottom:70px}
.sec-head{text-align:center;max-width:680px;margin:0 auto 42px}
.sec-head h2::after{content:"";display:block;width:62px;height:3px;background:var(--gold);border-radius:4px;margin:16px auto 0}
.sec-head-split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:38px}
.sec-head-split>div{max-width:30ch}
.sec-head-split h2::after{content:"";display:block;width:62px;height:3px;background:var(--gold);border-radius:4px;margin:14px 0 0}
.sec-head-split .lead{max-width:44ch}
.sec-head .pill{margin-top:22px}

/* ---------- cards + media ---------- */
.card{background:var(--panel);border:1px solid var(--edge);border-radius:18px;overflow:hidden;box-shadow:0 18px 38px -24px rgba(0,0,0,.9)}
.zoomable{overflow:hidden;cursor:zoom-in;margin:0;position:relative}
.zoomable img{transition:transform .85s cubic-bezier(.2,.7,.3,1);width:100%;height:100%;object-fit:cover}
.zoomable:hover img{transform:scale(1.07)}
.r43{aspect-ratio:4/3}
.tile{border-radius:16px;aspect-ratio:1/1;box-shadow:0 14px 30px -18px rgba(0,0,0,.9);border:1px solid var(--edge)}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(3,11,7,.92));color:var(--cream);font-size:11.5px;font-weight:600;padding:28px 14px 13px}
.grid-sq{display:flex;flex-wrap:wrap;gap:14px}
.grid-sq .tile{flex:1 1 220px;aspect-ratio:auto;height:252px}
.grid-43{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:42px}
.grid-43 .tile{aspect-ratio:4/3}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.grid-sheets{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:14px}
.sheet{border-radius:14px;box-shadow:0 12px 28px -16px rgba(0,0,0,.9);border:1px solid var(--edge)}
.dish .r43{margin:10px 10px 0;border-radius:12px;border:1.5px solid rgba(233,185,73,.40);background:#0a1f15}
.dish{background:var(--panel-2)}
.dish-ft{padding:14px 18px 16px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:15px;color:var(--cream);font-weight:700}
.dish-ft b{color:var(--gold);font-weight:800;font-size:14.5px;white-space:nowrap}
.deco-ft{padding:15px 18px;font-size:13.5px;font-weight:700;color:var(--cream)}

.rev img{width:100%;height:auto;border-bottom:1px solid var(--edge)}
.rev-ft{padding:15px 18px 17px}
.rev-name{font-size:13px;font-weight:800;color:var(--gold-l);margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rev-ft p{font-size:13px;color:var(--muted);line-height:1.68;margin:0}
.stars{color:var(--gold);letter-spacing:1.5px;font-style:normal;font-size:12px}
#reviews{background:var(--ink)}
#sec-reviews .grid-auto{grid-template-columns:repeat(auto-fit,minmax(286px,1fr))}

/* ---------- about ---------- */
.about-in{display:flex;flex-wrap:wrap;gap:58px;align-items:flex-start}
.about-txt{flex:1 1 400px;min-width:0}
.about-txt h2{margin-bottom:22px;max-width:18ch}
.about-txt p{font-size:15.5px;line-height:1.88;color:var(--muted)}
.about-lead{font-size:17px!important;font-weight:500;color:var(--cream)!important;line-height:1.8!important;border-left:3px solid var(--gold);padding-left:18px}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-top:28px}
.feat{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:20px 18px}
.feat-i{font-size:24px;margin-bottom:11px;line-height:1}
.feat-t{font-weight:800;font-size:14.5px;margin-bottom:6px;color:var(--gold-l)}
.feat-d{font-size:12.5px;color:var(--muted);line-height:1.65}
.about-pics{flex:1 1 360px;min-width:0}
.ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ap-grid .wide{grid-column:span 2;border-radius:20px;aspect-ratio:16/10;border:1px solid var(--edge)}
.ap-grid figure:not(.wide){border-radius:16px;aspect-ratio:1/1;border:1px solid var(--edge)}
.infoline{margin-top:14px;background:var(--gold);border-radius:16px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:12.5px;font-weight:700;color:#183a28}

/* ---------- video ---------- */
.video-in{display:flex;flex-wrap:wrap;gap:50px;align-items:center;justify-content:center}
.video-txt{flex:1 1 320px;min-width:0}
.video-txt h2{margin-bottom:16px;max-width:15ch}
.video-txt h2::after{content:"";display:block;width:62px;height:3px;background:var(--gold);border-radius:4px;margin:16px 0 0}
.video-txt .dim{margin-bottom:26px}
.vids{flex:1 1 520px;display:flex;flex-wrap:wrap;gap:18px;justify-content:center}
.phone-frame{flex:0 1 272px;width:100%;max-width:272px;margin:0}
.phone-frame video{width:100%;aspect-ratio:9/16;display:block;object-fit:cover;background:#000;border-radius:24px;border:4px solid var(--gold);box-shadow:0 30px 64px -22px rgba(0,0,0,.95)}
.phone-frame figcaption{margin-top:11px;text-align:center;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em}

/* ---------- tabs ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:38px}
.tab{background:rgba(246,239,224,.09);color:var(--cream);border-radius:999px;padding:12px 28px;font-weight:700;font-size:13.5px;box-shadow:inset 0 0 0 1px var(--edge);transition:all .2s}
.tab:hover{background:rgba(246,239,224,.18)}
.tab.on{background:var(--gold);color:#183a28;font-weight:800;box-shadow:none}

/* ---------- set menus ---------- */
.grid-sets{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.setcard{background:var(--panel);border:1px solid var(--edge);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 44px -26px rgba(0,0,0,.95)}
.setcard-hd{background:linear-gradient(130deg,#17402c,#0e2b1d);border-bottom:1px solid var(--edge);padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.setcard-hd span{font-family:'Playfair Display',serif;font-weight:700;font-size:20px;color:var(--gold-l)}
.setcard-hd b{background:var(--gold);color:#183a28;font-weight:800;font-size:15px;white-space:nowrap;padding:7px 16px;border-radius:999px;display:inline-flex;align-items:baseline;gap:3px}
.setcard-hd b i{font-style:normal;font-size:10.5px;font-weight:700}
.setcard ol{margin:0;padding:20px 24px 22px 42px;font-size:15px;line-height:1.95;color:var(--cream);font-weight:500;flex:1 1 auto}
.setcard ol li::marker{color:var(--gold);font-weight:800}
.setcard-ft{border-top:1px dashed var(--edge);padding:14px 22px;font-size:12.5px;font-weight:600;color:var(--muted);display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.setcard-ft b{color:var(--gold-l);font-size:15px;font-weight:800}
.notes{margin-top:38px;background:rgba(246,239,224,.06);border:1px solid var(--edge);border-radius:18px;padding:26px 28px}
.notes-t{font-weight:800;font-size:12px;color:var(--gold);margin-bottom:14px;letter-spacing:.16em;text-transform:uppercase}
.notes ul{margin:0;padding-left:20px;font-size:14.5px;line-height:1.95;color:#e3d9c4}
.notes ul li::marker{color:var(--gold)}

#sec-deco .grid-auto{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}

/* ---------- group / deco ---------- */
.bens{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:12px}
.ben{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:19px;display:flex;gap:13px;align-items:flex-start;font-size:13.5px;line-height:1.65;color:var(--muted)}
.ben>span:first-child{font-size:19px;flex:0 0 auto;line-height:1.3}
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:34px}
.tag{background:var(--gold);color:#183a28;border-radius:999px;padding:10px 20px;font-size:13px;font-weight:700}
.cta-band{margin-top:42px;display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#17402c,#0b2318);border:1px solid var(--edge);border-radius:22px;padding:34px 36px}
.cta-t{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;margin-bottom:10px;color:var(--gold-l)}
.cta-d{font-size:14px;color:var(--muted);line-height:1.75;max-width:52ch}

/* ---------- contact ---------- */
.contact-in{display:flex;flex-wrap:wrap;gap:54px}
.contact-l{flex:1 1 360px;min-width:0}
.contact-l h2{margin-bottom:28px}
.cline{display:flex;gap:15px;margin-bottom:24px}
.cline>span{font-size:19px;flex:0 0 auto}
.cline b{display:block;font-weight:800;font-size:11.5px;margin-bottom:6px;color:var(--gold);letter-spacing:.13em;text-transform:uppercase}
.cline p{font-size:14.5px;color:var(--cream);line-height:1.7;margin:0 0 7px}
.infocard{border-radius:18px;border:1px solid var(--edge);margin-top:30px;box-shadow:0 18px 40px -26px rgba(0,0,0,.9)}
.book{flex:1 1 380px;min-width:0;padding:34px;background:var(--panel);border:1px solid var(--edge);border-radius:22px;box-shadow:0 20px 46px -28px rgba(0,0,0,.95)}
.book h3{font-family:'Playfair Display',serif;font-size:24px;margin-bottom:8px;color:var(--gold-l)}
.book label{display:block;font-size:11px;font-weight:800;color:var(--muted-d);letter-spacing:.09em;text-transform:uppercase}
.book input,.book textarea{width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid rgba(233,185,73,.25);border-radius:12px;font-size:14px;font-family:inherit;background:rgba(3,11,7,.55);color:var(--cream);transition:border-color .2s}
.book input:focus,.book textarea:focus{outline:none;border-color:var(--gold)}
.book textarea{resize:vertical}
.f2,.f3{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.f2 label{flex:1 1 158px}.f3 label{flex:1 1 98px}
.f1{margin-bottom:16px}

/* ---------- footer ---------- */
footer{background:#030b07;color:var(--muted);padding:58px 0 30px;border-top:1px solid rgba(233,185,73,.16)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:34px;align-items:flex-start}
.foot-brand{max-width:40ch}
.foot-brand p{font-size:12.5px;line-height:1.85;margin:0}
.fb-row{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.fb-row img{border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--gold)}
.fb-row span{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--gold-l)}
.foot-links{font-size:13px;line-height:2.2;display:flex;flex-direction:column}
.foot-links a,footer a{color:var(--muted)}
footer a:hover{color:var(--gold)}
.foot-addr{font-size:12.5px;line-height:2;max-width:26ch;font-style:normal}
.foot-copy{margin-top:38px;padding-top:22px;border-top:1px solid rgba(233,185,73,.16);font-size:11px;color:var(--muted-d)}

/* ---------- floating + lightbox ---------- */
.fabs{position:fixed;right:18px;bottom:18px;z-index:150;display:flex;flex-direction:column;gap:9px}
.fab{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px rgba(0,0,0,.7);transition:transform .22s,background .2s}
.fab:hover{transform:translateY(-3px);color:inherit}
.fab img{display:block}
.fab-wa,.fab-zalo{background:#fff}
.fab-call{background:var(--gold);color:#183a28}
#toTop{background:var(--gold);color:#183a28;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s,visibility .35s,transform .35s,background .2s}
#toTop.show{opacity:1;visibility:visible;transform:none}
#toTop:hover{background:var(--gold-l);transform:translateY(-3px)}
#lightbox{position:fixed;inset:0;background:rgba(3,11,7,.96);z-index:200;display:none;align-items:center;justify-content:center;padding:28px;cursor:zoom-out}
#lightbox.on{display:flex}
#lightbox img{max-width:100%;max-height:100%;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.9)}
#lightbox button{position:absolute;top:24px;right:24px;background:var(--gold);color:#183a28;border-radius:50%;width:46px;height:46px;font-size:18px;font-weight:800}

@media(max-width:640px){
  .wrap{padding:0 16px}
  section{padding:62px 0}
  .hero-in{padding-top:62px;padding-bottom:56px}
  .brandname{font-size:25px}
  .brand img{width:46px;height:46px}
  .about-in,.contact-in,.video-in{gap:36px}
  .setcard ol{font-size:14.5px;padding-left:36px}
  .cta-band{padding:26px 20px}
  .book{padding:24px}
  .fab{width:46px;height:46px}
  .grid-sq .tile{height:200px}
  .topbar-in{gap:4px 14px;padding-top:7px;padding-bottom:7px}
  .topbar-l{gap:12px;font-size:11px}
  .tb-soc{display:none}
  .langbar{gap:0;width:100%;justify-content:space-between}
  .flagbtn{gap:5px;padding:5px 6px}
  .flagbtn span{font-size:9px;letter-spacing:0}
  .flagbtn svg{width:18px;height:12px}
  .hdr{padding:8px 0;position:static}
  .hdr-in{gap:10px}
  .mainnav{gap:0 2px}
  .navbtn{font-size:12.5px;padding:8px 10px}
  .brandsub span{font-size:9px;letter-spacing:.12em}
  .hdr-cta{padding:11px 22px;font-size:13px}
  .sec-head .pill{white-space:normal;max-width:100%;font-size:12.5px;line-height:1.45;padding:12px 20px}
  .ratecard{gap:11px;padding:10px 18px 10px 10px}
  .ratecard-top b{font-size:13.5px}
  .ratecard-top em{font-size:11px}
}

/* ================= redesign pass: layout modelled on a "sunset lounge" landing page ================= */
#moments{background:var(--ink)}
#perks{background:var(--ink);padding-top:0}
#faq{background:var(--band)}

/* hero: text + booking card, rating strip, scroll cue */
.hero-in{padding-top:84px;padding-bottom:70px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:44px;align-items:end}
.ratestrip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px;background:rgba(246,239,224,.1);border:1px solid var(--edge);border-radius:999px;padding:9px 20px;margin-bottom:26px;color:var(--cream);backdrop-filter:blur(6px);max-width:100%}
.ratestrip b{font-size:13.5px;font-weight:800}
.ratestrip span{font-size:12px;font-weight:700;color:var(--gold-l)}
.ratestrip .stars{font-size:14px}
.ratestrip:hover{color:var(--cream);background:rgba(246,239,224,.18)}
.bookcard{background:rgba(246,239,224,.97);color:#183a28;border-radius:24px;padding:26px 26px 22px;box-shadow:0 30px 60px -24px rgba(0,0,0,.9);border-bottom:5px solid var(--gold)}
.bookcard-t{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#183a28;line-height:1.25}
.bookcard p{font-size:13px;color:#5c6b52;margin:8px 0 14px;line-height:1.6}
.bookcard-num{display:flex;align-items:center;justify-content:center;gap:10px;background:#183a28;color:var(--gold-l);font-weight:800;font-size:19px;letter-spacing:.04em;padding:14px;border-radius:14px}
.bookcard-num:hover{color:#fff;background:#0f2e20}
.bookcard .row-btns.tight{margin-top:10px}
.bookcard-meta{display:flex;align-items:center;gap:7px;justify-content:center;font-size:11.5px;font-weight:700;color:#5c6b52;margin-top:14px}
.scrollcue{display:flex;flex-direction:column;align-items:center;gap:8px;margin:44px auto 0;width:max-content;color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.scrollcue i{width:1.5px;height:34px;background:linear-gradient(var(--gold),transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(.3);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.3);transform-origin:bottom;opacity:.4}}
.stats{margin-top:40px;max-width:none;grid-template-columns:repeat(4,1fr)}

/* three moments */
.moments{display:flex;flex-direction:column;gap:30px}
.moment{display:grid;grid-template-columns:1.05fr 1fr;gap:0;background:var(--panel);border:1px solid var(--edge);border-radius:26px;overflow:hidden;box-shadow:0 24px 50px -28px rgba(0,0,0,.95)}
.moment.flip .moment-pic{order:2}
.moment-pic{min-height:340px;border-radius:0}
.moment-n{position:absolute;left:20px;top:16px;font-family:'Playfair Display',serif;font-size:64px;font-weight:700;line-height:1;color:rgba(247,213,122,.95);text-shadow:0 3px 18px rgba(0,0,0,.65)}
.moment-txt{padding:40px 42px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.moment-time{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--gold);color:#183a28;font-weight:800;font-size:13px;letter-spacing:.06em;padding:7px 16px;border-radius:999px}
.moment-txt h3{font-family:'Playfair Display','Be Vietnam Pro',serif;font-size:clamp(23px,2.6vw,30px);color:var(--gold-l)}
.moment-txt p{font-size:15.5px;line-height:1.85;color:var(--muted);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{font-size:12px;font-weight:700;color:var(--cream);border:1px solid var(--edge);background:rgba(246,239,224,.07);padding:7px 14px;border-radius:999px}

/* story: photo left with floating badge, big numbers */
.about-in{align-items:center}
.about-pics{flex:1 1 380px}
.story-pic{border-radius:26px;aspect-ratio:4/5;border:1px solid var(--edge);overflow:visible;box-shadow:0 28px 60px -30px rgba(0,0,0,.95)}
.story-pic img{border-radius:26px}
.story-badge{position:absolute;right:-14px;bottom:28px;background:var(--gold);color:#183a28;font-family:'Playfair Display',serif;font-size:22px;font-weight:700;padding:14px 24px;border-radius:18px;box-shadow:0 16px 34px -14px rgba(0,0,0,.85);transform:rotate(-3deg)}
.bignums{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.bignum{border-top:3px solid var(--gold);background:var(--panel);border-radius:0 0 16px 16px;padding:16px 16px 18px}
.bignum-n{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--gold-l);line-height:1.1}
.bignum-l{font-size:12px;font-weight:600;color:var(--muted);margin-top:7px;line-height:1.45}

/* six perks */
.feats.six{grid-template-columns:repeat(3,1fr);margin-top:0;gap:16px}
.feats.six .feat{padding:26px 24px;border-radius:20px;background:var(--panel);transition:transform .3s,border-color .3s}
.feats.six .feat:hover{transform:translateY(-4px);border-color:rgba(233,185,73,.55)}
.feats.six .feat-i{font-size:30px;margin-bottom:14px}
.feats.six .feat-t{font-size:16.5px}
.feats.six .feat-d{font-size:13.5px}
.perks-cta{margin-top:36px}

/* FAQ + quick facts */
.faq-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:26px;align-items:start}
.facts{padding:28px;position:sticky;top:96px}
.facts-t{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--gold-l);margin-bottom:16px}
.facts table{width:100%;border-collapse:collapse;margin-bottom:22px}
.facts th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);padding:13px 14px 13px 0;vertical-align:top;white-space:nowrap}
.facts td{font-size:14px;color:var(--cream);line-height:1.6;padding:13px 0;font-weight:600}
.facts tr+tr th,.facts tr+tr td{border-top:1px solid var(--edge)}
.qas{display:flex;flex-direction:column;gap:12px}
.qa{background:var(--panel);border:1px solid var(--edge);border-radius:16px;overflow:hidden}
.qa summary{list-style:none;cursor:pointer;padding:18px 54px 18px 22px;font-weight:700;font-size:15.5px;color:var(--cream);position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--gold);color:#183a28;font-weight:800;font-size:18px;line-height:28px;text-align:center;transition:transform .25s}
.qa[open] summary::after{content:"–"}
.qa[open]{border-color:rgba(233,185,73,.5)}
.qa p{margin:0;padding:0 22px 20px;font-size:14.5px;line-height:1.8;color:var(--muted)}

/* footer columns */
.foot-in{display:grid;grid-template-columns:1.3fr 1.1fr 1fr;gap:40px}
.foot-h{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.foot-links.two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.foot-soc{display:flex;gap:10px;margin-top:18px}
.foot-soc a{width:38px;height:38px;border-radius:50%;background:rgba(246,239,224,.08);border:1px solid var(--edge);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.foot-soc a:hover{background:rgba(246,239,224,.16)}
.foot-soc .applogo{width:22px;height:22px}
.foot-addr{margin-top:12px;max-width:none}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .moment,.moment.flip{grid-template-columns:1fr}
  .moment.flip .moment-pic{order:0}
  .moment-pic{min-height:260px;aspect-ratio:16/10}
  .moment-txt{padding:28px 24px}
  .feats.six{grid-template-columns:repeat(2,1fr)}
  .faq-in{grid-template-columns:1fr}
  .facts{position:static}
  .foot-in{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .hero-in{padding-top:56px;padding-bottom:44px}
  .story-badge{right:8px;font-size:18px;padding:11px 18px}
  .moment-n{font-size:48px}
  .feats.six{grid-template-columns:1fr}
  .bignums{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .bignum{padding:12px 10px 14px}
  .bignum-n{font-size:20px}
  .bignum-l{font-size:10.5px}
  .foot-in{grid-template-columns:1fr;gap:28px}
  .scrollcue{display:none}
  .bookcard{padding:22px 20px 18px}
  .facts{padding:22px}
  .qa summary{padding:16px 50px 16px 18px;font-size:14.5px}
}

/* fixes after first visual pass */
#perks{padding-top:84px}
.hdr-in{flex-wrap:nowrap;gap:12px}
.navbtn{padding:10px 11px;font-size:13px}
.brandname{font-size:28px}
.hero-in{padding-top:36px}
@media(max-width:1100px){.hdr-in{flex-wrap:wrap}}

/* images fly in from the sides and bottom */
[data-rv="fl"],[data-rv="fr"],[data-rv="fu"]{transition:opacity .9s ease,transform 1.05s cubic-bezier(.18,.86,.28,1.04)}
[data-rv="fl"]{transform:translateX(-90px) rotate(-4deg) scale(.9)}
[data-rv="fr"]{transform:translateX(90px) rotate(4deg) scale(.9)}
[data-rv="fu"]{transform:translateY(80px) scale(.9)}
[data-rv="fl"].in,[data-rv="fr"].in,[data-rv="fu"].in{opacity:1;transform:none}
main{overflow-x:clip}
@media(max-width:640px){
  [data-rv="fl"]{transform:translateX(-46px) rotate(-3deg) scale(.92)}
  [data-rv="fr"]{transform:translateX(46px) rotate(3deg) scale(.92)}
  [data-rv="fu"]{transform:translateY(50px) scale(.92)}
}

/* rating strip is now a directions link */
.ratestrip .stars{font-size:17px;letter-spacing:0}
.ratestrip b{font-size:14px}
.ratestrip span{display:inline-flex;align-items:center;gap:6px}

/* sticky header: wrapper must not clip the sticky area */
#sec-hdr{display:contents}
.hdr{position:sticky!important;top:0;z-index:80}
section{scroll-margin-top:84px}
#dishes{padding-top:94px;background:var(--ink)}

/* six perks with photos */
.feats.six .feat{padding:0;overflow:hidden;display:flex;flex-direction:column}
.feat-pic{aspect-ratio:16/10;margin:0;border-bottom:1px solid var(--edge)}
.feat-body{padding:22px 24px 26px}
.feats.six .feat-i{font-size:26px;margin-bottom:10px}

@media(max-width:640px){
  .hdr{padding:7px 0}
  .hdr-in{flex-wrap:wrap;gap:6px 10px}
  .brand img{width:40px;height:40px}
  .brandname{font-size:22px}
  .brandsub{display:none}
  .hdr-cta{padding:9px 18px;font-size:12.5px;margin-left:auto}
  .mainnav{order:3;flex:0 0 100%;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:0;margin:0 -16px;padding:0 12px;scrollbar-width:none}
  .mainnav::-webkit-scrollbar{display:none}
  .navbtn{font-size:12.5px;padding:8px 11px;flex:0 0 auto}
  section{scroll-margin-top:96px}
  .ratestrip{padding:9px 16px}
}

/* TikTok: plain text button (no logo artwork) */
.btn-tt{background:#0b0b0b;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.btn-tt:hover{background:#1c1c1c;color:#fff}
.tb-tt{font-weight:800}
