/* =========================================================
   رفاه المسافات — Luxury Hajj & Umrah  |  Design System
   ========================================================= */
:root{
  color-scheme:dark;
  /* ألوان الأساس كثلاثيات حتى تُقلب مع الثيم */
  --shade:4 13 11;               /* طبقات فوق الصور — داكنة دائماً */
  --fg-rgb:244 239 228;          /* النص */
  --bg-rgb:5 13 11;              /* الأسطح */

  --ink:#050d0b; --ink-2:#081713; --ink-3:#0a211b;
  --green:#0b3b2e; --green-2:#0f4d3b;
  --gold:#C9A227; --gold-2:#F3DFA6; --gold-3:#8f6f16;
  --gold-text:#F3DFA6;           /* الذهبي فوق خلفية داكنة */
  --cream:#F4EFE4;
  --muted:rgb(var(--fg-rgb)/.60);
  --line:rgba(201,162,39,.20);
  --card:rgba(8,23,19,.55);
  --grad-gold:linear-gradient(135deg,#F3DFA6 0%,#C9A227 45%,#8f6f16 70%,#F3DFA6 100%);
  --grad-dark:linear-gradient(180deg,#081713 0%,#050d0b 100%);
  --shadow:0 30px 80px -30px rgba(0,0,0,.85);
  --r:22px; --r-sm:14px;
  --ease:cubic-bezier(.16,1,.3,1);
  --container:1240px;
  --nav-h:84px;
}

/* ===== الثيم الفاتح ===== */
/* يتبع إعداد الجهاز ما لم يختر الزائر يدوياً */
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]){
    color-scheme:light;
    --fg-rgb:16 34 27;
    --bg-rgb:252 249 242;
    --ink:#FBF7EF; --ink-2:#FFFFFF; --ink-3:#F4EFE3;
    --cream:#10221B;
    --gold-2:#8A6D14;
    --gold-text:#8A6D14;
    --gold-3:#6E5610;
    --muted:rgb(var(--fg-rgb)/.66);
    --line:rgba(138,109,20,.26);
    --card:#FFFFFF;
    --grad-gold:linear-gradient(135deg,#C9A227 0%,#9C7C18 45%,#7A5F10 70%,#C9A227 100%);
    --grad-dark:linear-gradient(180deg,#FFFFFF 0%,#FBF7EF 100%);
    --shadow:0 24px 60px -28px rgba(20,32,27,.28);
  }
}
:root[data-theme="light"]{
  color-scheme:light;
  --fg-rgb:16 34 27;
  --bg-rgb:252 249 242;
  --ink:#FBF7EF; --ink-2:#FFFFFF; --ink-3:#F4EFE3;
  --cream:#10221B;
  --gold-2:#8A6D14;
  --gold-text:#8A6D14;
  --gold-3:#6E5610;
  --muted:rgb(var(--fg-rgb)/.66);
  --line:rgba(138,109,20,.26);
  --card:#FFFFFF;
  --grad-gold:linear-gradient(135deg,#C9A227 0%,#9C7C18 45%,#7A5F10 70%,#C9A227 100%);
  --grad-dark:linear-gradient(180deg,#FFFFFF 0%,#FBF7EF 100%);
  --shadow:0 24px 60px -28px rgba(20,32,27,.28);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{
  margin:0;background:var(--ink);color:var(--cream);
  font-family:"Tajawal",system-ui,sans-serif;font-weight:400;font-size:17px;line-height:1.85;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
body.is-locked{overflow:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--gold);color:#04100c}
h1,h2,h3,h4{font-family:"Amiri","Tajawal",serif;font-weight:700;line-height:1.28;margin:0;letter-spacing:0}
p{margin:0 0 1.1em}
.container{width:min(100% - 44px,var(--container));margin-inline:auto}
.section{position:relative;padding:clamp(80px,10vw,150px) 0}

/* ---------- scrollbars ---------- */
::-webkit-scrollbar{width:0}
.scrollbar{position:fixed;top:0;inset-inline-start:0;width:100%;height:2px;z-index:999;pointer-events:none}
.scrollbar i{display:block;height:100%;width:0;background:var(--grad-gold);box-shadow:0 0 18px rgba(201,162,39,.8)}

/* ---------- grain + cursor ---------- */
.grain{position:fixed;inset:-150%;z-index:6;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,-3%)}80%{transform:translate(4%,4%)}100%{transform:translate(0,0)}}
.cursor{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity .3s}
.cursor span{position:absolute;translate:-50% -50%;width:34px;height:34px;border:1px solid var(--gold-2);border-radius:50%;
  transition:width .35s var(--ease),height .35s var(--ease),background .35s,border-color .35s}
.cursor.is-on{opacity:1}
.cursor.is-link span{width:68px;height:68px;background:rgba(243,223,166,.16);border-color:transparent}
@media (hover:none),(max-width:900px){.cursor{display:none}}

/* ---------- preloader ---------- */
.loader{position:fixed;inset:0;z-index:10000;background:var(--ink);display:grid;place-items:center;transition:opacity .8s var(--ease),visibility .8s}
.loader.is-done{opacity:0;visibility:hidden}
.loader__inner{text-align:center;display:grid;justify-items:center;gap:18px}
.loader__mark{width:clamp(120px,22vw,168px);height:auto;filter:drop-shadow(0 14px 34px rgba(201,162,39,.35));animation:floatY 5s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes spin{to{transform:rotate(360deg)}}
.loader__word{font-family:"Amiri",serif;font-size:26px;letter-spacing:.04em;color:var(--cream)}
.loader__word span{display:inline-block;opacity:0;animation:up .8s var(--ease) forwards}
.loader__word span:nth-child(2){animation-delay:.14s}
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.loader__bar{width:190px;height:2px;background:rgb(var(--fg-rgb)/.13);overflow:hidden;border-radius:2px}
.loader__bar i{display:block;height:100%;width:0;background:var(--grad-gold)}
.loader__num{font-size:13px;color:var(--muted);letter-spacing:.2em}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;
  padding:14px 26px;border-radius:100px;font-weight:700;font-size:15px;letter-spacing:.01em;
  border:1px solid transparent;overflow:hidden;isolation:isolate;
  transition:transform .4s var(--ease),color .35s,border-color .35s,box-shadow .45s}
.btn svg{width:18px;height:18px;flex:none}
.btn--lg{padding:17px 34px;font-size:16px}
.btn--block{width:100%}
.btn--gold{background:var(--grad-gold);background-size:200% 200%;color:#0a1a14;box-shadow:0 14px 40px -14px rgba(201,162,39,.75)}
.btn--gold:hover{background-position:100% 0;box-shadow:0 20px 50px -14px rgba(201,162,39,.95)}
.btn--outline{border-color:var(--line);color:var(--cream);backdrop-filter:blur(8px);background:rgb(var(--fg-rgb)/.03)}
.btn--outline::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad-gold);
  transform:translateY(101%);transition:transform .5s var(--ease)}
.btn--outline:hover{color:#0a1a14;border-color:transparent}
.btn--outline:hover::before{transform:none}
.btn--ghost{padding:10px 18px;font-size:14px;color:var(--cream);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-2)}
.btn:active{transform:scale(.97)}

.link-arrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold-2);font-weight:700;
  border-bottom:1px solid var(--line);padding-bottom:6px;transition:gap .35s var(--ease),border-color .35s}
