:root{--cream:#f2ede4;--paper:#faf7f1;--ink:#17392d;--deep:#09241b;--green:#24543f;--gold:#d6b978;--gold2:#efd99e;--muted:#6f786f;--line:rgba(23,57,45,.14);--white:#fff;--shadow:0 30px 80px rgba(8,35,26,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,sans-serif;line-height:1.6;overflow-x:hidden}html[dir=rtl] body{font-family:Cairo,sans-serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}#siteHeader{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;color:#fff;transition:.35s}#siteHeader.scrolled{background:rgba(242,237,228,.9);backdrop-filter:blur(18px);color:var(--ink);border-bottom:1px solid var(--line);padding-block:13px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--deep);font-family:"Playfair Display";font-weight:700;font-size:1.35rem}.brand strong,.brand small{display:block;line-height:1.15}.brand small{opacity:.62;margin-top:3px}.desktop-nav{display:flex;gap:28px;font-size:.9rem;font-weight:700}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transition:.25s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:9px}.small-btn,.menu-btn{border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.09);color:inherit;border-radius:999px;padding:10px 14px;cursor:pointer}.scrolled .small-btn,.scrolled .menu-btn{border-color:var(--line);background:#fff}.header-book{padding:11px 18px;border-radius:999px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--deep);font-weight:800}.menu-btn{display:none;width:44px;height:42px;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-btn span{width:17px;height:1.5px;background:currentColor}.mobile-nav{position:fixed;z-index:45;top:78px;left:5vw;right:5vw;display:none;flex-direction:column;gap:18px;background:var(--paper);color:var(--ink);padding:24px;border-radius:22px;box-shadow:var(--shadow);font-weight:800}.mobile-nav.open{display:flex}.hero{position:relative;min-height:100vh;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url("images/hero.jpg");background-size:cover;background-position:center}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(5,28,20,.92),rgba(11,45,33,.63) 58%,rgba(10,31,24,.2))}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 74% 27%,rgba(237,217,158,.18),transparent 27%)}.hero-content{position:relative;z-index:2;width:min(1180px,90vw);margin:auto;padding:150px 0 150px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--gold2)}.eyebrow.dark{color:var(--green)}.hero h1,.intro h2,.section-heading h2,.cinematic h2,.availability-copy h2,.location-copy h2,.booking-intro h2{font-family:"Playfair Display";letter-spacing:-.04em;line-height:1.02}.hero h1{font-size:clamp(3.7rem,7vw,7.6rem);max-width:900px;margin:17px 0 24px}.hero h1 span,.hero h1 em{display:block}.hero h1 em{font-style:normal;color:var(--gold2)}html[dir=rtl] .hero h1,html[dir=rtl] .intro h2,html[dir=rtl] .section-heading h2,html[dir=rtl] .cinematic h2,html[dir=rtl] .availability-copy h2,html[dir=rtl] .location-copy h2,html[dir=rtl] .booking-intro h2{font-family:Cairo,sans-serif;letter-spacing:0}.hero-content>p{max-width:650px;color:rgba(255,255,255,.74);font-size:1.08rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.primary-btn,.secondary-btn{min-height:54px;padding:0 25px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;transition:.2s}.primary-btn{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--deep);box-shadow:0 14px 32px rgba(0,0,0,.18)}.secondary-btn{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.09);color:#fff;backdrop-filter:blur(9px)}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-2px)}.hero-stats{position:absolute;z-index:2;left:5vw;right:5vw;bottom:28px;display:flex;gap:12px}.hero-stats div{min-width:170px;padding:14px 18px;border:1px solid rgba(255,255,255,.18);background:rgba(7,30,22,.4);border-radius:16px;backdrop-filter:blur(10px)}.hero-stats strong,.hero-stats span{display:block}.hero-stats span{font-size:.76rem;color:rgba(255,255,255,.62)}.section{width:min(1180px,90vw);margin:auto;padding:105px 0}.intro{display:grid;grid-template-columns:.33fr 1.67fr;gap:70px}.section-label{display:flex;gap:12px;color:var(--green)}.section-label small{letter-spacing:.15em;font-weight:800}.intro h2,.section-heading h2,.availability-copy h2,.location-copy h2,.booking-intro h2{font-size:clamp(2.7rem,5vw,5.1rem);margin:0}.intro-copy p,.section-heading>p{color:var(--muted);max-width:780px}.feature-band{width:min(1380px,94vw);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:25px;overflow:hidden}.feature-band article{background:var(--paper);padding:29px}.feature-band span{font-size:.73rem;font-weight:800;color:var(--green)}.feature-band h3{margin:14px 0 8px}.feature-band p{margin:0;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-heading>div{max-width:760px}.section-heading h2{margin-top:10px}.section-heading>p{max-width:310px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:13px}.gallery-item{position:relative;border:0;padding:0;border-radius:22px;overflow:hidden;cursor:pointer;background:linear-gradient(145deg,#769b86,#1f513d)}.gallery-item.large{grid-column:span 2;grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:after{content:"↗";position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.85);color:var(--deep);font-weight:800}.gallery-item.image-missing img{display:none}.gallery-item.image-missing:before{content:"Add photo";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800}.cinematic{min-height:600px;display:grid;place-items:center;text-align:center;color:#fff;background-image:linear-gradient(rgba(7,29,21,.4),rgba(7,29,21,.78)),url("images/evening.jpg");background-size:cover;background-position:center}.cinematic>div{max-width:950px;padding:30px}.cinematic h2{font-size:clamp(3rem,6vw,6.2rem);margin:13px 0 24px}.cinematic a{font-weight:800;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:5px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.price-card{padding:34px;border-radius:29px;background:var(--paper);border:1px solid var(--line)}.price-card.premium{background:linear-gradient(145deg,#24543f,#0b2a20);color:#fff}.price-card header{display:flex;justify-content:space-between;gap:18px;margin-bottom:25px}.price-card header h3{font-size:1.5rem;margin:3px 0 0}.price-card header small{color:var(--muted)}.premium header small{color:rgba(255,255,255,.55)}.price-card ul{list-style:none;padding:0;margin:0}.price-card li{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.premium li{border-color:rgba(255,255,255,.15)}.important-note{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:25px;color:var(--muted)}.important-note>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#ead7aa;color:var(--deep);font-weight:900}.availability-section{background:var(--deep);color:#fff}.availability-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.availability-copy p{color:rgba(255,255,255,.64)}.availability-status{display:flex;align-items:center;gap:10px;margin-top:30px}.availability-status span{width:10px;height:10px;border-radius:50%;background:#6fc088;box-shadow:0 0 0 7px rgba(111,192,136,.13)}.availability-card{padding:30px;border-radius:28px;background:var(--paper);color:var(--ink)}label{display:block;font-size:.87rem;font-weight:800}input,select{width:100%;margin-top:7px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(36,84,63,.12)}.quick-result{margin:18px 0;padding:20px;border-radius:18px;background:#fff}.quick-result small{color:var(--muted)}#quickPrices{display:grid;gap:8px;margin-top:13px}#quickPrices p{display:flex;justify-content:space-between;margin:0;padding-top:8px;border-top:1px solid var(--line)}.disabled{pointer-events:none;opacity:.5}.reviews .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-grid article{padding:28px;border-radius:24px;background:var(--paper);border:1px solid var(--line)}.review-grid article>div{color:#bc9450;letter-spacing:.12em}.review-grid p{color:var(--muted)}.location-section{display:grid;grid-template-columns:.75fr 1.25fr;min-height:570px;background:linear-gradient(145deg,#173e2f,#09241b);color:#fff}.location-copy{padding:80px max(5vw,calc((100vw - 1180px)/2));padding-right:50px;align-self:center}.location-copy p{color:rgba(255,255,255,.64)}.map-wrap{position:relative;min-height:570px;background:#d9d2c4}.map-wrap iframe{width:100%;height:100%;border:0;display:none}.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink);padding:25px;background:radial-gradient(circle at 50% 45%,#fff8,transparent 25%),linear-gradient(145deg,#d8d1c2,#aca58f)}.map-placeholder>span{font-size:3rem}.map-placeholder strong,.map-placeholder small{display:block}.map-placeholder small{color:var(--muted)}.booking-section{background:#0a2119;color:#fff}.booking-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:65px}.booking-intro>p{color:rgba(255,255,255,.64)}.booking-points{margin-top:30px}.booking-points p{display:flex;align-items:center;gap:10px}.booking-points span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(214,185,120,.13);color:var(--gold2)}.booking-form{padding:30px;border-radius:29px;background:var(--paper);color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consent{display:flex;align-items:flex-start;gap:9px;margin:17px 0;font-weight:600}.consent input{width:auto;margin-top:5px}.booking-estimate{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px;border-radius:18px;background:#fff}.booking-estimate small,.booking-estimate strong{display:block}.booking-estimate strong{font-size:1.85rem;color:var(--green)}.booking-estimate p{max-width:265px;margin:0;color:var(--muted);font-size:.82rem}.submit-btn{width:100%;min-height:57px;margin-top:15px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--deep);padding:0 22px;display:flex;align-items:center;justify-content:space-between;font-weight:800;cursor:pointer}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.faq-list details{padding:20px 22px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:800}.faq-list p{color:var(--muted);margin-bottom:0}footer{padding:50px 5vw 25px;background:#061812;color:#fff}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.67)}.footer-bottom{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.43)}.lightbox{position:fixed;z-index:90;inset:0;background:rgba(2,14,10,.92);display:none;align-items:center;justify-content:center;padding:4vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:88vh;border-radius:18px;box-shadow:0 30px 100px #000}.lightbox button{position:absolute;right:25px;top:20px;border:0;background:transparent;color:#fff;font-size:2.5rem;cursor:pointer}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.desktop-nav,.header-book{display:none}.menu-btn{display:flex}.intro,.availability-inner,.booking-layout,.location-section{grid-template-columns:1fr}.feature-band{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr}.location-copy{padding:80px 5vw}.reviews .review-grid{grid-template-columns:1fr}.map-wrap{min-height:470px}}@media(max-width:650px){#siteHeader{padding:15px 4vw}.brand strong{font-size:.88rem}.brand small{font-size:.68rem}.hero-content{width:92vw;padding-top:135px}.hero h1{font-size:3.65rem}.hero-stats{position:relative;left:auto;right:auto;bottom:auto;width:92vw;margin:-120px auto 25px;flex-direction:column}.hero-stats div{min-width:0}.section{width:92vw;padding:75px 0}.intro h2,.section-heading h2,.availability-copy h2,.location-copy h2,.booking-intro h2{font-size:2.7rem}.section-heading{align-items:flex-start;flex-direction:column}.feature-band{grid-template-columns:1fr;width:92vw}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:290px}.gallery-item.large,.gallery-item.wide{grid-column:auto;grid-row:auto}.form-grid,.faq-list{grid-template-columns:1fr}.booking-estimate{align-items:flex-start;flex-direction:column}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.cinematic{min-height:470px}.cinematic h2{font-size:3rem}}
.calendar-card{padding:28px}.calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:20px}.calendar-head>div{text-align:center}.calendar-head small,.calendar-head strong{display:block}.calendar-head small{color:var(--muted)}.calendar-head strong{font-size:1.2rem;margin-top:2px}.calendar-head button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.7rem;cursor:pointer}.calendar-head button:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;font-size:.72rem;font-weight:800;color:var(--muted);padding:4px}.calendar-day{aspect-ratio:1;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:800;position:relative;transition:.18s}.calendar-day:hover:not(:disabled){transform:translateY(-2px);border-color:var(--green)}.calendar-day.available{background:#eef7f1;border-color:#b8d8c4}.calendar-day.limited{background:#fff6dc;border-color:#e8cb73}.calendar-day.unavailable{background:#f1efeb;color:#aaa;text-decoration:line-through;cursor:not-allowed}.calendar-day.past{opacity:.35;cursor:not-allowed}.calendar-day.selected{outline:3px solid rgba(36,84,63,.22);border-color:var(--green);background:#dceee3}.calendar-day.empty{visibility:hidden}.calendar-day.today:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--green)}.calendar-legend{display:flex;gap:15px;flex-wrap:wrap;margin:16px 0 4px}.calendar-legend span{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted)}.calendar-legend i{width:10px;height:10px;border-radius:50%;display:block}.available-dot{background:#a8d2b7}.limited-dot{background:#e5c158}.unavailable-dot{background:#b7b2aa}@media(max-width:650px){.calendar-card{padding:18px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{border-radius:9px;font-size:.83rem}}

.calendar-day{padding:5px;flex-direction:column;gap:4px}
.calendar-day-number{line-height:1}
.slot-bars{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:100%}
.slot-bar{height:4px;border-radius:999px;background:#a8d2b7}
.slot-bar.busy{background:#c8c2ba}
.slot-labels{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:100%;font-size:.52rem;color:var(--muted);font-weight:800}
.calendar-day.partial{background:#fff8e6;border-color:#e8cb73}
.calendar-day.unavailable .slot-bar{background:#c8c2ba}
.calendar-legend .daytime-dot{background:#d8b85a}
.calendar-legend .evening-dot{background:#8fa5c7}
.slot-status-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.slot-status{padding:10px;border-radius:12px;background:#eef7f1;border:1px solid #b8d8c4;text-align:center}
.slot-status.busy{background:#f1efeb;border-color:#d4d0ca;color:#999}
.slot-status strong,.slot-status small{display:block}
.slot-status small{font-size:.7rem}
@media(max-width:650px){
  .calendar-day{padding:4px;gap:3px}
  .slot-labels{font-size:.45rem}
  .slot-bar{height:3px}
}

.calendar-day.friday-available{
  background:#edf4ff;
  border-color:#9bb9e4;
}
.friday-full{
  width:100%;
  min-height:38px;
  border-radius:9px;
  background:#1f63ad;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:5px 2px;
}
.friday-full.busy{
  background:#b8b8b8;
}
.friday-icon{
  font-size:.8rem;
  line-height:1;
}
.friday-full small{
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.02em;
}
.calendar-day.unavailable .friday-full{
  background:#b8b8b8;
}
@media(max-width:650px){
  .friday-full{min-height:32px;padding:4px 1px}
  .friday-full small{font-size:.43rem}
}
.calendar-legend .friday-dot{background:#1f63ad}

.cloud-status{
  display:inline-flex;align-items:center;gap:7px;margin-top:14px;
  padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:800;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.78)
}
.cloud-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#d7b86f}
.cloud-status[data-state="online"]:before{background:#6fc088}
.cloud-status[data-state="offline"]:before{background:#c98570}
