:root{--teal:#2f7a69;--teal-d:#245f52;--mint:#dcebe5;--brown:#4a2f29;--ink:#2a1f1c;--mute:#776a64;--line:#e9e1d7;--bg:#f8f4ee;--card:#fff;--sand:#f1e9dd;--wa:#1fa855}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--ink);font:500 16px/1.6 Montserrat,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
[dir=rtl] body,[dir=rtl] input,[dir=rtl] textarea,[dir=rtl] button{font-family:Cairo,Montserrat,system-ui,sans-serif}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;border:1.5px solid var(--brown);color:var(--brown);background:transparent;font:700 15px Montserrat,Cairo,sans-serif;text-decoration:none;cursor:pointer;transition:.2s}
[dir=rtl] .btn{font-family:Cairo,sans-serif;font-size:16px}
.btn:hover{background:var(--brown);color:#fff}
.btn.pri{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.pri:hover{background:var(--teal-d);border-color:var(--teal-d)}
.btn.sm{padding:9px 16px;font-size:14px}
.btn.wide{width:100%}
.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff;font-size:16px;padding:15px}
.btn.wa:hover{filter:brightness(.95)}
.btn.wa svg{width:22px;height:22px;fill:#fff}
.brand{display:inline-flex;flex-direction:column;text-decoration:none;color:var(--brown);line-height:1}
.brand b{font:700 34px/1 "Cormorant Garamond",Georgia,serif;letter-spacing:.5px}
.brand small{font:700 10px/1 Montserrat,sans-serif;letter-spacing:4.5px;text-transform:uppercase;color:var(--teal);margin-top:4px}
[dir=rtl] .brand small{font:700 13px/1 Cairo,sans-serif;letter-spacing:0}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(248,244,238,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:18px;height:68px}
.links{display:flex;gap:22px;margin-inline-start:auto}
.links a{text-decoration:none;font-weight:600;font-size:15px;color:var(--ink)}
.links a:hover{color:var(--teal)}
.lang{display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}
.lang button{border:0;background:none;font:700 13px Montserrat,Cairo,sans-serif;color:var(--mute);padding:6px 12px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed=true]{background:var(--brown);color:#fff}
@media(max-width:760px){.links{display:none}.lang{margin-inline-start:auto}.hide-sm{display:none}}
/* hero */
.hero{padding:44px 0 56px;background:radial-gradient(1000px 420px at 85% 10%,var(--mint),transparent 70%)}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.kicker{margin:0 0 10px;font-weight:700;font-size:12.5px;letter-spacing:3px;text-transform:uppercase;color:var(--teal)}
[dir=rtl] .kicker{letter-spacing:0;font-size:15px}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;color:var(--brown);font-weight:700;margin:0}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{font-family:Cairo,sans-serif;font-weight:800}
h1{font-size:clamp(42px,6vw,68px);line-height:1.02}
[dir=rtl] h1{font-size:clamp(34px,5vw,54px);line-height:1.25}
h2{font-size:clamp(32px,4.2vw,46px);line-height:1.1;margin-bottom:26px}
[dir=rtl] h2{font-size:clamp(28px,3.6vw,38px);line-height:1.35}
.lead{font-size:18px;color:var(--mute);max-width:520px;margin:18px 0 26px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.facts{list-style:none;padding:0;margin:34px 0 0;display:flex;gap:26px;flex-wrap:wrap}
.facts li{display:flex;flex-direction:column;border-inline-start:3px solid var(--teal);padding-inline-start:12px}
.facts b{font:700 22px/1.1 "Cormorant Garamond",Georgia,serif;color:var(--brown)}
[dir=rtl] .facts b{font:800 18px/1.3 Cairo,sans-serif}
.facts span{font-size:13px;color:var(--mute)}
.hero-pics{position:relative;height:520px}
.hero-pics img{position:absolute;border-radius:22px;object-fit:cover;box-shadow:0 24px 50px rgba(74,47,41,.18)}
.hero-pics .p1{width:62%;height:86%;inset-inline-end:0;top:0}
.hero-pics .p2{width:52%;height:64%;inset-inline-start:0;bottom:0;border:6px solid var(--bg)}
@media(max-width:900px){.hero-in{grid-template-columns:1fr}.hero-pics{height:auto;aspect-ratio:1/1;max-width:480px;width:100%;margin:0 auto}.hero{padding-top:28px}}
/* sections */
.sec{padding:72px 0}
.sec.alt{background:var(--sand)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cards{grid-template-columns:1fr}}
.cards article{background:var(--card);border-radius:20px;padding:22px;border:1px solid var(--line)}
.cards h3{margin:12px 0 6px;font-size:18px;color:var(--brown)}
.cards p{margin:0;color:var(--mute);font-size:14.5px}
.ic{display:inline-flex;width:46px;height:46px;border-radius:14px;background:var(--mint);align-items:center;justify-content:center}
.ic svg{width:26px;height:26px;fill:none;stroke:var(--teal-d);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.center{text-align:center;margin-top:30px}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:700px){.gal{grid-template-columns:1fr 1fr;gap:10px}}
.gal button{border:0;padding:0;border-radius:18px;overflow:hidden;cursor:zoom-in;background:var(--line);aspect-ratio:3/4}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal button:hover img{transform:scale(1.04)}
.lb{position:fixed;inset:0;z-index:50;background:rgba(20,14,12,.92);display:flex;align-items:center;justify-content:center;padding:16px}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:100%;border-radius:12px}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;width:46px;height:46px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer}
.lb .x{top:14px;inset-inline-end:14px}.lb .pv{left:10px;top:50%}.lb .nx{right:10px;top:50%}
/* booking */
.book{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
@media(max-width:860px){.book{grid-template-columns:1fr}}
.book-txt p{color:var(--mute);margin:0 0 16px}
.steps{padding-inline-start:20px;margin:0;color:var(--ink)}
.steps li{margin-bottom:8px}
.card{background:var(--card);border-radius:24px;padding:24px;border:1px solid var(--line);box-shadow:0 18px 40px rgba(74,47,41,.08)}
.card label{display:block;margin-bottom:14px}
.card label>span{display:block;font-size:13px;font-weight:700;color:var(--brown);margin-bottom:6px}
.card input,.card textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:600 16px Montserrat,Cairo,sans-serif;color:var(--ink)}
.card input:focus,.card textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:transparent}
.card textarea{font-weight:500;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{flex:none;width:48px;height:48px;border-radius:14px;border:1px solid var(--line);background:var(--sand);font-size:22px;font-weight:700;color:var(--brown);cursor:pointer}
.stepper input{text-align:center;font-size:18px}
.err{color:#a3312a;font-weight:600;font-size:14px;min-height:0;margin:0 0 10px}
.err:empty{display:none}
.small{font-size:13px;color:var(--mute);margin:12px 0 0;text-align:center}
.bad{border-color:#a3312a!important}
/* contact */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.contact a,.contact div{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none}
.contact a:hover{border-color:var(--teal)}
.contact .ic{flex:none}
.contact b{display:block;color:var(--brown)}
.contact span{font-size:14px;color:var(--mute)}
/* footer + fab */
.foot{padding:44px 0 90px;text-align:center;color:var(--mute);font-size:14px}
.foot p{margin:12px 0 0}
.fab{position:fixed;inset-inline-end:16px;bottom:16px;z-index:30;background:var(--teal);color:#fff;text-decoration:none;font-weight:700;padding:14px 20px;border-radius:999px;box-shadow:0 10px 26px rgba(36,95,82,.35);display:none}
@media(max-width:760px){.fab{display:block}}
.book>*,.row2>*,.hero-in>*{min-width:0}
.card input{min-width:0}
input[type=date],input[type=time]{-webkit-appearance:none;appearance:none;min-height:50px}
