/* ══════════════════════════════════════════
   شعاع المحبة — Main Stylesheet
   ══════════════════════════════════════════ */

/* RESET & BASE */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Tajawal',sans-serif; background:#FAF9F6; color:#2C2C2C; overflow-x:hidden; direction:rtl; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
ul { list-style:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* CSS VARIABLES */
:root {
    --gold:#D4AF37; --gold-l:#E8CC6A; --gold-d:#B8952A;
    --cream:#FAF9F6; --cream2:#F0EDE6; --cream3:#E8E4DC;
    --dark:#1A1A1A; --charcoal:#2C2C2C; --mid:#555555; --light:#888888;
}

/* SCROLLBAR */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--cream); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:3px; }

/* UTILITY */
.wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.wrap-sm { max-width:800px; margin:0 auto; padding:0 24px; }
.gold-hr { height:1px; border:none; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.gold-hr-short { width:80px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:0 auto; display:block; }

/* TYPOGRAPHY */
.eyebrow { font-size:0.72rem; font-weight:700; letter-spacing:0.22em; color:var(--gold); display:block; margin-bottom:10px; }
.sec-title { font-family:'Amiri',serif; font-size:clamp(1.85rem,4vw,2.85rem); color:var(--charcoal); line-height:1.45; }
.sec-title-w { font-family:'Amiri',serif; font-size:clamp(1.85rem,4vw,2.85rem); color:#fff; line-height:1.45; }
.sec-body { font-size:1rem; font-weight:300; color:var(--mid); line-height:1.9; margin-top:14px; }

/* BUTTONS */
.btn-g { display:inline-flex; align-items:center; gap:8px; font-family:'Tajawal',sans-serif; font-size:0.9rem; font-weight:700; letter-spacing:0.08em; background:var(--gold); color:var(--charcoal); padding:14px 36px; border:2px solid var(--gold); position:relative; overflow:hidden; transition:color .35s ease, border-color .35s ease; white-space:nowrap; cursor:pointer; }
.btn-g::after { content:''; position:absolute; inset:0; background:var(--charcoal); transform:translateY(102%); transition:transform .35s cubic-bezier(.4,0,.2,1); z-index:0; }
.btn-g:hover { color:var(--gold); border-color:var(--charcoal); }
.btn-g:hover::after { transform:translateY(0); }
.btn-g span { position:relative; z-index:1; }

.btn-w { display:inline-flex; align-items:center; gap:8px; font-family:'Tajawal',sans-serif; font-size:0.9rem; font-weight:700; letter-spacing:0.08em; background:transparent; color:rgba(255,255,255,.9); padding:13px 34px; border:1.5px solid rgba(255,255,255,.55); position:relative; overflow:hidden; transition:color .35s ease; white-space:nowrap; cursor:pointer; }
.btn-w::after { content:''; position:absolute; inset:0; background:#fff; transform:translateY(102%); transition:transform .35s cubic-bezier(.4,0,.2,1); z-index:0; }
.btn-w:hover { color:var(--charcoal); }
.btn-w:hover::after { transform:translateY(0); }
.btn-w span { position:relative; z-index:1; }

.btn-ol { display:inline-flex; align-items:center; gap:8px; font-family:'Tajawal',sans-serif; font-size:0.88rem; font-weight:700; letter-spacing:0.08em; background:transparent; color:var(--gold-d); padding:12px 30px; border:1.5px solid var(--gold); position:relative; overflow:hidden; transition:color .35s ease; white-space:nowrap; cursor:pointer; }
.btn-ol::after { content:''; position:absolute; inset:0; background:var(--gold); transform:translateY(102%); transition:transform .35s cubic-bezier(.4,0,.2,1); z-index:0; }
.btn-ol:hover { color:var(--charcoal); }
.btn-ol:hover::after { transform:translateY(0); }
.btn-ol span { position:relative; z-index:1; }

/* SCROLL REVEAL */
.rv { opacity:0; transform:translateY(34px); transition:opacity .75s ease, transform .75s ease; }
.rv.left { transform:translateX(34px); }
.rv.right { transform:translateX(-34px); }
.rv.sc { transform:scale(0.96); }
.rv.in { opacity:1 !important; transform:none !important; }
.d1 { transition-delay:.1s; } .d2 { transition-delay:.2s; } .d3 { transition-delay:.3s; } .d4 { transition-delay:.4s; }

/* HEADER */
#hdr { position:fixed; top:0; left:0; right:0; z-index:999; padding:20px 0; transition:background .4s, padding .4s, box-shadow .4s; }
#hdr.solid { background:rgba(250,249,246,.95); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); padding:13px 0; box-shadow:0 1px 0 rgba(212,175,55,.18), 0 4px 30px rgba(0,0,0,.06); }
.hdr-in { display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
.logo-a { font-family:'Amiri',serif; font-size:1.75rem; font-weight:700; line-height:1; color:var(--gold-d); }
.logo-s { font-size:0.63rem; font-weight:400; letter-spacing:.28em; color:var(--mid); }
nav.dk { display:flex; align-items:center; gap:30px; }
nav.dk a { font-size:.87rem; font-weight:500; color:var(--charcoal); position:relative; padding-bottom:3px; transition:color .3s; }
nav.dk a::after { content:''; position:absolute; bottom:0; right:0; width:0; height:1px; background:var(--gold); transition:width .3s; }
nav.dk a:hover, nav.dk a.active { color:var(--gold-d); }
nav.dk a:hover::after, nav.dk a.active::after { width:100%; }
.hdr-r { display:flex; align-items:center; gap:12px; }
.hbg { display:none; flex-direction:column; gap:5px; padding:6px; cursor:pointer; }
.hbg span { display:block; width:24px; height:1.5px; background:var(--charcoal); transition:all .3s; }

/* MOBILE MENU */
#mob { position:fixed; inset:0; z-index:998; background:rgba(250,249,246,.98); backdrop-filter:blur(20px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; transform:translateX(100%); transition:transform .4s cubic-bezier(.4,0,.2,1); }
#mob.open { transform:translateX(0); }
#mob a { font-family:'Amiri',serif; font-size:1.85rem; color:var(--charcoal); transition:color .3s; }
#mob a:hover { color:var(--gold); }
#mob-x { position:absolute; top:22px; left:22px; font-size:1.4rem; color:var(--mid); cursor:pointer; padding:8px; transition:color .3s; }
#mob-x:hover { color:var(--gold); }

/* HERO */
#hero { height:100vh; min-height:680px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; text-align:center; }
.h-bg { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1519741497674-611481863552?w=1920&q=85') center/cover no-repeat; }
.h-ov { position:absolute; inset:0; background:linear-gradient(155deg,rgba(26,26,26,.62) 0%,rgba(26,26,26,.42) 45%,rgba(184,149,42,.18) 100%); }
.h-tl { position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,transparent,var(--gold),transparent); z-index:2; }
.h-cnt { position:relative; z-index:2; padding:0 24px; max-width:860px; }
.h-ey { font-size:.72rem; font-weight:700; letter-spacing:.32em; color:rgba(212,175,55,.92); display:block; margin-bottom:22px; }
.h-h1 { font-family:'Amiri',serif; font-size:clamp(2.5rem,7vw,5rem); color:#fff; line-height:1.38; text-shadow:0 2px 40px rgba(0,0,0,.35); }
.h-sub { font-size:clamp(.95rem,2.2vw,1.2rem); font-weight:300; color:rgba(255,255,255,.82); margin-top:14px; line-height:1.7; }
.h-btns { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:38px; }
.h-stats { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; margin-top:54px; }
.h-stat { text-align:center; padding:0 28px; }
.h-stat + .h-stat { border-right:1px solid rgba(212,175,55,.35); }
.h-stat-n { font-family:'Amiri',serif; font-size:2rem; color:var(--gold); line-height:1; }
.h-stat-l { font-size:.74rem; font-weight:300; color:rgba(255,255,255,.62); margin-top:4px; }
.scrl { position:absolute; bottom:34px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; z-index:2; }
.scrl span { font-size:.67rem; letter-spacing:.18em; color:rgba(255,255,255,.42); }
.scrl-ln { width:1px; height:46px; background:linear-gradient(to bottom,rgba(212,175,55,.7),transparent); animation:sp 2s ease-in-out infinite; }
@keyframes sp { 0%,100%{opacity:.4} 50%{opacity:1} }

/* SECTION HEAD */
.sec-hd { text-align:center; margin-bottom:56px; }
.sec-hd .gold-hr-short { margin-top:18px; }
.sec-hd .sec-body { max-width:500px; margin-left:auto; margin-right:auto; }

/* PAGE HEADER (Inner pages) */
.page-hdr { position:relative; padding:160px 0 80px; text-align:center; background:var(--dark); overflow:hidden; }
.page-hdr-bg { position:absolute; inset:0; opacity:.08; background-size:cover; background-position:center; }
.page-hdr-ov { position:absolute; inset:0; background:radial-gradient(circle,rgba(212,175,55,.1) 1px,transparent 1px); background-size:30px 30px; }
.page-hdr .h-tl { position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,transparent,var(--gold),transparent); z-index:2; }
.page-hdr .eyebrow { color:rgba(212,175,55,.82); }
.page-hdr .sec-title-w { position:relative; z-index:2; }
.page-hdr .sec-body { color:rgba(255,255,255,.6); position:relative; z-index:2; max-width:500px; margin:10px auto 0; }
.breadcrumb { position:relative; z-index:2; display:flex; justify-content:center; gap:8px; margin-top:22px; font-size:.82rem; color:rgba(255,255,255,.4); }
.breadcrumb a { color:var(--gold); transition:opacity .3s; }
.breadcrumb a:hover { opacity:.7; }
.breadcrumb span { color:rgba(255,255,255,.25); }

/* SERVICES GRID */
#services { padding:110px 0; background:var(--cream); }
.svc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.svc-card { position:relative; overflow:hidden; cursor:pointer; }
.svc-card img { width:100%; height:400px; object-fit:cover; display:block; transition:transform .65s cubic-bezier(.25,.46,.45,.94); }
.svc-card:hover img { transform:scale(1.08); }
.svc-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(26,26,26,.82) 0%,transparent 55%); }
.svc-gw { position:absolute; inset:0; box-shadow:inset 0 0 0 0 rgba(212,175,55,0); transition:box-shadow .4s; pointer-events:none; }
.svc-card:hover .svc-gw { box-shadow:inset 0 0 0 2px rgba(212,175,55,.65); }
.svc-nfo { position:absolute; bottom:0; left:0; right:0; padding:26px 22px; transform:translateY(6px); transition:transform .4s; }
.svc-card:hover .svc-nfo { transform:translateY(0); }
.svc-tag { font-size:.67rem; font-weight:700; letter-spacing:.18em; color:var(--gold); display:block; margin-bottom:5px; }
.svc-ttl { font-family:'Amiri',serif; font-size:1.42rem; color:#fff; line-height:1.3; }
.svc-arr { display:block; color:var(--gold); font-size:.8rem; margin-top:9px; opacity:0; transform:translateX(8px); transition:opacity .3s .1s, transform .3s .1s; }
.svc-card:hover .svc-arr { opacity:1; transform:translateX(0); }
.svc-more { text-align:center; margin-top:42px; }

/* ABOUT */
#about { padding:110px 0; background:var(--cream2); }
.ab-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.ab-img { position:relative; }
.ab-fr { position:absolute; top:24px; left:-22px; right:22px; bottom:-22px; border:1.5px solid rgba(212,175,55,.4); pointer-events:none; z-index:0; }
.ab-img img { width:100%; height:520px; object-fit:cover; display:block; position:relative; z-index:1; }
.ab-badge { position:absolute; bottom:26px; right:26px; z-index:2; background:rgba(250,249,246,.97); border:1px solid rgba(212,175,55,.35); padding:16px 22px; text-align:center; backdrop-filter:blur(8px); }
.ab-bnum { font-family:'Amiri',serif; font-size:2.5rem; color:var(--gold); line-height:1; }
.ab-btxt { font-size:.71rem; color:var(--mid); letter-spacing:.1em; margin-top:3px; }
.ab-cnt .gold-hr-short { margin:16px 0 0; margin-right:0; }
.stats-row { display:flex; margin-top:38px; border-top:1px solid var(--cream3); border-bottom:1px solid var(--cream3); }
.st-it { flex:1; padding:22px 18px; text-align:center; }
.st-it + .st-it { border-right:1px solid var(--cream3); }
.st-n { font-family:'Amiri',serif; font-size:2.7rem; color:var(--gold); line-height:1; display:block; }
.st-l { font-size:.77rem; color:var(--mid); margin-top:5px; }
.ab-cnt .btn-g { margin-top:34px; }

/* PRODUCTS GRID */
.prd-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.prd-card { background:#fff; border:1px solid var(--cream3); transition:border-color .3s, box-shadow .3s; overflow:hidden; }
.prd-card:hover { border-color:rgba(212,175,55,.4); box-shadow:0 8px 30px rgba(0,0,0,.06); }
.prd-iw { overflow:hidden; }
.prd-card img { width:100%; height:240px; object-fit:cover; transition:transform .55s; }
.prd-card:hover img { transform:scale(1.06); }
.prd-b { padding:18px; }
.prd-cat { font-size:.67rem; font-weight:700; letter-spacing:.14em; color:var(--gold); display:block; margin-bottom:5px; }
.prd-nm { font-family:'Amiri',serif; font-size:1.15rem; color:var(--charcoal); line-height:1.4; }
.prd-desc { font-size:.84rem; font-weight:300; color:var(--mid); line-height:1.7; margin-top:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.prd-foot { display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding-top:12px; border-top:1px solid var(--cream3); }
.prd-price { font-family:'Amiri',serif; font-size:1.1rem; color:var(--gold-d); font-weight:700; }
.prd-link { font-size:.8rem; font-weight:700; color:var(--gold-d); transition:gap .3s; display:flex; align-items:center; gap:4px; }
.prd-card:hover .prd-link { gap:8px; }

/* GALLERY */
#gallery { padding:110px 0; background:var(--cream); }
.flt-bar { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:46px; }
.flt { font-family:'Tajawal',sans-serif; font-size:.84rem; font-weight:600; padding:10px 24px; border:1px solid var(--cream3); color:var(--mid); background:var(--cream); cursor:pointer; transition:all .3s; }
.flt:hover, .flt.on { background:var(--gold); color:var(--charcoal); border-color:var(--gold); }
.gal-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.g-it { position:relative; overflow:hidden; cursor:pointer; transition:opacity .4s, transform .4s; }
.g-it.hid { opacity:0; transform:scale(.94); pointer-events:none; display:none; }
.g-it img { width:100%; height:255px; object-fit:cover; display:block; transition:transform .6s; }
.g-it:hover img { transform:scale(1.08); }
.g-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(26,26,26,.78) 0%,transparent 55%); }
.g-gw { position:absolute; inset:0; box-shadow:inset 0 0 0 0 rgba(212,175,55,0); transition:box-shadow .4s; pointer-events:none; }
.g-it:hover .g-gw { box-shadow:inset 0 0 0 2px rgba(212,175,55,.6); }
.g-nfo { position:absolute; bottom:0; left:0; right:0; padding:16px 15px; }
.g-tag { font-size:.63rem; font-weight:700; letter-spacing:.18em; color:var(--gold); display:block; margin-bottom:3px; }
.g-ttl { font-family:'Amiri',serif; font-size:1.08rem; color:#fff; }

/* PACKAGES */
.pkg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.pkg-card { background:#fff; border:1px solid var(--cream3); padding:36px 28px; position:relative; text-align:center; transition:border-color .3s, box-shadow .3s; }
.pkg-card:hover { border-color:rgba(212,175,55,.5); box-shadow:0 12px 40px rgba(0,0,0,.08); }
.pkg-card.popular { border-color:var(--gold); }
.pkg-badge { position:absolute; top:-1px; right:24px; background:var(--gold); color:var(--charcoal); font-size:.72rem; font-weight:700; padding:5px 14px; letter-spacing:.08em; }
.pkg-name { font-family:'Amiri',serif; font-size:1.65rem; color:var(--charcoal); margin-top:8px; }
.pkg-price { font-family:'Amiri',serif; font-size:2.8rem; color:var(--gold); line-height:1; margin-top:18px; }
.pkg-price small { font-size:.9rem; color:var(--mid); font-weight:300; }
.pkg-orig { font-size:.9rem; color:var(--light); text-decoration:line-through; margin-top:4px; }
.pkg-note { font-size:.82rem; color:var(--mid); margin-top:4px; }
.pkg-items { text-align:right; margin-top:24px; }
.pkg-items li { font-size:.9rem; color:var(--mid); padding:8px 0; border-bottom:1px solid var(--cream3); display:flex; align-items:center; gap:8px; }
.pkg-items li::before { content:'✓'; color:var(--gold); font-weight:700; font-size:.85rem; }
.pkg-card .btn-g { width:100%; justify-content:center; margin-top:24px; }

/* TESTIMONIALS */
#testi { padding:110px 0; background:var(--cream2); text-align:center; }
.ts-slider { min-height:240px; margin-top:54px; }
.ts-slide { display:none; }
.ts-slide.on { display:block; animation:tsIn .5s ease; }
@keyframes tsIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.ts-stars { font-size:1.5rem; color:var(--gold); letter-spacing:.1em; margin-bottom:18px; }
.ts-q { font-family:'Amiri',serif; font-size:clamp(1.05rem,2.5vw,1.52rem); color:var(--charcoal); line-height:1.75; font-style:italic; max-width:680px; margin:0 auto; }
.ts-au { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:26px; }
.ts-av { width:50px; height:50px; border-radius:50%; object-fit:cover; border:2px solid rgba(212,175,55,.4); }
.ts-nm { font-size:.9rem; font-weight:600; color:var(--charcoal); }
.ts-lc { font-size:.77rem; color:var(--light); margin-top:2px; }
.ts-bd { display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:700; color:var(--gold-d); background:rgba(212,175,55,.1); border:1px solid rgba(212,175,55,.3); padding:3px 11px; border-radius:20px; margin-top:5px; }
.ts-ctrl { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:34px; }
.ts-btn { width:42px; height:42px; border:1.5px solid rgba(212,175,55,.4); display:flex; align-items:center; justify-content:center; cursor:pointer; background:transparent; color:var(--mid); font-size:1.2rem; transition:all .3s; }
.ts-btn:hover { border-color:var(--gold); color:var(--gold); background:rgba(212,175,55,.06); }
.ts-dots { display:flex; gap:8px; }
.ts-dot { width:8px; height:8px; border-radius:50%; background:var(--cream3); cursor:pointer; border:none; transition:background .3s; }
.ts-dot.on { background:var(--gold); }

/* BLOG */
#blog { padding:110px 0; background:var(--cream); }
.bl-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.bl-card { cursor:pointer; }
.bl-iw { overflow:hidden; }
.bl-card img { width:100%; height:220px; object-fit:cover; display:block; transition:transform .55s; }
.bl-card:hover img { transform:scale(1.06); }
.bl-b { padding-top:18px; border-bottom:1px solid var(--cream3); padding-bottom:18px; transition:border-color .3s; }
.bl-card:hover .bl-b { border-color:var(--gold); }
.bl-cat { font-size:.7rem; font-weight:700; letter-spacing:.16em; color:var(--gold); }
.bl-ttl { font-family:'Amiri',serif; font-size:1.22rem; color:var(--charcoal); line-height:1.5; margin-top:7px; }
.bl-ex { font-size:.87rem; font-weight:300; color:var(--mid); line-height:1.8; margin-top:7px; }
.bl-rd { display:inline-flex; align-items:center; gap:4px; font-size:.82rem; font-weight:700; color:var(--gold-d); margin-top:11px; transition:gap .3s; }
.bl-card:hover .bl-rd { gap:8px; }

/* FAQ */
#faq { padding:110px 0; background:var(--cream2); }
.faq-it { border-bottom:1px solid var(--cream3); }
.faq-q { width:100%; text-align:right; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; font-size:1rem; font-weight:600; color:var(--charcoal); cursor:pointer; background:none; border:none; font-family:'Tajawal',sans-serif; transition:color .3s; }
.faq-q:hover { color:var(--gold-d); }
.faq-ic { width:25px; height:25px; flex-shrink:0; border:1.5px solid var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:.95rem; transition:transform .35s, background .3s, color .3s; }
.faq-q.oo .faq-ic { transform:rotate(45deg); background:var(--gold); color:#fff; }
.faq-a { font-size:.94rem; font-weight:300; color:var(--mid); line-height:1.9; max-height:0; overflow:hidden; transition:max-height .4s ease, padding .3s; }
.faq-a.oo { max-height:300px; padding-bottom:20px; }

/* CTA */
#cta { padding:110px 0; background:var(--dark); position:relative; overflow:hidden; text-align:center; }
.cta-bg2 { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?w=1920&q=60') center/cover; opacity:.07; }
.cta-dt { position:absolute; inset:0; background-image:radial-gradient(circle,rgba(212,175,55,.1) 1px,transparent 1px); background-size:30px 30px; }
.cta-in { position:relative; z-index:2; }
.cta-btns { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:38px; }
.cta-locs { display:flex; flex-wrap:wrap; justify-content:center; margin-top:54px; }
.cta-lc { padding:0 38px; text-align:center; }
.cta-lc + .cta-lc { border-right:1px solid rgba(212,175,55,.2); }
.cta-city { font-family:'Amiri',serif; font-size:1.28rem; color:var(--gold); }
.cta-ad { font-size:.82rem; color:rgba(255,255,255,.52); margin-top:5px; }
.cta-hr { font-size:.72rem; color:rgba(212,175,55,.62); margin-top:3px; }

/* CONTACT */
#contact { padding:110px 0; background:var(--cream); }
.ct-grid { display:grid; grid-template-columns:3fr 2fr; gap:60px; align-items:start; }
.ct-box { background:var(--cream2); border:1px solid rgba(212,175,55,.18); padding:46px; }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.f-g { margin-bottom:0; }
.f-g label { display:block; font-size:.82rem; font-weight:600; color:var(--charcoal); margin-bottom:7px; }
.f-g input, .f-g select, .f-g textarea { width:100%; font-family:'Tajawal',sans-serif; font-size:.9rem; color:var(--charcoal); background:#fff; border:1px solid #ddd; padding:13px 15px; outline:none; transition:border-color .3s; -webkit-appearance:none; appearance:none; display:block; }
.f-g input:focus, .f-g select:focus, .f-g textarea:focus { border-color:var(--gold); }
.f-g textarea { resize:none; }
.f-sp { margin-top:15px; }
.f-sub { width:100%; font-size:1rem; padding:15px; margin-top:16px; }
.f-ok { display:none; margin-top:12px; font-size:.87rem; font-weight:600; color:var(--gold-d); text-align:center; background:rgba(212,175,55,.08); border:1px solid rgba(212,175,55,.3); padding:11px; }
.ct-nfo h3 { font-family:'Amiri',serif; font-size:1.65rem; color:var(--charcoal); }
.ci-it { display:flex; gap:13px; align-items:flex-start; margin-bottom:20px; }
.ci-ic { width:40px; height:40px; flex-shrink:0; border:1px solid rgba(212,175,55,.35); display:flex; align-items:center; justify-content:center; }
.ci-ic svg { width:17px; height:17px; stroke:var(--gold); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.ci-lb { font-size:.71rem; font-weight:700; letter-spacing:.1em; color:var(--light); }
.ci-vl { font-size:.9rem; font-weight:600; color:var(--charcoal); margin-top:2px; display:block; }
.soc-row { display:flex; gap:10px; margin-top:26px; }
.soc-b { width:40px; height:40px; border:1px solid rgba(212,175,55,.3); background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .3s; }
.soc-b:hover { border-color:var(--gold); background:rgba(212,175,55,.08); }
.soc-b svg { width:17px; height:17px; fill:var(--mid); transition:fill .3s; }
.soc-b:hover svg { fill:var(--gold); }

/* PAGINATION */
.pagination { display:flex; justify-content:center; gap:6px; margin-top:48px; }
.pagination a, .pagination span { display:flex; align-items:center; justify-content:center; width:40px; height:40px; font-size:.88rem; font-weight:600; border:1px solid var(--cream3); color:var(--mid); transition:all .3s; }
.pagination a:hover { border-color:var(--gold); color:var(--gold-d); }
.pagination .active span { background:var(--gold); color:var(--charcoal); border-color:var(--gold); }
.pagination .disabled span { opacity:.3; }

/* EMPTY STATE */
.empty-state { text-align:center; padding:80px 20px; }
.empty-state svg { width:64px; height:64px; stroke:var(--cream3); margin:0 auto 16px; }
.empty-state h3 { font-family:'Amiri',serif; font-size:1.4rem; color:var(--charcoal); }
.empty-state p { font-size:.9rem; color:var(--mid); margin-top:8px; }

/* FOOTER */
footer { background:#111; }
.ft-top { padding:68px 0 48px; }
.ft-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:46px; }
.ft-brand p { font-size:.84rem; font-weight:300; color:rgba(255,255,255,.43); line-height:1.8; margin-top:12px; }
.ft-soc { display:flex; gap:8px; margin-top:18px; }
.ft-soc .soc-b { border-color:rgba(255,255,255,.12); }
.ft-soc .soc-b svg { fill:rgba(255,255,255,.38); }
.ft-soc .soc-b:hover { border-color:var(--gold); background:rgba(212,175,55,.1); }
.ft-soc .soc-b:hover svg { fill:var(--gold); }
.ft-col h4 { font-size:.77rem; font-weight:700; letter-spacing:.16em; color:rgba(255,255,255,.82); margin-bottom:18px; }
.ft-col ul { display:flex; flex-direction:column; gap:9px; }
.ft-col a { font-size:.87rem; color:rgba(255,255,255,.42); transition:color .3s; }
.ft-col a:hover { color:var(--gold); }
.ft-bot { border-top:1px solid rgba(255,255,255,.06); padding:18px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:11px; }
.ft-bot p { font-size:.77rem; color:rgba(255,255,255,.24); }
.ft-bls { display:flex; gap:18px; }
.ft-bls a { font-size:.74rem; color:rgba(255,255,255,.28); transition:color .3s; }
.ft-bls a:hover { color:var(--gold); }
.ft-gl { height:3px; background:linear-gradient(90deg,transparent,var(--gold),var(--gold-d),var(--gold),transparent); }

/* RESPONSIVE */
@media(max-width:1100px){
    .svc-grid { grid-template-columns:repeat(2,1fr); }
    .gal-grid { grid-template-columns:repeat(2,1fr); }
    .prd-grid { grid-template-columns:repeat(2,1fr); }
    .pkg-grid { grid-template-columns:repeat(2,1fr); }
    .ft-grid { grid-template-columns:1fr 1fr; gap:34px; }
}
@media(max-width:900px){
    .ab-grid { grid-template-columns:1fr; gap:44px; }
    .ab-fr { display:none; }
    .ab-img img { height:320px; }
    .ct-grid { grid-template-columns:1fr; }
    .bl-grid { grid-template-columns:1fr; max-width:480px; margin:0 auto; }
    .pkg-grid { grid-template-columns:1fr; max-width:420px; margin:0 auto; }
    nav.dk { display:none; }
    .hdr-r .btn-g { display:none; }
    .hbg { display:flex; }
    .f-row { grid-template-columns:1fr; }
}
@media(max-width:640px){
    .svc-grid { grid-template-columns:1fr; }
    .gal-grid { grid-template-columns:repeat(2,1fr); }
    .prd-grid { grid-template-columns:1fr; }
    .ft-grid { grid-template-columns:1fr; }
    .stats-row { flex-direction:column; }
    .st-it + .st-it { border-right:none; border-top:1px solid var(--cream3); }
    .h-stats { gap:0; }
    .h-stat { padding:0 14px; }
    .ct-box { padding:24px 18px; }
    .cta-locs { flex-direction:column; gap:22px; }
    .cta-lc + .cta-lc { border-right:none; }
    .ft-bot { flex-direction:column; text-align:center; }
    .bl-grid { max-width:100%; }
}
