:root{--g:#c9a45c;--d:#161a2b;--t:#2b2b2b}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Jost','Segoe UI',Arial,sans-serif;color:var(--t);line-height:1.6;background:#fbf9f5}
img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.sec{padding:70px 0;text-align:center}.sec.alt{background:#f1ece2}
.sec h2{font-size:2.5rem;margin-bottom:6px}.sub{color:#777;margin-bottom:36px}
.sec h2:after{content:"";display:block;width:60px;height:2px;background:var(--g);margin:10px auto 0}
#hd{position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;background:linear-gradient(rgba(0,0,0,.65),transparent);transition:.3s}
#hd.sc{background:#fff;color:#222;box-shadow:0 2px 14px rgba(0,0,0,.12);border-bottom:1px solid var(--g)}
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;padding:26px 36px 14px;max-width:1600px;margin:auto}
.tl{display:flex;gap:22px;justify-content:flex-start;font-size:.85rem;flex-wrap:wrap}
.tr{display:flex;gap:12px;align-items:center;justify-content:flex-end}
.tr input{height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff;border-radius:4px;width:150px}
.tr input::placeholder{color:#ddd}
.logo img{height:72px;margin:auto}
#hd.sc .tr{display:none}
nav{border-top:1px solid rgba(255,255,255,.2);text-align:center}
nav ul{display:flex;justify-content:center;flex-wrap:wrap}
nav a{display:block;padding:19px 24px;font-size:.88rem;letter-spacing:1px;text-transform:uppercase}
nav a:hover,nav a.on{color:var(--g)}.burger{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:130px;height:42px;padding:0 18px;border:1px solid var(--g);border-radius:4px;font-size:.88rem;cursor:pointer;background:transparent;color:inherit;font-family:inherit;transition:.2s}
.btn.gold{background:var(--g);color:#1a1a1a;font-weight:600}.btn.gold:hover{background:#b48f48}
.btn.out{color:var(--d)}.btn.out:hover{background:var(--g)}
.btn.wa{background:#25d366;border-color:#25d366;color:#fff}
.acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.hero{position:relative;background:center/cover;color:#fff;text-align:center;padding:230px 16px 90px;min-height:420px;display:flex;align-items:center;justify-content:center}
.hero:before,.slide:before{content:"";position:absolute;inset:0;background:rgba(10,12,25,.5)}
.hc{position:relative;max-width:900px}.hc h1{font-size:3.4rem}.hc p{font-size:1.15rem;margin-top:8px}
.slider{position:relative;height:100vh;min-height:560px;overflow:hidden;color:#fff}
.slide{position:absolute;inset:0;background:center/cover;opacity:0;transition:opacity 1.2s}.slide.on{opacity:1}
.sc-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;z-index:2}
.sc-txt h1{font-size:3.9rem;max-width:900px}.sc-txt p{font-size:1.2rem;margin:10px 0 24px;max-width:700px}
.sbox{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px;background:rgba(255,255,255,.95);padding:14px;border-radius:6px;color:#333}
.sbox label{display:flex;flex-direction:column;text-align:left;font-size:.75rem;color:#666}
.sbox input{padding:8px;border:1px solid #ccc;border-radius:4px;width:140px;height:42px}
.sbox input[type=number]{width:80px}.sbox .btn{align-self:flex-end}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,.08);text-align:center;display:flex;flex-direction:column}
.card>img{height:210px;width:100%;object-fit:cover}.cb{padding:18px;flex:1;display:flex;flex-direction:column}.cb .acts{margin-top:auto;padding-top:14px}
.cb h3{margin-bottom:4px}.pr{color:#a07f35;font-weight:700;margin:4px 0}.ck{text-align:left;font-size:.9rem;margin:8px 0;color:#555}
.ck li:before{content:"✓ ";color:var(--g)}.date{font-size:.8rem;color:#999}
.fac{background:#fff;border-radius:8px;padding:26px 14px;box-shadow:0 2px 10px rgba(0,0,0,.07);border:1px solid #eee}
.fac img{height:120px;width:100%;object-fit:cover;border-radius:6px;margin-bottom:10px}.ic{font-size:2.4rem;display:block;margin-bottom:8px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;text-align:left}.about img{border-radius:8px;width:100%}
.menu-cat{text-align:left;margin:30px 0 10px;border-bottom:1px solid var(--g)}
.mi{display:flex;gap:14px;align-items:center;background:#fff;padding:12px;border-radius:8px;text-align:left}.mi img{width:80px;height:80px;object-fit:cover;border-radius:6px}.mi b{display:block}
.parallax{background:center/cover fixed;color:#fff;position:relative;padding:110px 16px;text-align:center}
.parallax:before{content:"";position:absolute;inset:0;background:rgba(10,12,25,.6)}.parallax>div{position:relative}
.parallax h2{font-size:2.7rem}.parallax p{margin:10px 0 22px}
.cw{position:relative}.car{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px}
.car::-webkit-scrollbar{display:none}.car>*{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}.car.c1>*{flex-basis:100%}
.cn{position:absolute;top:40%;width:40px;height:40px;border-radius:50%;border:0;background:var(--d);color:#fff;font-size:1.3rem;cursor:pointer;z-index:2}.cn.p{left:-14px}.cn.n{right:-14px}
.tst{background:#fff;padding:28px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.07)}.tst .s{color:var(--g)}
.form{max-width:560px;margin:30px auto 0;display:flex;flex-direction:column;gap:10px;text-align:left}
.form input,.form textarea,.form select{padding:11px;border:1px solid #ccc;border-radius:4px;font-family:inherit;width:100%}
.flash{background:#e8f6ea;color:#256b32;padding:12px;text-align:center;position:relative;z-index:60}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:30px;text-align:left}.map iframe{width:100%;height:340px;border:0;border-radius:8px}
.body{max-width:850px;margin:auto;text-align:left}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;z-index:100;padding:16px}.modal.show{display:flex}
.mb{background:#fff;border-radius:8px;max-width:640px;width:100%;max-height:92vh;overflow:auto;position:relative;text-align:center}
.mb>img{width:100%;height:280px;object-fit:cover}.mb .in{padding:22px}.mb .sbox{box-shadow:none;margin-top:10px}
.x{position:absolute;top:8px;right:14px;font-size:2rem;cursor:pointer;color:#fff;z-index:3;line-height:1}.mb .x{color:#333}
#lb{flex-direction:row;gap:10px;color:#fff}#lb img,#lb video{max-height:85vh;max-width:80vw}#lb button{background:none;border:0;color:#fff;font-size:3rem;cursor:pointer}
footer{background:linear-gradient(160deg,#5d4150,#43303c);color:#ecdfe2;padding:60px 0 0;font-size:.95rem}
.fg{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}footer h4{color:#e8c4ae;margin-bottom:14px;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.4rem;font-weight:700}
footer li{margin-bottom:8px}footer a:hover{color:#f3d3c0}.soc{display:flex;gap:12px;margin-top:12px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gal a{aspect-ratio:1;overflow:hidden;display:block}.gal img,.gal video{width:100%;height:100%;object-fit:cover}
.copy{text-align:center;padding:18px;margin-top:40px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.car>*{flex-basis:calc((100% - 24px)/2)}.fg{grid-template-columns:1fr 1fr}.cn.p{left:0}.cn.n{right:0}}
@media(max-width:800px){
 .top{grid-template-columns:1fr;gap:6px;text-align:center}.tl{justify-content:center;font-size:.78rem;gap:10px}.tr{justify-content:center}.logo img{height:50px}
 .burger{display:block;margin:0 auto;background:none;border:0;color:#fff;font-size:1.6rem;padding:4px}
 nav ul{display:none;flex-direction:column}nav ul.open{display:flex}
 .g3{grid-template-columns:1fr}.about,.cols2{grid-template-columns:1fr}.sc-txt h1,.hc h1{font-size:2rem}.parallax{background-attachment:scroll}
 .hero{padding-top:230px}.top{padding:14px 16px 6px}nav a{padding:13px 18px}}
@media(max-width:560px){.g4{grid-template-columns:1fr}.car>*{flex-basis:100%}.fg{grid-template-columns:1fr}}

.tl a{display:inline-flex;align-items:center;gap:7px}.tl .i{width:18px;height:18px;flex:none}.tl .wa{color:#25d366}
.car.c3{gap:24px}.car.c3>*{flex-basis:calc((100% - 48px)/3)}
.res li{margin-bottom:12px}.res a{display:block;background:#fff;padding:14px 18px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.07)}.res small{color:#a07f35;text-transform:uppercase;letter-spacing:1px;display:block}.res b{display:block;font-size:1.05rem}.res span{color:#666;font-size:.9rem}
#hd.sc nav{border-color:#e6e0d4}#hd.sc nav a:hover,#hd.sc nav a.on{color:#a07f35}#hd.sc .burger{color:#222}
@media(min-width:801px){#hd.sc .logo{display:none}#hd.sc .top{display:flex;justify-content:center;padding:8px 16px}#hd.sc .tl{justify-content:center}}
@media(max-width:800px){
 .logo{order:1}.tl{order:2}.tr{order:3}
 #hd.sc .logo img{height:38px}#hd.sc .top{padding:6px 16px 0;gap:2px}
 nav ul.open{background:#fff}nav ul.open a{color:#222}
 .tr input{flex:1;max-width:220px}
 .tst{padding:12px;font-size:.78rem}.car.c3{gap:8px}.car.c3>*{flex-basis:calc((100% - 16px)/3)}
 .hc h1,.sc-txt h1{font-size:2.4rem}.sec h2{font-size:2.1rem}}
@media(max-width:560px){
 .g4{grid-template-columns:repeat(2,1fr);gap:12px}.car>*{flex-basis:85%}
 .card>img{height:130px}.cb{padding:10px}.cb h3{font-size:1.1rem}.card .acts{gap:6px}
 .card .acts .btn{min-width:0;flex:1;height:36px;padding:0 6px;font-size:.76rem}
 .fac{padding:16px 8px}.fac h3{font-size:1.05rem}.fac img{height:90px}.ic{font-size:2rem}}

.wa-float{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:8px;height:52px;padding:0 18px;border-radius:30px;background:#25d366;color:#fff;font-size:.9rem;font-weight:500;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:.2s}.wa-float:hover{background:#1ebe5a;transform:translateY(-2px)}
.totop{position:fixed;right:18px;bottom:82px;z-index:70;width:44px;height:44px;border-radius:50%;border:0;background:#5d4150;color:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s}.totop.show{opacity:1;visibility:visible;transform:none}.totop:hover{background:#c9a45c;color:#222}
@media(max-width:560px){.wa-float{width:52px;padding:0;justify-content:center;right:14px;bottom:14px}.wa-float span{display:none}.totop{right:18px;bottom:76px}
 .car.r2{gap:10px}.car.r2>*{flex-basis:calc((100% - 10px)/2)}}

.slide{pointer-events:none;visibility:hidden;transition:opacity 1.2s,visibility 1.2s}.slide.on{pointer-events:auto;visibility:visible}
.btn.line{border-color:#fff;color:#fff}.btn.line:hover{background:#fff;color:#222}
/* mobile header: menu kiri, logo tengah, Book Now (teks saja) kanan */
@media(max-width:800px){
 #hd{--hh:70px}#hd.sc{--hh:56px}
 #hd .top,#hd.sc .top{display:flex;justify-content:center;align-items:center;height:var(--hh);padding:0 96px;gap:0;position:relative}
 #hd .tl,#hd.sc .tl,#hd .tr form{display:none}
 #hd .tr,#hd.sc .tr{display:flex;position:absolute;right:14px;top:50%;transform:translateY(-50%)}
 #hd .tr .btn.gold{background:none;border:0;min-width:0;height:auto;padding:0;color:#fff;font-weight:600;font-size:.85rem;letter-spacing:1px;text-transform:uppercase}
 #hd.sc .tr .btn.gold{color:#222}
 #hd nav{border-top:0}
 #hd .burger{position:absolute;left:10px;top:calc(var(--hh)/2);transform:translateY(-50%);margin:0;font-size:1.7rem;line-height:1;padding:4px 6px}
 #hd .logo img{height:50px}#hd.sc .logo img{height:38px}.logo h2{font-size:1.4rem!important}
 .hero{padding-top:130px}.flash{padding-top:90px!important}
}
