:root{--bg:#faf8f4;--ink:#1d1b18;--mut:#6f6a60;--sage:#ebe8de;--acc:#9a7b4f;--line:#ddd7c9;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',system-ui,sans-serif;--e:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:300 1.05rem/1.75 var(--sans);color:var(--ink);background:var(--bg);overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08}
h2{font-size:clamp(2.2rem,4.6vw,3.7rem)}h3{font-size:1.9rem}
.w{width:min(1200px,90%);margin-inline:auto}.sec{padding:clamp(4rem,9vw,8rem) 0}.ct{text-align:center}.sg{background:var(--sage)}
.k{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--acc);display:block;margin-bottom:1rem}
.lead{max-width:60ch;margin:1.2rem auto 0;color:var(--mut)}
.btn{display:inline-block;padding:1rem 2.1rem;border:1px solid var(--ink);background:var(--ink);color:#fff;font:400 .8rem var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:.4s}.btn:hover{background:transparent;color:var(--ink)}
.btn.o{background:transparent;color:inherit;border-color:currentColor}.btn.o:hover{background:#fff;color:var(--ink);border-color:#fff}.btn.a{background:var(--acc);border-color:var(--acc);color:#fff}.btn.a:hover{background:transparent;color:var(--acc)}
.rv{opacity:0;transform:translateY(32px);transition:opacity 1.1s,transform 1.1s var(--e)}.rv.in{opacity:1;transform:none}
.im{overflow:hidden}.im img{width:100%;height:100%;object-fit:cover;scale:1.1;transition:scale 1.8s var(--e),transform 1.2s var(--e)}.im.in img{scale:1}
/* header */
.hd{position:fixed;inset:0 0 auto;z-index:70;color:#fff;transition:background .4s,color .4s,box-shadow .4s}
.hd.sd{background:rgba(250,248,244,.96);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(8px)}
.hb{display:flex;align-items:center;justify-content:space-between;height:92px;transition:height .4s}.hd.sd .hb{height:68px}
.lg{font:500 1.9rem var(--serif);letter-spacing:.06em}.lg small{display:block;font:300 .62rem var(--sans);letter-spacing:.42em;text-transform:uppercase;margin-top:-.2rem;opacity:.8}
.nv{display:flex;align-items:center;gap:2.2rem}.nv a:not(.btn){font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;position:relative;padding:.3rem 0}
.nv a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .4s}.nv a.on::after,.nv a:not(.btn):hover::after{width:100%}
.nv .btn{padding:.75rem 1.5rem;background:transparent;color:inherit;border-color:currentColor}.nv .btn:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.bg{display:none;background:0;border:0;color:inherit;width:46px;height:46px;cursor:pointer}.bg span{display:block;height:1px;background:currentColor;margin:8px 9px;transition:.3s}.bg.on span:first-child{transform:translateY(4.5px) rotate(45deg)}.bg.on span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
/* hero */
.hero{position:relative;height:100svh;min-height:620px;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden;background:#222}.hero.s{height:64svh;min-height:440px}
.hero .bgi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 18s var(--e) forwards}@keyframes kb{from{scale:1.14}to{scale:1}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(20,18,14,.45),rgba(20,18,14,.2) 45%,rgba(20,18,14,.6))}
.hc{position:relative;z-index:2;padding:130px 5% 0}.hc>*{opacity:0;transform:translateY(26px);animation:up 1.3s var(--e) forwards}.hc>:nth-child(2){animation-delay:.2s}.hc>:nth-child(3){animation-delay:.4s}.hc>:nth-child(4){animation-delay:.6s}
@keyframes up{to{opacity:1;transform:none}}
.hero h1{font-size:clamp(3rem,8.5vw,7.4rem);font-weight:400}.hero.s h1{font-size:clamp(2.8rem,7vw,5.6rem)}.hero .k{color:#e6cf9f}.hero p.d{max-width:48ch;margin:1.4rem auto 2.2rem;font-size:1.15rem;opacity:.92}
.btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
/* availability */
.av{position:relative;z-index:5;margin-top:-58px}
.av form{background:#fff;padding:1.6rem 1.8rem;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1.5rem;align-items:end;box-shadow:0 24px 60px rgba(29,27,24,.18)}
label{display:grid;gap:.3rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
input,select,textarea{font:300 1.05rem var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:.6rem 0;width:100%;border-radius:0}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--acc)}
/* blocks */
.sp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.sp.r .im{order:2}.sp .im{aspect-ratio:4/4.6}.sp p{color:var(--mut);margin:1.2rem 0 2rem;max-width:50ch}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:3.5rem;text-align:left}.card .im{aspect-ratio:4/3}.card:hover .im img{transform:scale(1.05)}
.card h3{margin:1.4rem 0 .3rem}.card .m{display:flex;gap:1.4rem;color:var(--mut);font-size:.92rem;margin-bottom:1rem}.pz{font:500 1.7rem var(--serif);color:var(--acc)}.pz small{font:300 .88rem var(--sans);color:var(--mut)}
.card .row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem}
.sv{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3.5rem;text-align:left}.sv span{font:500 2.4rem var(--serif);color:var(--acc)}.sv h3{font-size:1.6rem;margin:.2rem 0 .4rem}.sv p{color:var(--mut);font-size:.98rem}
.sv>div{border-top:1px solid var(--line);padding-top:1.4rem}
.rt{display:grid;grid-template-columns:1fr 1fr;margin:1.6rem 0 2rem}.rt li{padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.95rem}.rt li::before{content:"";display:inline-block;width:5px;height:5px;background:var(--acc);border-radius:50%;margin-right:.8rem;vertical-align:middle}
.rv2{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:2.5rem 0 1rem;scrollbar-width:none}.rv2 blockquote{flex:0 0 min(400px,86%);scroll-snap-align:start;background:#fff;padding:2.2rem;border:1px solid var(--line)}
.rv2 p{font:italic 1.35rem/1.5 var(--serif);margin-bottom:1.2rem}.rv2 cite{font-style:normal;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.sc{display:flex;align-items:baseline;justify-content:center;gap:1rem;margin-top:1.4rem}.sc b{font:500 4rem/1 var(--serif);color:var(--acc)}
.cta{position:relative;color:#fff;text-align:center;overflow:hidden;background:#222}.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta::after{content:"";position:absolute;inset:0;background:rgba(20,18,14,.62)}.cta .w{position:relative;z-index:2}.cta h2{max-width:18ch;margin:0 auto 2rem}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gal figure{overflow:hidden;cursor:zoom-in;aspect-ratio:4/5}.gal figure:nth-child(3n+2){aspect-ratio:4/3;align-self:end}.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}.gal figure:hover img{transform:scale(1.06)}
.lb{position:fixed;inset:0;z-index:200;background:rgba(20,18,14,.95);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.4s;padding:1rem}.lb.on{opacity:1;visibility:visible}.lb img{max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:0;border:0;color:#fff;font:400 .8rem var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:1rem}.lb .x{top:.8rem;right:.8rem}.lb .p{left:.5rem}.lb .n{right:.5rem}
/* reservation */
.cl{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}.ms{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.nvm{display:flex;justify-content:space-between;margin-bottom:1rem}.nvm button{background:0;border:1px solid var(--line);width:44px;height:44px;border-radius:50%;font-size:1.1rem;cursor:pointer}.nvm button:disabled{opacity:.3}
.mo h4{text-align:center;font-size:1.6rem;margin-bottom:1rem}.dw{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.dw b{font-weight:400;font-size:.75rem;color:var(--mut);padding:.4rem 0}
.d{aspect-ratio:1;border:0;background:0;font:inherit;cursor:pointer;border-radius:50%;color:inherit;transition:background .25s}.d:hover:not(:disabled){background:var(--sage)}.d.sel{background:var(--ink);color:#fff}.d.rng{background:var(--sage);border-radius:0}.d:disabled{opacity:.28;cursor:default}
.su{background:#fff;border:1px solid var(--line);padding:2rem;display:grid;gap:1.3rem;position:sticky;top:96px}.su dl{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;font-size:.95rem;border-block:1px solid var(--line);padding:1rem 0}.su dt{color:var(--mut)}.su dd{text-align:right}.su small{color:var(--mut);font-size:.8rem}.er{color:#a33;font-size:.9rem;min-height:1.2rem}
.ci{font:500 clamp(1.5rem,1.5vw,2.6rem)/1.2 var(--serif);margin-bottom:1.6rem}.ci small{display:block;font:300 .72rem var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--acc)}
.map{width:100%;height:380px;border:0;filter:grayscale(1);margin-top:3rem}
.fm{display:grid;gap:1.6rem}
details{border-top:1px solid var(--line);padding:1.2rem 0}summary{list-style:none;display:flex;justify-content:space-between;font:500 1.5rem var(--serif);cursor:pointer}summary::after{content:"+";color:var(--acc);transition:.3s}details[open] summary::after{transform:rotate(45deg)}details p{color:var(--mut);margin-top:.6rem}
/* footer */
footer{background:var(--ink);color:#cfc9bb;padding:5rem 0 1.5rem}.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:3rem}footer h4{font:400 .75rem var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#d8bd88;margin-bottom:1.2rem}footer li{margin-bottom:.5rem}footer a:hover{color:#d8bd88}.fl{font:500 2rem var(--serif);color:#fff;margin-bottom:.8rem}
.cp{margin-top:3.5rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.85rem}
.sb{display:none}
@media(max-width:900px){
.bg{display:block}.hb{height:72px}
.nv{position:fixed;inset:72px 0 0;background:var(--bg);color:var(--ink);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.4rem;padding:0 8%;opacity:0;visibility:hidden;transition:.4s}.nv.on{opacity:1;visibility:visible}
.nv a:not(.btn){font:500 2.2rem var(--serif);letter-spacing:0;text-transform:none}.nv .btn{margin-top:1rem;background:var(--ink);color:#fff}
.av form{grid-template-columns:1fr 1fr;padding:1.4rem}.av .btn{grid-column:1/-1}
.sp,.cards,.cl,.fg{grid-template-columns:1fr}.sp.r .im{order:0}.sv{grid-template-columns:1fr 1fr}.su{position:static}.ms{grid-template-columns:1fr}.gal{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr 1fr}
body{padding-bottom:58px}.sb{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:60}.sb a{padding:1.1rem;text-align:center;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#fff}.sb a:first-child{background:var(--ink)}.sb a:last-child{background:var(--acc)}}
@media(max-width:560px){.sv,.fg,.rt{grid-template-columns:1fr}.hc{padding-top:70px}.gal figure,.gal figure:nth-child(n){aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.rv,.hc>*{opacity:1;transform:none}.im img{scale:1}}

.gal.m{display:block;columns:3 280px;column-gap:1rem}.gal.m figure,.gal.m figure:nth-child(n){aspect-ratio:auto;align-self:auto;break-inside:avoid;margin-bottom:1rem}.gal.m img{height:auto}.gal figure[hidden]{display:none}
.fl{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:left;margin-bottom:2.5rem}.fb{background:0;border:1px solid var(--line);padding:.7rem 1.6rem;font:400 .76rem var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:inherit;transition:.3s}.fb:hover,.fb.on{background:var(--ink);border-color:var(--ink);color:#fff}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);text-align:center}.facts div{padding:1.6rem 1rem;border-right:1px solid var(--line)}.facts div:last-child{border:0}.facts b{display:block;font:500 1.9rem var(--serif)}.facts span{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.wp{position:relative;background:var(--sage);display:grid;place-items:center;aspect-ratio:4/4.6;overflow:hidden;color:var(--mut);text-align:center;padding:1.5rem;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}.wp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card h3 a:hover{color:var(--acc)}.lnk{display:inline-block;border-bottom:1px solid currentColor;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;padding-bottom:2px}
@media(max-width:700px){.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.whatsapp-float {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 99999;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    padding: 8px 20px;
    background: #202d26;
    color: #ffffff;
    text-decoration: none;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;

    border-radius: 100px;
    box-shadow: 0 8px 35px rgba(0, 0, 0, 0.16);
    transition: background 0.25s ease,
                transform 0.25s ease,
                box-shadow 0.25s ease;
  }

  .whatsapp-float:hover {
    background: #263b30;
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
  }

  .whatsapp-float svg {
    flex-shrink: 0;
  }

  @media (max-width: 767px) {
    .whatsapp-float {
      bottom: 18px;
      left: 16px;
      padding: 15px 20px;
      gap: 10px;
      font-size: 14px;
    }

    .whatsapp-float svg {
      width: 25px;
      height: 25px;
    }
  }