.link-arrow svg{width:18px;height:18px}
.link-arrow:hover{gap:18px;border-color:var(--gold)}

/* ---------- section heads ---------- */
.sec-head{margin-bottom:clamp(38px,5vw,64px);max-width:760px}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head__kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;
  letter-spacing:.24em;color:var(--gold-2);text-transform:uppercase;margin-bottom:18px}
.sec-head__kicker i{width:34px;height:1px;background:var(--grad-gold);display:block}
.sec-head__title{font-size:clamp(30px,4.6vw,56px);letter-spacing:-.01em}
.sec-head__sub{margin-top:20px;color:var(--muted);font-size:17px}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;inset-inline:0;z-index:900;transition:background .5s var(--ease),backdrop-filter .5s,border-color .5s,transform .5s var(--ease);
  border-bottom:1px solid transparent}
.nav.is-stuck{background:rgb(var(--bg-rgb)/.72);backdrop-filter:blur(18px) saturate(140%);border-color:var(--line)}
.nav.is-hidden{transform:translateY(-100%)}
.nav__wrap{width:min(100% - 44px,1400px);margin-inline:auto;height:var(--nav-h);display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:12px;color:var(--gold-2)}
.brand__mark{width:auto;height:44px;flex:none;filter:drop-shadow(0 6px 16px rgba(201,162,39,.28));transition:transform .6s var(--ease)}
.brand:hover .brand__mark{transform:translateY(-3px) scale(1.05)}
.brand__txt{display:grid;line-height:1.25}
.brand__txt b{font-family:"Amiri",serif;font-size:19px;color:var(--cream);font-weight:700}
.brand__txt i{font-style:normal;font-size:11px;letter-spacing:.2em;color:var(--gold-2);opacity:.85}
.brand--lg .brand__mark{height:62px}
.brand--lg .brand__txt b{font-size:24px}

.nav__links{display:flex;gap:6px;margin-inline-start:auto}
.nav__links a{position:relative;padding:10px 14px;font-size:15px;font-weight:500;white-space:nowrap;
  color:rgb(var(--fg-rgb)/.78);border-radius:100px;overflow:hidden;transition:color .3s}
.nav__links a span{position:relative;z-index:1}
.nav__links a::after{content:"";position:absolute;bottom:6px;inset-inline:15px;height:1px;background:var(--grad-gold);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav__links a:hover,.nav__links a.is-active{color:var(--gold-2)}
.nav__links a:hover::after,.nav__links a.is-active::after{transform:scaleX(1)}
.nav__cta{display:flex;align-items:center;gap:12px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;padding:12px;flex-direction:column;justify-content:space-between}
.burger i{display:block;height:1.5px;background:var(--cream);border-radius:2px;transition:transform .4s var(--ease),opacity .3s}
.burger.is-open i:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.burger.is-open i:nth-child(2){opacity:0}
.burger.is-open i:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;padding:calc(var(--nav-h) + 40px) 0 70px}
.hero__sky{position:absolute;inset:0;background:
  radial-gradient(120% 80% at 50% 0%,#0d3a2d 0%,#071a15 45%,#050d0b 100%)}
.stars{position:absolute;inset:0}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.5;animation:tw 4s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.9;transform:scale(1.15)}}
.moon{position:absolute;top:14%;inset-inline-start:14%;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff8e3,#e8d6a0 45%,rgba(201,162,39,0) 72%);
  filter:blur(.4px);opacity:.75;animation:float 12s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-22px)}}
.aurora{position:absolute;inset:-20% -10% auto;height:70%;
  background:radial-gradient(60% 60% at 30% 30%,rgba(201,162,39,.18),transparent 70%),
             radial-gradient(50% 50% at 75% 20%,rgba(18,110,84,.35),transparent 70%);
  filter:blur(40px);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(-6%,4%,0) scale(1.1)}}
.hero__scene{position:absolute;inset:0;pointer-events:none}
.hero__scene .layer{position:absolute;bottom:0;inset-inline:0;width:100%}
.layer--far{height:46%}
.layer--mid{height:42%}
.layer--dunes{height:22%;background:linear-gradient(180deg,#041310 0%,#020806 100%);
  border-radius:60% 40% 0 0/100% 100% 0 0;transform:scaleX(1.6)}
.hero__glow{position:absolute;bottom:8%;inset-inline:0;height:46%;
  background:radial-gradient(50% 100% at 50% 100%,rgba(201,162,39,.3),transparent 70%);filter:blur(26px)}

/* تعتيم موضعي خلف النص فقط — بلا أي ضبابية حتى يبقى الفيديو صافياً تماماً */
.hero__content::before{content:"";position:absolute;inset:-10% -12%;z-index:-1;pointer-events:none;
  border-radius:50%;
  background:radial-gradient(62% 54% at 50% 50%,rgb(var(--shade)/.66),rgb(var(--shade)/.38) 54%,rgb(var(--shade)/.1) 76%,transparent 90%)}
.hero__content{position:relative;z-index:2;width:min(100% - 44px,var(--container));margin-inline:auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:12px;padding:9px 20px;border:1px solid var(--line);
  border-radius:100px;font-size:13px;letter-spacing:.14em;color:var(--gold-2);background:rgb(var(--fg-rgb)/.035);backdrop-filter:blur(8px)}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 0 rgba(243,223,166,.7);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(243,223,166,0)}100%{box-shadow:0 0 0 0 rgba(243,223,166,0)}}
.hero__title{margin:26px 0 0;font-size:clamp(42px,8.4vw,110px);line-height:1.06;letter-spacing:-.02em;
  text-shadow:0 2px 34px rgb(var(--shade)/.92),0 1px 10px rgb(var(--shade)/.75)}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.08em}
.hero__title .word{display:inline-block;transform:translateY(110%);opacity:0}
.hero__title .word.in{animation:wordIn 1.1s var(--ease) forwards}
@keyframes wordIn{to{transform:none;opacity:1}}
.hero__title .gold{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% auto;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
.hero__sub{max-width:660px;margin:26px auto 0;color:rgb(var(--fg-rgb)/.84);font-size:clamp(16px,1.6vw,19px);
  text-shadow:0 1px 18px rgb(var(--shade)/.92)}
.hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:38px}
.hero__facts{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(26px,5vw,72px);
  margin:clamp(48px,7vw,84px) 0 0;padding:0}
