 :root{--bg:#f5efe6;--paper:#fbf7f1;--ink:#332923;--wine:#54252b;--line:#dacbbe}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif}header{height:76px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(245,239,230,.96);border-bottom:1px solid #e2d6cc}.brand{font-family:Georgia,serif;letter-spacing:.18em;color:var(--wine);text-decoration:none}.brand span{font-size:.68em;letter-spacing:.28em}nav{display:flex;gap:30px}nav a{text-decoration:none;color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.menu{display:none;border:0;background:none;font-size:25px}.hero{height:calc(100svh - 76px);min-height:620px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:8vw 7vw;color:#fff}.hero>div{padding-bottom:5vh}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.22em;margin:0 0 20px}.wine{color:var(--wine)}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(55px,9vw,110px);line-height:.9;margin:0 0 25px}h2{font-size:clamp(38px,5vw,66px);line-height:1.02;margin:0 0 28px}.lead{font:26px Georgia,serif}.btn{display:inline-block;color:white;border:1px solid white;padding:15px 24px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.pad{padding:105px 8vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.copy{font:21px/1.7 Georgia,serif;color:#62544b}.feature{display:grid;grid-template-columns:1.5fr 1fr}.feature img{width:100%;height:720px;object-fit:cover}.feature>div{background:var(--wine);color:#fff;padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center;line-height:1.8}.amenities{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:50px}.amenities article{padding:30px 20px 30px 0;border-bottom:1px solid var(--line)}.amenities b,.amenities span{display:block}.amenities b{font:20px Georgia,serif;color:var(--wine);margin-bottom:8px}.amenities span{font-size:14px;color:#776960}.gallery-wrap{background:var(--paper);padding-bottom:4vw}.gallery-title{display:flex;justify-content:space-between;align-items:end}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 2vw}.gallery-item{border:0;padding:0;background:none;aspect-ratio:1;overflow:hidden;cursor:pointer}.gallery-item:nth-child(6n+1){grid-column:span 2;aspect-ratio:2/1}.gallery img{width:100%;height:100%;object-fit:cover}.location{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.logo{min-height:500px;background:var(--wine);display:grid;place-items:center;padding:50px}.logo img{max-width:90%;max-height:360px}.location>div:last-child>p:last-child{font:20px/1.65 Georgia,serif;color:#74665d}.book{background:var(--wine);color:white;padding:105px 8vw}.book form{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:10px;max-width:1100px;margin-top:45px}.book label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.book input,.book select,.book button{width:100%;padding:16px;margin-top:8px;border:1px solid rgba(255,255,255,.5);background:#fff}.book button{align-self:end;background:transparent;color:white;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.book small{display:block;margin-top:15px;opacity:.7}footer{padding:45px 8vw;display:flex;justify-content:space-between;color:#776960;font-size:12px}.lightbox{display:none;position:fixed;inset:0;background:rgba(15,9,8,.95);z-index:50;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:88vh}.lightbox button{position:absolute;border:0;background:none;color:white;font-size:55px}.close{top:15px;right:25px}.prev{left:20px}.next{right:20px}@media(max-width:800px){header{height:68px}.menu{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);padding:25px;flex-direction:column}nav.open{display:flex}.hero{height:82svh;min-height:560px}.pad{padding:72px 7vw}.intro,.feature,.location{grid-template-columns:1fr}.feature img{height:58vh}.feature>div{padding:70px 8vw}.amenities{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;padding:0 6px}.gallery-item:nth-child(n){grid-column:span 1;aspect-ratio:1}.gallery-title{display:block}.book form{grid-template-columns:1fr 1fr}.book button{grid-column:1/-1}.logo{min-height:350px}footer{flex-direction:column;gap:12px}}@media(max-width:480px){.amenities,.book form{grid-template-columns:1fr}}
.book-copy{max-width:620px;font:19px/1.6 Georgia,serif;opacity:.9}
.booking-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}
.booking-links a{display:inline-block;padding:17px 25px;border:1px solid rgba(255,255,255,.7);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:11px;transition:.2s}
.booking-links a:hover{background:#fff;color:var(--wine)}
.map-link{display:inline-block;margin-top:22px;color:var(--wine);text-decoration:none;border-bottom:1px solid var(--wine);padding-bottom:5px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:480px){.booking-links{flex-direction:column}.booking-links a{text-align:center}}

/* Direct booking request */
.book-inner{max-width:1120px;margin:auto}
.direct-form{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.direct-form label{display:flex;flex-direction:column;gap:8px}
.direct-form label>span{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.direct-form input,.direct-form select,.direct-form textarea{
  width:100%;padding:16px;border:1px solid rgba(255,255,255,.5);
  background:#fff;color:#332923;border-radius:0;outline:none
}
.direct-form textarea{resize:vertical}
.direct-form .full{grid-column:1/-1}
.direct-form .consent{flex-direction:row;align-items:center;gap:10px}
.direct-form .consent input{width:auto;margin:0}
.direct-form .consent span{font-size:12px;letter-spacing:0;text-transform:none}
.direct-submit{
  grid-column:1/-1;padding:17px 24px;border:1px solid rgba(255,255,255,.75);
  background:transparent;color:#fff;text-transform:uppercase;letter-spacing:.12em;cursor:pointer
}
.direct-submit:hover{background:#fff;color:var(--wine)}
.hidden-field{display:none}
.platform-alts{margin-top:46px;padding-top:28px;border-top:1px solid rgba(255,255,255,.28)}
.platform-alts>span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.78;margin-bottom:14px}
.platform-alts>div{display:flex;gap:12px;flex-wrap:wrap}
.platform-alts a{
  display:inline-block;padding:13px 18px;border:1px solid rgba(255,255,255,.6);
  color:#fff;text-decoration:none;font-size:11px;letter-spacing:.1em;text-transform:uppercase
}
.thankyou-page{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:30px}
.thankyou-card{max-width:700px;text-align:center;background:var(--paper);padding:70px 40px;border:1px solid var(--line)}
.thankyou-card h1{color:var(--wine);font-size:64px}
.thankyou-card p{font:20px/1.6 Georgia,serif;color:#6f6259}
.thankyou-link{display:inline-block;margin-top:24px;color:var(--wine);text-transform:uppercase;letter-spacing:.1em;font-size:11px;border-bottom:1px solid var(--wine);padding-bottom:5px}
@media(max-width:800px){.direct-form{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.direct-form{grid-template-columns:1fr}.direct-form .full,.direct-submit{grid-column:1}.platform-alts>div{flex-direction:column}.platform-alts a{text-align:center}}

.brand-wrap{text-decoration:none;color:var(--wine);display:flex;flex-direction:column;line-height:1}
.brand-main{font-family:Georgia,serif;font-size:20px;letter-spacing:.08em;color:var(--wine)}
.brand-sub{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--wine);margin-top:6px}
.header-actions{display:flex;align-items:center;gap:18px}
.lang-switch{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.12em;color:var(--wine)}
.lang-btn{border:0;background:none;padding:2px;color:#8d7771;cursor:pointer;font-size:10px;letter-spacing:.1em}
.lang-btn.active{color:var(--wine);font-weight:bold;border-bottom:1px solid var(--wine)}
.footer-brand-block{display:flex;flex-direction:column}
@media(max-width:800px){header{padding-left:5vw;padding-right:5vw}.brand-main{font-size:18px}.brand-sub{font-size:9px}}

.guide{background:#eee5da}
.guide-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.guide-intro>p:last-child{font:20px/1.7 Georgia,serif;color:#6f6259;margin-top:35px}
.karya-card{margin-top:70px;background:var(--wine);color:#fff;padding:55px 60px;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.karya-card h3,.beach-head h3{font:400 clamp(30px,4vw,48px)/1.08 Georgia,serif;margin:0}
.karya-card p{font:17px/1.7 Georgia,serif;margin:0 0 16px}
.beach-head{margin-top:85px;max-width:820px}.distance-note{color:#776960;line-height:1.6}
.beach-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);margin-top:35px}
.beach-grid article{padding:28px 22px 28px 0;border-bottom:1px solid var(--line)}
.beach-grid .km{display:block;color:var(--wine);font-size:12px;font-weight:bold;letter-spacing:.08em;margin-bottom:18px}
.beach-grid h4{font:25px Georgia,serif;color:var(--wine);margin:0 0 12px}
.beach-grid p{font-size:13px;line-height:1.6;color:#6f6259;margin:0}
@media(max-width:1000px){.beach-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.guide-intro,.karya-card{grid-template-columns:1fr}.karya-card{padding:42px 30px}.guide-intro>p:last-child{margin-top:0}}
@media(max-width:520px){.beach-grid{grid-template-columns:1fr}}

/* Final darker burgundy palette + discreet OTA links */
:root{--wine:#54252b;--wine2:#452126}
.subtle-platforms{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.20)}
.subtle-platforms>span{font-size:10px;opacity:.58;margin-bottom:9px}
.subtle-platforms>div{display:flex;gap:20px;align-items:center}
.subtle-platforms a{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.72)!important;
  text-transform:none!important;
  letter-spacing:.03em!important;
  font-size:12px!important;
  text-decoration:underline!important;
  text-underline-offset:4px;
  text-decoration-thickness:1px!important;
}
.subtle-platforms a:hover{color:#fff!important}
@media(max-width:520px){
  .subtle-platforms>div{flex-direction:row!important;gap:18px}
  .subtle-platforms a{text-align:left!important}
}

/* Quick booking engine directly below hero */
.quick-book{position:relative;z-index:5;max-width:1180px;margin:-72px auto 85px;padding:0 28px;text-align:center}
.quick-book-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.05fr;background:var(--paper);box-shadow:0 18px 45px rgba(45,30,25,.10)}
.quick-book-grid label{min-height:150px;padding:38px 36px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px}
.quick-book-grid label span{font-size:11px;letter-spacing:.18em;color:var(--wine)}
.quick-book-grid input,.quick-book-grid select{width:100%;border:0;background:transparent;color:var(--ink);font:18px Georgia,serif;outline:none;padding:0}
.quick-book-grid button{border:0;background:var(--wine);color:white;text-transform:uppercase;letter-spacing:.15em;font-size:11px;cursor:pointer;padding:24px}
.quick-book-grid button:hover{background:#452126}
.quick-book>p{margin:18px 0 0;color:#777066;font-size:12px}

/* Closing image CTA */
.closing-cta{min-height:760px;background-image:linear-gradient(rgba(20,14,11,.42),rgba(20,14,11,.48)),url('assets/photo-01.jpg');background-size:cover;background-position:center;display:grid;place-items:center;text-align:center;color:#fff;padding:70px 24px}
.closing-overlay{max-width:900px}
.closing-cta .eyebrow{letter-spacing:.20em;margin-bottom:30px}
.closing-cta h2{font:400 clamp(58px,8vw,118px)/.92 Georgia,serif;margin:0 0 50px}
.closing-book{display:inline-block;border:1px solid rgba(255,255,255,.9);padding:22px 38px;color:white;text-decoration:none;font-size:12px;letter-spacing:.18em;transition:.2s}
.closing-book:hover{background:#fff;color:var(--wine)}

/* Final footer */
.final-footer{background:var(--bg);padding:75px 24px 65px;text-align:center}
.footer-brand-center .brand-main{font-size:30px;letter-spacing:.18em}
.footer-brand-center .brand-sub{margin-top:10px}
.footer-socials{display:flex;justify-content:center;gap:42px;margin:42px 0 48px}
.footer-socials a,.footer-socials span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.footer-socials a:hover{color:var(--wine)}
.footer-social-disabled{opacity:.75;cursor:default}
.final-footer>p{color:#7d776f;font-size:14px}

@media(max-width:900px){
  .quick-book{margin:-48px auto 70px}
  .quick-book-grid{grid-template-columns:1fr}
  .quick-book-grid label{min-height:126px;border-right:0;border-bottom:1px solid var(--line)}
  .quick-book-grid button{min-height:100px}
}
@media(max-width:520px){
  .quick-book{padding:0 16px;margin:-46px auto 66px}
  .quick-book-grid label{padding:28px 28px;min-height:120px}
  .closing-cta{min-height:670px}
  .closing-cta h2{font-size:58px}
  .footer-socials{gap:25px;flex-wrap:wrap}
}

.booking-form-status{display:none;margin-top:4px;padding:16px 18px;border:1px solid rgba(255,255,255,.35);font:15px/1.5 Georgia,serif}
.booking-form-status.success,.booking-form-status.error{display:block;background:rgba(255,255,255,.10);color:#fff}
.direct-submit[disabled]{opacity:.65;cursor:wait}
