:root{--cream:#FBF6F2;--blush:#F1DDD4;--rose:#D9A99A;--plum:#4A2C3A;--plum2:#6B4254;--gold:#B88A5A;--ink:#2B1D24;--muted:#7B6670;--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Tajawal,system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.skip{position:absolute;inset-inline-start:-999px;top:8px;background:var(--plum);color:#fff;padding:8px 14px;border-radius:10px;z-index:100}.skip:focus{inset-inline-start:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ico{width:20px;height:20px;flex:none}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(251,246,242,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(74,44,58,.08)}
.hdr-in{display:flex;align-items:center;gap:14px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--plum)}
.logo svg{width:38px;height:38px;color:var(--gold)}
.logo span{display:flex;flex-direction:column;line-height:1.05}
.logo b{font-size:26px;font-weight:800;letter-spacing:-.5px}
.logo i{font-family:'Playfair Display',serif;font-size:11px;letter-spacing:1.5px;color:var(--gold);direction:ltr;text-align:right}
.nav{display:none;gap:26px;margin-inline-start:auto}
.nav a{text-decoration:none;font-weight:500;color:var(--plum2)}.nav a:hover{color:var(--gold)}
.hdr .btn-sm{margin-inline-start:auto}
.menu{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.menu span{width:22px;height:2px;background:var(--plum);border-radius:2px}
.nav.open{display:flex;position:absolute;top:68px;inset-inline:0;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid rgba(74,44,58,.1);padding:8px 20px 16px}
.nav.open a{padding:12px 0;border-bottom:1px solid rgba(74,44,58,.06)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--plum);color:#fff;text-decoration:none;font-weight:700;padding:14px 24px;border-radius:999px;border:0;font:inherit;font-weight:700;cursor:pointer;transition:transform .2s,background .2s;min-height:48px}
.btn:hover{background:var(--plum2);transform:translateY(-1px)}
.btn-sm{padding:8px 18px;min-height:40px;font-size:14px}
.btn-ghost{background:transparent;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}.btn-ghost:hover{background:var(--plum);color:#fff}
.btn-light{background:var(--blush);color:var(--plum)}.btn-light:hover{background:#fff}
.btn-block{width:100%}
/* hero */
.hero{padding:28px 0 56px;background:radial-gradient(800px 400px at 0% 0%,#F6E3DA 0,transparent 60%)}
.hero-in{display:grid;gap:34px}
.eyebrow{margin:0 0 10px;color:var(--gold);font-weight:700;font-size:14px;letter-spacing:.3px}
h1{font-size:clamp(38px,10vw,68px);line-height:1.15;margin:0 0 16px;color:var(--plum);font-weight:800}
h1 em{font-style:normal;color:var(--gold);position:relative}
.lead{font-size:18px;color:var(--muted);margin:0 0 26px;max-width:520px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.cta-row .btn{flex:1 1 220px}
.trust{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--plum2)}
.trust li::before{content:"✦";color:var(--gold);margin-inline-end:6px}
.hero-art{position:relative;max-width:520px;width:100%;margin-inline:auto}
.arch{border-radius:999px 999px 28px 28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -30px rgba(74,44,58,.45);border:8px solid #fff}
.arch img{width:100%;height:100%;object-fit:cover}
.hero-card{position:absolute;inset-inline-start:-6px;bottom:28px;background:#fff;border-radius:18px;padding:12px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 18px 40px -18px rgba(74,44,58,.4);max-width:85%}
.hero-card .stars{width:40px;height:40px;border-radius:50%;background:var(--blush);display:grid;place-items:center;color:var(--gold);font-size:18px;flex:none}
.hero-card b{display:block;color:var(--plum)}.hero-card small{color:var(--muted)}
/* sections */
.sec{padding:64px 0}.sec-tint{background:#F5EAE4}
.sec-head{text-align:center;max-width:620px;margin:0 auto 32px}
.sec-head h2,h2{font-size:clamp(28px,6.5vw,42px);line-height:1.25;margin:0 0 10px;color:var(--plum);font-weight:800}
.sec-head p{color:var(--muted);margin:0}
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.tabs button{font:inherit;font-weight:700;border:1.5px solid rgba(74,44,58,.18);background:#fff;color:var(--plum2);padding:9px 20px;border-radius:999px;cursor:pointer;min-height:44px}
.tabs button[aria-selected=true]{background:var(--plum);color:#fff;border-color:var(--plum)}
.menu-list{max-width:820px;margin:0 auto;background:#fff;border-radius:var(--r);padding:8px 22px;box-shadow:0 20px 50px -35px rgba(74,44,58,.5)}
.item{display:grid;grid-template-columns:1fr auto auto;gap:4px 14px;align-items:center;padding:18px 0;border-bottom:1px dashed rgba(74,44,58,.15)}
.item:last-child{border-bottom:0}
.item h3{margin:0;font-size:18px;color:var(--plum)}.item p{margin:0;color:var(--muted);font-size:14px}
.item .dur{font-size:13px;color:var(--muted);background:var(--cream);padding:2px 10px;border-radius:99px;white-space:nowrap}
.item b{color:var(--gold);font-size:17px;white-space:nowrap}
/* packages */
.pk-grid{display:grid;gap:18px}
.pk{background:#fff;border-radius:var(--r);padding:28px 24px;position:relative;display:flex;flex-direction:column;border:1px solid rgba(74,44,58,.08)}
.pk h3{font-size:24px;margin:0 0 12px;color:var(--plum)}
.pk ul{list-style:none;padding:0;margin:0 0 18px;flex:1}
.pk li{padding:7px 0;border-bottom:1px solid rgba(74,44,58,.07)}.pk li::before{content:"—";color:var(--gold);margin-inline-end:8px}
.pk-price{font-size:26px;font-weight:800;color:var(--plum);margin:0 0 16px}.pk-price small{font-size:14px;font-weight:500;color:var(--muted)}
.pk-tag{position:absolute;top:-12px;inset-inline-end:20px;background:var(--gold);color:#fff;font-size:13px;font-weight:700;padding:4px 14px;border-radius:99px}
.pk-dark{background:var(--plum);color:#F6E9E3}.pk-dark h3,.pk-dark .pk-price{color:#fff}.pk-dark li{border-color:rgba(255,255,255,.12)}.pk-dark .pk-price small{color:#D9BFC9}
/* gallery */
.gal{columns:2;column-gap:12px}
.gal figure{margin:0 0 12px;border-radius:18px;overflow:hidden;break-inside:avoid}
.gal img{width:100%;height:auto;transition:transform .5s}.gal figure:hover img{transform:scale(1.04)}
.social-line{text-align:center;color:var(--muted);margin-top:18px}.social-line a{color:var(--plum);font-weight:700}
/* booking */
.book{display:grid;gap:28px;align-items:center}
.book-txt p{color:var(--muted)}
.checks{list-style:none;padding:0;margin:16px 0 0}.checks li{padding:6px 0}.checks li::before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--plum);color:#fff;font-size:12px;margin-inline-end:10px}
.book-form{background:#fff;border-radius:var(--r);padding:24px;display:grid;gap:14px;box-shadow:0 30px 60px -40px rgba(74,44,58,.55)}
.book-form label{display:grid;gap:6px;font-weight:700;font-size:14px;color:var(--plum)}
.book-form input,.book-form select{font:inherit;font-weight:400;padding:12px 14px;border-radius:12px;border:1.5px solid #E8D9D1;background:var(--cream);color:var(--ink);min-height:48px;width:100%}
.book-form input:focus,.book-form select:focus{outline:none;border-color:var(--gold)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fine{margin:0;text-align:center;font-size:13px;color:var(--muted)}
/* visit */
.visit{display:grid;gap:26px;align-items:center}
.map{border-radius:var(--r);overflow:hidden;aspect-ratio:16/10}.map svg{width:100%;height:100%;display:block}
.visit-txt p{color:var(--muted)}
.hours{margin:14px 0}.hours div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(74,44,58,.1)}.hours dt{font-weight:700;color:var(--plum)}.hours dd{margin:0;color:var(--muted)}
.pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pay span{font-size:13px;font-weight:700;padding:6px 14px;border-radius:10px;background:#fff;border:1px solid rgba(74,44,58,.12);color:var(--plum2)}
/* footer */
.ftr{background:var(--plum);color:#E9D7DE;padding:40px 0 90px;text-align:center}
.ftr-in{display:grid;gap:14px;justify-items:center}
.logo-light b{color:#fff}.ftr nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px}.ftr nav a{text-decoration:none;color:#fff;opacity:.85}
.ftr p{margin:0;font-size:14px;opacity:.75}
.demo-note{font-size:12px!important;opacity:.6!important;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}
.wa-float{position:fixed;bottom:18px;inset-inline-start:18px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(0,0,0,.35);z-index:60}
.wa-float svg{width:30px;height:30px}
@media (min-width:760px){
  .gal{columns:3}
  .pk-grid{grid-template-columns:repeat(3,1fr)}
  .book,.visit{grid-template-columns:1fr 1fr}
}
@media (min-width:980px){
  .nav{display:flex}.menu{display:none}.hdr .btn-sm{margin-inline-start:0}
  .hero{padding:56px 0 80px}
  .hero-in{grid-template-columns:1.05fr .95fr;align-items:center}
  .cta-row .btn{flex:0 0 auto}
  .sec{padding:90px 0}
  .gal{columns:4}
}
@media (max-width:420px){.item{grid-template-columns:1fr auto}.item .dur{grid-column:1;justify-self:start}.item b{grid-row:1;grid-column:2}}