.hero__facts li{display:grid;gap:2px;position:relative}
.hero__facts li+li::before{content:"";position:absolute;inset-inline-end:calc(-1 * clamp(13px,2.5vw,36px));top:12%;height:76%;width:1px;background:var(--line)}
.hero__facts b{font-family:"Amiri",serif;font-size:clamp(30px,4vw,46px);line-height:1;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__facts span{font-size:13px;letter-spacing:.1em;color:rgb(var(--fg-rgb)/.9);
  text-shadow:0 1px 6px rgb(var(--shade)),0 1px 16px rgb(var(--shade)/.9)}
.hero__scroll{position:absolute;bottom:26px;inset-inline:0;margin-inline:auto;width:max-content;z-index:3;
  display:grid;justify-items:center;gap:10px;font-size:12px;letter-spacing:.22em;color:var(--muted)}
.hero__scroll i{width:1px;height:46px;background:linear-gradient(180deg,var(--gold),transparent);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:-46px;left:0;width:100%;height:46px;background:var(--gold-2);animation:scrolly 2s ease-in-out infinite}
@keyframes scrolly{to{top:46px}}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(11,59,46,.5),rgb(var(--bg-rgb)/.2));padding:18px 0}
.marquee__track{display:flex;align-items:center;gap:34px;width:max-content;animation:march 38s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes march{to{transform:translateX(50%)}}
.marquee span{font-family:"Amiri",serif;font-size:clamp(17px,2vw,25px);color:rgb(var(--fg-rgb)/.86);white-space:nowrap}
.marquee i{color:var(--gold);font-size:13px}

/* ---------- about ---------- */
.about__grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(36px,6vw,86px);align-items:center}
.about__visual{position:relative}
.frame{position:relative;border-radius:280px 280px var(--r) var(--r);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);aspect-ratio:3/4;transform-style:preserve-3d}
.frame__arch{position:absolute;inset:0}
.frame__arch svg{width:100%;height:100%;object-fit:cover}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgb(var(--shade)/.9));pointer-events:none}
.frame__badge{position:absolute;bottom:22px;inset-inline-start:22px;z-index:2;display:grid;gap:2px;
  padding:14px 20px;border-radius:var(--r-sm);background:rgb(var(--bg-rgb)/.62);backdrop-filter:blur(14px);border:1px solid var(--line)}
.frame__badge b{font-family:"Amiri",serif;font-size:21px;color:var(--gold-2)}
.frame__badge span{font-size:12px;color:var(--muted);letter-spacing:.08em}
.about__ornament{position:absolute;inset-inline-end:-40px;top:-40px;width:190px;height:190px;z-index:-1;opacity:.45;
  border-radius:50%;border:1px solid rgba(201,162,39,.45);
  background:radial-gradient(circle at 50% 50%,rgba(201,162,39,.18),transparent 62%);
  animation:floatY 9s ease-in-out infinite}
.about__ornament::after{content:"";position:absolute;inset:26px;border-radius:50%;border:1px dashed rgba(201,162,39,.35)}
.pills{list-style:none;padding:0;margin:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pills li{display:flex;align-items:center;gap:10px;font-size:15px;color:rgb(var(--fg-rgb)/.86)}
.pills svg{width:17px;height:17px;flex:none;color:var(--gold-2)}
.about__text b{color:var(--gold-2);font-weight:700}
.about__text p{color:var(--muted)}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{position:relative;padding:38px 32px 34px;border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(160deg,rgba(18,89,68,.16),rgb(var(--bg-rgb)/.4));overflow:hidden;isolation:isolate;
  transform-style:preserve-3d;transition:border-color .5s,transform .5s var(--ease),box-shadow .5s}
.card__glow{position:absolute;width:320px;height:320px;border-radius:50%;z-index:-1;opacity:0;
  background:radial-gradient(circle,rgba(201,162,39,.28),transparent 65%);
  transform:translate(-50%,-50%);transition:opacity .45s;pointer-events:none}
.card:hover{border-color:rgba(201,162,39,.5);box-shadow:0 34px 70px -34px rgba(0,0,0,.9)}
.card:hover .card__glow{opacity:1}
.card__icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;margin-bottom:24px;
  border:1px solid var(--line);background:rgba(201,162,39,.08);color:var(--gold-2);transition:transform .55s var(--ease),background .4s}
.card__icon svg{width:27px;height:27px}
.card:hover .card__icon{transform:translateY(-4px) rotate(-6deg);background:rgba(201,162,39,.18)}
.card h3{font-size:23px;margin-bottom:12px}
.card p{color:var(--muted);font-size:15.5px;margin:0}
.card__no{position:absolute;top:26px;inset-inline-end:28px;font-family:"Amiri",serif;font-size:36px;
  color:rgba(201,162,39,.18);transition:color .4s}
.card:hover .card__no{color:rgba(201,162,39,.4)}

/* ---------- packages ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.plan{position:relative;padding:40px 32px;border:1px solid var(--line);border-radius:var(--r);
  background:rgb(var(--bg-rgb)/.6);transition:transform .5s var(--ease),border-color .4s,box-shadow .5s}
.plan:hover{transform:translateY(-8px);border-color:rgba(201,162,39,.45)}
.plan--featured{background:linear-gradient(180deg,rgba(18,89,68,.3),rgb(var(--bg-rgb)/.7));
  border-color:rgba(201,162,39,.55);box-shadow:0 40px 90px -40px rgba(201,162,39,.4);transform:translateY(-14px)}
.plan--featured:hover{transform:translateY(-22px)}
.plan__ribbon{position:absolute;top:-14px;inset-inline-start:50%;translate:50% 0;padding:6px 20px;border-radius:100px;
  background:var(--grad-gold);color:#0a1a14;font-size:12.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.plan__tag{display:inline-block;font-size:12px;letter-spacing:.2em;color:var(--gold-2);margin-bottom:12px}
.plan h3{font-size:30px}
.plan header p{color:var(--muted);font-size:14px;margin:6px 0 0}
.plan__price{display:flex;align-items:baseline;gap:6px;margin:24px 0;padding-bottom:24px;border-bottom:1px solid var(--line)}
.plan__price b{font-family:"Amiri",serif;font-size:52px;line-height:1;background:var(--grad-gold);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.plan__price i{font-style:normal;font-size:22px;color:var(--gold-2)}
.plan__price span{font-size:13px;color:var(--muted);margin-inline-start:6px}
.plan ul{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:13px}
.plan li{position:relative;padding-inline-start:26px;font-size:15px;color:rgb(var(--fg-rgb)/.82)}
.plan li::before{content:"";position:absolute;inset-inline-start:0;top:11px;width:9px;height:9px;border-radius:50%;
  border:1px solid var(--gold);background:rgba(201,162,39,.3)}
.plans__note{text-align:center;margin-top:34px;font-size:13.5px;color:var(--muted)}

/* ---------- journey ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding-top:56px}
.steps__line{position:absolute;top:32px;inset-inline:6%;height:1px;background:var(--line)}
.steps__line i{display:block;height:100%;width:0;background:var(--grad-gold);box-shadow:0 0 14px rgba(201,162,39,.7);transition:width .2s linear}
.step{text-align:center;position:relative}
.step__no{position:absolute;top:-80px;inset-inline:0;margin-inline:auto;width:50px;height:50px;display:grid;place-items:center;
  border-radius:50%;border:1px solid var(--line);background:var(--ink);font-family:"Amiri",serif;font-size:21px;color:var(--gold-2);
  transition:background .5s,color .5s,box-shadow .5s,transform .5s var(--ease)}
.step.is-in .step__no{background:var(--grad-gold);color:#0a1a14;box-shadow:0 0 30px rgba(201,162,39,.55);transform:scale(1.08)}
.step h3{font-size:21px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--muted);margin:0}

/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px;width:min(100% - 44px,1400px);margin-inline:auto}
.gal__item{position:relative;margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);cursor:pointer}
.gal__item--tall{grid-row:span 2}
.gal__item--wide{grid-column:span 2}
.gal__ph{position:absolute;inset:0;transition:transform 1.1s var(--ease),filter .6s}
.gal__item:hover .gal__ph{transform:scale(1.08)}
.gal__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgb(var(--shade)/.92))}
.gal__ph svg{position:absolute;inset:0;width:100%;height:100%}
.gal__item figcaption{position:absolute;bottom:0;inset-inline:0;padding:22px;font-size:15px;font-weight:500;
  transform:translateY(8px);opacity:.85;transition:transform .5s var(--ease),opacity .5s}
.gal__item:hover figcaption{transform:none;opacity:1}
.gal__hint{text-align:center;margin-top:26px;font-size:13.5px;color:var(--muted)}

/* ---------- quotes ---------- */
.quotes__box{position:relative;max-width:900px;margin-inline:auto;padding:clamp(40px,6vw,72px);text-align:center;
  border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,rgba(18,89,68,.18),rgb(var(--bg-rgb)/.5))}
.quotes__mark{position:absolute;top:26px;inset-inline-end:34px;width:58px;height:58px;color:rgba(201,162,39,.16)}
.quotes__viewport{position:relative;min-height:220px}
.quote{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(24px);pointer-events:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.quote.is-active{opacity:1;transform:none;pointer-events:auto;position:relative}
.quote p{font-family:"Amiri",serif;font-size:clamp(20px,2.7vw,30px);line-height:1.7;color:var(--cream)}
.quote footer{display:grid;gap:4px;margin-top:22px}
.quote footer b{color:var(--gold-2);font-size:17px}
.quote footer span{font-size:13px;color:var(--muted);letter-spacing:.06em}
.quotes__nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px}
.quotes__nav button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .35s,border-color .35s,color .35s}
.quotes__nav button svg{width:18px;height:18px}
.quotes__nav button:hover{background:var(--grad-gold);color:#0a1a14;border-color:transparent}
.quotes__dots{display:flex;gap:9px}
.quotes__dots b{width:8px;height:8px;border-radius:50%;background:rgb(var(--fg-rgb)/.22);cursor:pointer;transition:width .4s var(--ease),background .4s}
.quotes__dots b.is-on{width:26px;border-radius:8px;background:var(--grad-gold)}

/* ---------- faq ---------- */
.faq__grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(34px,5vw,80px);align-items:start}
.acc{display:grid;gap:12px}
.acc details{border:1px solid var(--line);border-radius:var(--r-sm);background:rgb(var(--bg-rgb)/.5);overflow:hidden;transition:border-color .4s,background .4s}
.acc details[open]{border-color:rgba(201,162,39,.45);background:rgba(18,89,68,.16)}
.acc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;
  font-family:"Amiri",serif;font-size:19px;font-weight:700}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{position:relative;flex:none;width:22px;height:22px}
.acc summary i::before,.acc summary i::after{content:"";position:absolute;inset-inline:0;top:50%;height:1.5px;background:var(--gold-2);transition:transform .45s var(--ease)}
.acc summary i::after{transform:rotate(90deg)}
.acc details[open] summary i::after{transform:rotate(0)}
.acc details>div{padding:0 24px 22px}
.acc details p{margin:0;color:var(--muted);font-size:15.5px}
.faq__intro .btn{margin-top:6px}

/* ---------- cta strip ---------- */
.cta{position:relative;padding:clamp(70px,9vw,120px) 0;overflow:hidden;text-align:center;border-block:1px solid var(--line)}
.cta__bg{position:absolute;inset:-20%;background:
  radial-gradient(45% 60% at 30% 40%,rgba(201,162,39,.24),transparent 70%),
  radial-gradient(45% 60% at 72% 60%,rgba(18,110,84,.42),transparent 70%),var(--ink-2);filter:blur(4px)}
.cta__inner{position:relative}
.cta h2{font-size:clamp(30px,5vw,60px);margin-bottom:18px}
.cta p{color:var(--muted);max-width:540px;margin-inline:auto}
.cta .btn{margin-top:14px}

/* ---------- contact ---------- */
.contact__grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(34px,5vw,80px);align-items:start}
.contact__list{list-style:none;padding:0;margin:0 0 34px;display:grid;gap:22px}
.contact__list li{display:flex;gap:16px;align-items:flex-start}
.ci{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line);
  background:rgba(201,162,39,.07);color:var(--gold-2);transition:background .4s,transform .4s var(--ease)}
.ci svg{width:21px;height:21px}
.contact__list li:hover .ci{background:rgba(201,162,39,.2);transform:translateY(-3px)}
.contact__list b{display:block;font-size:13px;letter-spacing:.14em;color:var(--gold-2);margin-bottom:2px}
.contact__list p{margin:0;color:rgb(var(--fg-rgb)/.85);font-size:16px}
.socials{display:flex;gap:12px}
.socials a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--cream);transition:background .4s,color .35s,transform .4s var(--ease),border-color .35s}
.socials a svg{width:19px;height:19px}
.socials a:hover{background:var(--grad-gold);color:#0a1a14;transform:translateY(-4px);border-color:transparent}

.form{padding:clamp(28px,4vw,44px);border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(160deg,rgba(18,89,68,.18),rgb(var(--bg-rgb)/.55));backdrop-filter:blur(10px)}
.form h3{font-size:27px;margin-bottom:26px}
.field{position:relative;margin-bottom:16px}
.field.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field.two>div{position:relative}
.field input,.field select,.field textarea{width:100%;padding:17px 18px 13px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:rgb(var(--bg-rgb)/.5);color:var(--cream);font-family:inherit;font-size:15.5px;
  outline:none;transition:border-color .35s,background .35s,box-shadow .35s;resize:none}
.field select{appearance:none;padding-top:13px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%23C9A227' stroke-width='1.6'%3E%3Cpath d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 18px center}
.field select option{background:#081713;color:var(--cream)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);background:rgb(var(--bg-rgb)/.85);box-shadow:0 0 0 4px rgba(201,162,39,.12)}
.field label{position:absolute;top:16px;inset-inline-start:19px;font-size:15px;color:var(--muted);pointer-events:none;
  transition:transform .3s var(--ease),font-size .3s var(--ease),color .3s;transform-origin:right top}
.field.two label{top:16px}
.field input:focus+label,.field input:not(:placeholder-shown)+label,
.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-11px) scale(.76);color:var(--gold-2)}
.label--static{display:none}
.field input.is-bad,.field select.is-bad{border-color:#d9705f;box-shadow:0 0 0 4px rgba(217,112,95,.12)}
.form__note{margin:14px 0 0;font-size:12.5px;color:var(--muted);text-align:center}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);background:var(--grad-dark);padding-top:clamp(52px,6vw,80px)}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:46px}
.footer__brand p{color:var(--muted);font-size:15px;margin-top:18px;max-width:330px}
.footer__col{display:grid;gap:11px;align-content:start}
.footer__col h4{font-size:14px;letter-spacing:.18em;color:var(--gold-2);margin-bottom:6px}
.footer__col a,.footer__col span{font-size:14.5px;color:var(--muted);transition:color .3s,transform .3s var(--ease)}
.footer__col a:hover{color:var(--gold-2);transform:translateX(-5px)}
.footer__bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding:22px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.footer__verse{font-family:"Amiri",serif;font-size:16px;color:var(--gold-2);opacity:.85}

/* ---------- whatsapp fab ---------- */
.wa{position:fixed;bottom:24px;inset-inline-start:24px;z-index:800;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:linear-gradient(140deg,#1fbf5d,#0f8a41);color:#fff;
  box-shadow:0 16px 40px -12px rgba(31,191,93,.75);transition:transform .45s var(--ease);opacity:0;pointer-events:none}
.wa.is-on{opacity:1;pointer-events:auto}
.wa svg{width:28px;height:28px}
.wa i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(31,191,93,.6);animation:ring 2.4s ease-out infinite}
@keyframes ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
.wa:hover{transform:scale(1.1) rotate(6deg)}

/* ---------- reveal ---------- */
.reveal-up,[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal-up.in,[data-reveal].in{opacity:1;transform:none}
.split .chr{display:inline-block;opacity:0;transform:translateY(60%);
  transition:opacity .8s var(--ease),transform .8s var(--ease)}
.split.in .chr{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .cards,.plans{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);gap:56px 18px}
  .steps__line{display:none}
  .step__no{position:static;margin:0 auto 14px}
  .gal{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:1340px){
  .nav__wrap{gap:14px}
  .nav__links{gap:2px}
  .nav__links a{padding:10px 10px;font-size:14px}
}
@media (max-width:1180px){
  .nav__cta .btn--ghost{display:none}
  .nav__links a{padding:9px 8px;font-size:13.5px}
  .brand__txt i{display:none}
}
@media (max-width:1080px){
  .nav__links{position:fixed;inset:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;
    background:rgb(var(--bg-rgb)/.97);backdrop-filter:blur(20px);transform:translateY(-100%);transition:transform .7s var(--ease);margin:0}
  .nav__links.is-open{transform:none}
  .nav__links a{font-family:"Amiri",serif;font-size:27px;padding:14px}
  .burger{display:flex;position:relative;z-index:2}
  .nav__cta{margin-inline-start:auto}
  .nav__cta .btn--gold{display:none}
}
@media (max-width:900px){
  body{font-size:16px}
  .about__grid,.faq__grid,.contact__grid{grid-template-columns:1fr}
  .about__visual{max-width:420px;margin-inline:auto}
  .cards,.plans{grid-template-columns:1fr}
  .plan--featured{transform:none}
  .plan--featured:hover{transform:translateY(-8px)}
  .hero__facts li+li::before{display:none}
  .quotes__viewport{min-height:300px}
}
@media (max-width:600px){
  .steps{grid-template-columns:1fr}
  .gal{grid-template-columns:1fr;grid-auto-rows:200px}
  .gal__item--wide,.gal__item--tall{grid-column:auto;grid-row:auto}
  .pills{grid-template-columns:1fr}
  .field.two{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  .footer__bar{justify-content:center;text-align:center}
  .hero__facts{gap:24px 34px}
  .wa{width:52px;height:52px;bottom:18px;inset-inline-start:18px}
}

/* =========================================================
   ADDITIONS — logo, dynamic programs, modal, lightbox
   ========================================================= */
.loader__slogan{font-size:12.5px;letter-spacing:.14em;color:var(--gold-2);opacity:.85;margin-top:-6px}

/* ---------- program cards (data-driven) ---------- */
.plan{cursor:pointer}
.plan:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.plan__tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border-radius:100px;
  border:1px solid var(--line);background:rgba(201,162,39,.08);margin-bottom:14px}
.plan__tag svg{width:17px;height:17px;color:var(--gold-2)}
.plan__tag i{font-style:normal;font-size:12px;letter-spacing:.14em;color:var(--gold-2)}
.plan__date{display:inline-block;margin-top:10px;font-size:12.5px;letter-spacing:.06em;color:var(--muted)}
.plan__price--ask{font-size:34px!important}
.plan__nights{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plan__nights li{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:rgb(var(--bg-rgb)/.4);text-align:center}
.plan__nights li::before{display:none}
.plan__nights b{font-family:"Amiri",serif;font-size:26px;line-height:1;color:var(--gold-2)}
.plan__nights span{font-size:11.5px;color:var(--muted);letter-spacing:.04em}
.plan__foot{margin-top:4px;padding-top:18px;border-top:1px solid var(--line)}
.plan__more{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;color:var(--gold-2);
  transition:gap .35s var(--ease)}
.plan__more svg{width:17px;height:17px}
.plan:hover .plan__more{gap:16px}
.plans__empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px 0}

/* ---------- gallery with real photos ---------- */
.gal__item{cursor:zoom-in}
img.gal__ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gal__item::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgb(var(--shade)/.1) 30%,rgb(var(--shade)/.94));transition:opacity .5s}
.gal__item:hover::after{opacity:.85}
.gal__item figcaption{display:grid;gap:3px;z-index:2}
.gal__item figcaption b{font-family:"Amiri",serif;font-size:19px;font-weight:700}
.gal__item figcaption span{font-size:12.5px;color:var(--muted)}

/* ---------- cards / steps clickable ---------- */
.card,.step{cursor:pointer}
.card:focus-visible,.step:focus-visible,.gal__item:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* ---------- MODAL ---------- */
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;
  opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.modal.is-open{opacity:1;visibility:visible}
.modal__veil{position:absolute;inset:0;background:rgb(var(--bg-rgb)/.86);backdrop-filter:blur(10px)}
.modal__box{position:relative;width:min(100%,780px);max-height:90svh;overflow:hidden;border-radius:var(--r);
  border:1px solid var(--line);background:var(--ink-2);box-shadow:var(--shadow);
  transform:translateY(30px) scale(.97);transition:transform .55s var(--ease)}
.modal.is-open .modal__box{transform:none}
.modal__body{max-height:90svh;overflow-y:auto;overscroll-behavior:contain}
.modal__body::-webkit-scrollbar{width:6px}
.modal__body::-webkit-scrollbar-thumb{background:rgba(201,162,39,.4);border-radius:6px}
.modal__x{position:absolute;top:16px;inset-inline-start:16px;z-index:5;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;background:rgb(var(--bg-rgb)/.6);border:1px solid var(--line);backdrop-filter:blur(8px);
  transition:background .35s,transform .35s var(--ease)}
.modal__x svg{width:19px;height:19px}
.modal__x:hover{background:var(--grad-gold);color:#0a1a14;transform:rotate(90deg)}

.md-hero{position:relative;height:230px;overflow:hidden}
.md-hero img{width:100%;height:100%;object-fit:cover}
.md-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(var(--shade)/.25),rgb(var(--shade)/.9))}
.md-hero__in{position:absolute;bottom:0;inset-inline:0;z-index:2;padding:26px 30px}
.md-hero__in h2{font-size:clamp(26px,4vw,38px);margin-bottom:4px}
.md-hero__in p{margin:0;color:var(--muted);font-size:14.5px}
.md-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:100px;margin-bottom:12px;
  background:rgba(201,162,39,.16);border:1px solid var(--line)}
.md-badge svg{width:16px;height:16px;color:var(--gold-2)}
.md-badge i{font-style:normal;font-size:12px;letter-spacing:.12em;color:var(--gold-2)}

.md-body{padding:28px 30px 34px}
.md-body--plain{padding-top:34px}
.md-kicker{display:inline-block;font-size:12px;letter-spacing:.2em;color:var(--gold-2);margin-bottom:10px}
.md-title{font-size:clamp(26px,4vw,38px);margin-bottom:14px}
.md-lead{color:rgb(var(--fg-rgb)/.86);font-size:16.5px}
.md-step-no{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;margin-bottom:16px;
  background:var(--grad-gold);color:#0a1a14;font-family:"Amiri",serif;font-size:23px;font-weight:700}

.md-top{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.md-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.md-price b{font-family:"Amiri",serif;font-size:46px;line-height:1;background:var(--grad-gold);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.md-price b.ask{font-size:28px}
.md-price i{font-style:normal;font-size:20px;color:var(--gold-2)}
.md-price span{font-size:12.5px;color:var(--muted);width:100%}
.md-chip{margin-inline-start:auto;display:grid;gap:2px;padding:10px 18px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:rgb(var(--bg-rgb)/.45);text-align:center}
.md-chip span{font-size:11.5px;color:var(--muted);letter-spacing:.08em}
.md-chip b{font-size:15px;color:var(--gold-2)}

.md-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.md-rooms div{padding:16px 12px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(18,89,68,.2),rgb(var(--bg-rgb)/.4));text-align:center;display:grid;gap:4px}
.md-rooms b{font-family:"Amiri",serif;font-size:27px;line-height:1;color:var(--gold-2)}
.md-rooms b i{font-style:normal;font-size:15px}
.md-rooms span{font-size:12.5px;color:var(--muted)}

.md-cities{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
.md-city{padding:20px;border-radius:var(--r-sm);border:1px solid var(--line);background:rgb(var(--bg-rgb)/.4);display:grid;gap:5px}
.md-city h4{font-size:19px;color:var(--gold-2)}
.md-city>b{font-family:"Amiri",serif;font-size:24px;color:var(--cream)}
.md-city p{margin:0;font-size:14.5px;color:rgb(var(--fg-rgb)/.85)}
.md-city span{font-size:13px;color:var(--muted)}
.md-stars{font-style:normal;color:var(--gold);letter-spacing:.14em;font-size:13px}

.md-sec{margin-bottom:24px}
.md-sec h4{font-size:15px;letter-spacing:.14em;color:var(--gold-2);margin-bottom:14px}
.md-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.md-list li{position:relative;padding-inline-start:26px;font-size:15.5px;color:rgb(var(--fg-rgb)/.86)}
.md-list li::before{content:"";position:absolute;inset-inline-start:0;top:10px;width:8px;height:8px;border-radius:50%;
  border:1px solid var(--gold);background:rgba(201,162,39,.3)}
.md-list--check li::before{content:"✓";border:0;background:none;color:var(--gold-2);font-size:14px;top:0;width:auto;height:auto}
.md-note{font-size:14px;color:var(--muted);margin:0;padding:16px 18px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:rgba(201,162,39,.05)}
.md-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.md-cta .btn{flex:1;min-width:200px}

/* ---------- LIGHTBOX ---------- */
.lbox{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;gap:18px;padding:24px;
  background:rgb(var(--shade)/.95);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.lbox.is-open{opacity:1;visibility:visible}
.lbox__fig{margin:0;max-width:min(100%,1100px);display:grid;gap:14px;justify-items:center}
.lbox__fig img{max-height:76svh;width:auto;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow);
  transform:scale(.95);transition:transform .5s var(--ease)}
.lbox.is-open .lbox__fig img{transform:none}
.lbox__fig figcaption{display:grid;gap:3px;text-align:center}
.lbox__fig figcaption b{font-family:"Amiri",serif;font-size:20px;color:var(--cream)}
.lbox__fig figcaption span{font-size:13px;color:var(--muted)}
.lbox__x{position:absolute;top:22px;inset-inline-start:22px;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;border:1px solid var(--line);transition:background .35s,color .35s,transform .35s var(--ease)}
.lbox__x svg{width:20px;height:20px}
.lbox__x:hover{background:var(--grad-gold);color:#0a1a14;transform:rotate(90deg)}
.lbox__nav{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);background:rgb(var(--fg-rgb)/.04);transition:background .35s,color .35s}
.lbox__nav svg{width:20px;height:20px}
.lbox__nav:hover{background:var(--grad-gold);color:#0a1a14;border-color:transparent}

@media (max-width:760px){
  .md-cities,.md-rooms{grid-template-columns:1fr}
  .md-chip{margin-inline-start:0}
  .md-body{padding:24px 20px 28px}
  .md-hero{height:180px}
  .md-hero__in{padding:20px}
  .lbox{padding:14px;gap:8px}
  .lbox__nav{width:42px;height:42px}
  .lbox__fig img{max-height:64svh}
  .plan__nights{grid-template-columns:1fr 1fr}
}

/* ---------- HERO MEDIA (image / video of Makkah) ---------- */
.hero__media{position:absolute;inset:0;overflow:hidden}
.hero__still,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.hero__still{transform:scale(1.06);animation:heroZoom 26s ease-in-out infinite alternate}
@keyframes heroZoom{to{transform:scale(1.16)}}
.hero__video{opacity:0;filter:url(#sharpen) saturate(1.04) contrast(1.04);transition:opacity 1.2s var(--ease)}
.hero__video.is-on{opacity:1}
.hero__yt{position:absolute;inset:0;opacity:0;filter:url(#sharpen) saturate(1.1) contrast(1.1) brightness(1.06);
  transition:opacity 1.4s var(--ease);pointer-events:none;will-change:opacity}
.hero__yt.is-on{opacity:1}
.hero__yt iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:max(100vw,177.78svh);height:max(56.25vw,100svh);border:0;pointer-events:none;
  image-rendering:auto;backface-visibility:hidden}
.hero__scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgb(var(--shade)/.42) 0%,transparent 38%,rgb(var(--shade)/.55) 86%,var(--ink) 100%)}
.hero__vignette{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(140% 110% at 50% 45%,transparent 70%,rgb(var(--shade)/.3) 100%)}
.hero .stars{z-index:1;opacity:.5}
.hero .moon{opacity:.28}
@media (prefers-reduced-motion:reduce){.hero__still{animation:none;transform:none}.hero__yt,.hero__video{display:none}}

/* ---------- HERO SOUND TOGGLE ---------- */
.sound{position:absolute;bottom:26px;inset-inline-end:26px;z-index:6;width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;border:1px solid var(--line);color:var(--gold-2);
  background:rgb(var(--bg-rgb)/.55);backdrop-filter:blur(10px);
  transition:background .4s,color .35s,transform .4s var(--ease),border-color .35s}
.sound svg{width:21px;height:21px;grid-area:1/1}
.sound .sound__on{opacity:0;transform:scale(.7)}
.sound .sound__off{opacity:1;transform:none}
.sound.is-on .sound__on{opacity:1;transform:none}
.sound.is-on .sound__off{opacity:0;transform:scale(.7)}
.sound svg{transition:opacity .3s var(--ease),transform .3s var(--ease)}
.sound:hover{background:var(--grad-gold);color:#0a1a14;border-color:transparent;transform:scale(1.08)}
.sound__wave{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(201,162,39,.5);opacity:0}
.sound.is-on .sound__wave{opacity:1;animation:ring 2.4s ease-out infinite}
@media (max-width:600px){.sound{width:46px;height:46px;bottom:18px;inset-inline-end:18px}}

/* ---------- إصلاحات الجوال: منع تداخل الأرقام مع مؤشر التمرير ---------- */
@media (max-width:700px){
  .hero{padding-bottom:120px}
  .hero__facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:clamp(34px,6vw,54px)}
  .hero__facts li+li::before{display:none}
  .hero__facts li{justify-items:center}
  .hero__scroll{bottom:20px}
}
@media (max-width:700px) and (max-height:700px){
  .hero__scroll{display:none}
}

/* =========================================================
   المشاركة + ورقة الـPDF
   ========================================================= */
.md-share{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:18px;border-top:1px solid var(--line)}
.shbtn{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:100px;
  border:1px solid var(--line);font-size:13.5px;font-weight:500;color:var(--muted);
  transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.shbtn svg{width:17px;height:17px}
.shbtn:hover{color:var(--gold-2);border-color:var(--gold);background:rgba(201,162,39,.1);transform:translateY(-2px)}
.shbtn:active{transform:scale(.97)}

.mini-toast{position:fixed;bottom:26px;inset-inline-end:26px;z-index:1200;padding:13px 24px;border-radius:100px;
  background:var(--grad-gold);color:#0a1a14;font-weight:700;font-size:14px;
  box-shadow:0 16px 40px -14px rgba(201,162,39,.85);
  opacity:0;transform:translateY(14px);pointer-events:none;
  transition:opacity .4s var(--ease),transform .4s var(--ease)}
.mini-toast.is-on{opacity:1;transform:none}

/* ورقة الـPDF — مخفية على الشاشة، تظهر عند الطباعة فقط */
.sheet-pdf{display:none}

@media print{
  @page{size:A4;margin:12mm}

  /* إخفاء كل شيء ما عدا الورقة */
  body.is-printing > *{display:none!important}
  body.is-printing > .sheet-pdf{display:block!important}
  body.is-printing{background:#fff!important;overflow:visible!important}

  html,body{background:#fff!important;color:#14201b!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}

  .sheet-pdf{font-family:"Tajawal",sans-serif;color:#14201b;line-height:1.75;font-size:11pt}

  /* الترويسة */
  .ps-head{display:flex;align-items:center;gap:14px}
  .ps-logo{width:92px;height:auto;flex:none}
  .ps-brand{flex:1}
  .ps-brand b{display:block;font-family:"Amiri",serif;font-size:21pt;color:#0b3b2e;line-height:1.2}
  .ps-brand i{display:block;font-style:normal;font-size:10pt;letter-spacing:.18em;color:#9a7b1c}
  .ps-brand em{display:block;font-style:normal;font-size:8.5pt;color:#6b7a72;margin-top:3px}
  .ps-contact{display:grid;gap:2px;text-align:end;font-size:8.5pt;color:#4a5a52}

  .ps-rule{height:2.5pt;margin:10pt 0 14pt;
    background:linear-gradient(90deg,#C9A227,#F3DFA6 45%,#0b3b2e)}

  /* العنوان */
  .ps-title{margin-bottom:12pt}
  .ps-badge{display:inline-block;padding:2.5pt 10pt;border-radius:20pt;background:#0b3b2e;color:#F3DFA6;
    font-size:8pt;letter-spacing:.12em;margin-bottom:5pt}
  .ps-title h1{font-family:"Amiri",serif;font-size:26pt;color:#0b3b2e;margin:0;line-height:1.25}
  .ps-title p{margin:2pt 0 0;color:#5a6b62;font-size:10.5pt}

  /* بطاقات المعلومات */
  .ps-facts{display:flex;gap:8pt;margin-bottom:12pt}
  .ps-fact{flex:1;padding:9pt 11pt;border:.8pt solid #d9cfae;border-radius:7pt;background:#fdfbf5}
  .ps-fact span{display:block;font-size:7.5pt;letter-spacing:.1em;color:#8b7a4e}
  .ps-fact b{display:block;font-family:"Amiri",serif;font-size:15pt;color:#0b3b2e;line-height:1.35}
  .ps-fact i{display:block;font-style:normal;font-size:7.5pt;color:#6b7a72}
  .ps-fact--price{background:#0b3b2e;border-color:#0b3b2e}
  .ps-fact--price span{color:#cdbb85}
  .ps-fact--price b{color:#F3DFA6;font-size:19pt}
  .ps-fact--price i{color:#a9bdb2}

  /* أسعار الغرف */
  .ps-rooms{display:flex;gap:8pt;margin-bottom:12pt}
  .ps-rooms div{flex:1;text-align:center;padding:8pt;border:.8pt solid #d9cfae;border-radius:7pt;background:#fdfbf5}
  .ps-rooms b{display:block;font-family:"Amiri",serif;font-size:15pt;color:#9a7b1c}
  .ps-rooms span{font-size:8.5pt;color:#5a6b62}

  /* المدينتان */
  .ps-cities{display:flex;gap:10pt;margin-bottom:12pt}
  .ps-city{flex:1;padding:11pt 13pt;border:.8pt solid #cfe0d8;border-radius:7pt;background:#f6faf8}
  .ps-city h2{font-family:"Amiri",serif;font-size:14pt;color:#0b3b2e;margin:0 0 3pt}
  .ps-city>b{display:block;font-family:"Amiri",serif;font-size:17pt;color:#9a7b1c;line-height:1.2}
  .ps-city p{margin:3pt 0 0;font-size:10pt;color:#2b3b34}
  .ps-city span{display:block;font-size:8.5pt;color:#6b7a72}
  .ps-city em{font-style:normal;color:#C9A227;letter-spacing:.12em;font-size:9pt}

  /* القوائم */
  .ps-cols{display:flex;gap:16pt;margin-bottom:10pt}
  .ps-sec{flex:1;break-inside:avoid}
  .ps-sec h3{font-size:9pt;letter-spacing:.12em;color:#9a7b1c;margin:0 0 5pt;
    padding-bottom:3pt;border-bottom:.8pt solid #e4dcc2}
  .ps-sec ul{list-style:none;padding:0;margin:0}
  .ps-sec li{position:relative;padding-inline-start:12pt;margin-bottom:3.5pt;font-size:9.5pt;color:#2b3b34}
  .ps-sec li::before{content:"•";position:absolute;inset-inline-start:0;color:#C9A227;font-weight:700}
  .ps-check li::before{content:"✓";color:#0b7a4e}

  .ps-note{font-size:8pt;color:#6b7a72;padding:7pt 10pt;border-radius:6pt;
    background:#fdfbf5;border:.8pt solid #e4dcc2;margin:0 0 10pt;line-height:1.6}

  .ps-foot{display:flex;justify-content:space-between;gap:10pt;padding-top:7pt;
    border-top:1.5pt solid #C9A227;font-size:8.5pt;color:#4a5a52}

  a[href]::after{content:none!important}
}

/* =========================================================
   مبدّل الثيم
   ========================================================= */
.theme{position:relative;width:42px;height:42px;border-radius:50%;flex:none;
  display:grid;place-items:center;border:1px solid var(--line);color:var(--gold-text);
  transition:background .35s,color .35s,border-color .35s,transform .4s var(--ease)}
.theme svg{width:19px;height:19px;grid-area:1/1;transition:opacity .35s var(--ease),transform .45s var(--ease)}
.theme:hover{border-color:var(--gold);transform:rotate(15deg)}
.theme .i-auto{opacity:1;transform:none}
.theme .i-sun,.theme .i-moon{opacity:0;transform:scale(.5) rotate(-60deg)}
:root[data-theme="light"] .theme .i-auto,
:root[data-theme="dark"]  .theme .i-auto{opacity:0;transform:scale(.5)}
:root[data-theme="light"] .theme .i-sun{opacity:1;transform:none}
:root[data-theme="dark"]  .theme .i-moon{opacity:1;transform:none}

/* ---------- تصحيحات الثيم الفاتح ---------- */
:root[data-theme="light"] body,
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) body{background:var(--ink)}}

/* الهيرو يبقى داكناً لأنه صورة/فيديو */
.hero__content .eyebrow,
.hero__title,.hero__sub,.hero__facts b,.hero__facts span,.hero__scroll{--fg-rgb:244 239 228}
.hero__title,.hero__sub{color:rgb(var(--fg-rgb)/.92)}
.hero .eyebrow{color:#F3DFA6;border-color:rgba(243,223,166,.3);background:rgba(4,13,11,.35)}
.hero__facts b{background:linear-gradient(135deg,#F3DFA6,#C9A227 60%,#F3DFA6);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero__scroll{color:rgba(244,239,228,.7)}
.hero__title .gold{background:linear-gradient(135deg,#F3DFA6,#C9A227 45%,#8f6f16 70%,#F3DFA6);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}

/* الحبيبات تُضعَف على الفاتح */
:root[data-theme="light"] .grain{opacity:.02;mix-blend-mode:multiply}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .grain{opacity:.02;mix-blend-mode:multiply}}

/* المؤشر المخصص يحتاج عكس الدمج على الفاتح */
:root[data-theme="light"] .cursor{mix-blend-mode:normal}
:root[data-theme="light"] .cursor span{border-color:#8A6D14}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .cursor{mix-blend-mode:normal}
  :root:not([data-theme="dark"]) .cursor span{border-color:#8A6D14}
}

/* شاشة التحميل والشريط المتحرك والدعوة */
:root[data-theme="light"] .loader{background:var(--ink)}
:root[data-theme="light"] .marquee{background:linear-gradient(90deg,rgba(11,59,46,.08),rgba(252,249,242,.2))}
:root[data-theme="light"] .cta__bg{background:
  radial-gradient(45% 60% at 30% 40%,rgba(201,162,39,.18),transparent 70%),
  radial-gradient(45% 60% at 72% 60%,rgba(11,59,46,.12),transparent 70%),var(--ink-3)}
:root[data-theme="light"] .plan--featured{background:linear-gradient(180deg,#fff,#FBF7EF)}
:root[data-theme="light"] .btn--gold{color:#FBF7EF}
:root[data-theme="light"] .btn--outline:hover,
:root[data-theme="light"] .socials a:hover,
:root[data-theme="light"] .quotes__nav button:hover{color:#FBF7EF}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .loader{background:var(--ink)}
  :root:not([data-theme="dark"]) .marquee{background:linear-gradient(90deg,rgba(11,59,46,.08),rgba(252,249,242,.2))}
  :root:not([data-theme="dark"]) .cta__bg{background:
    radial-gradient(45% 60% at 30% 40%,rgba(201,162,39,.18),transparent 70%),
    radial-gradient(45% 60% at 72% 60%,rgba(11,59,46,.12),transparent 70%),var(--ink-3)}
  :root:not([data-theme="dark"]) .plan--featured{background:linear-gradient(180deg,#fff,#FBF7EF)}
  :root:not([data-theme="dark"]) .btn--gold{color:#FBF7EF}
  :root:not([data-theme="dark"]) .btn--outline:hover,
  :root:not([data-theme="dark"]) .socials a:hover,
  :root:not([data-theme="dark"]) .quotes__nav button:hover{color:#FBF7EF}
}

/* القائمة العلوية فوق صورة الهيرو: تبقى فاتحة حتى تلتصق بالأعلى */
.nav:not(.is-stuck) .brand__txt b{color:#F4EFE4}
.nav:not(.is-stuck) .brand__txt i,
.nav:not(.is-stuck) .brand{color:#F3DFA6}
.nav:not(.is-stuck) .nav__links a{color:rgba(244,239,228,.82)}
.nav:not(.is-stuck) .nav__links a:hover,
.nav:not(.is-stuck) .nav__links a.is-active{color:#F3DFA6}
.nav:not(.is-stuck) .theme{color:#F3DFA6;border-color:rgba(243,223,166,.3)}
.nav:not(.is-stuck) .burger i{background:#F4EFE4}
.nav:not(.is-stuck) .btn--ghost{color:#F4EFE4;border-color:rgba(243,223,166,.3)}

/* =========================================================
   تنظيف الطبقات فوق فيديو الهيرو
   النجوم والقمر والشفق كانت زينة النسخة المرسومة قبل إضافة
   الفيديو؛ وجودها فوقه يعطي إحساس ضبابية. تُخفى عند وجود وسائط.
   ========================================================= */
.hero:has(.hero__media) .stars,
.hero:has(.hero__media) .moon,
.hero:has(.hero__media) .aurora{display:none}

/* طبقة الوسائط فوق خلفية السماء صراحةً */
.hero__media{z-index:1}
.hero__content{z-index:3}
.sound{z-index:4}
.hero__scroll{z-index:4}

/* الحبيبات لا تمر فوق الهيرو */
.hero{isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;
  background:transparent}
