:root{--navy:#0B1E3F;--navy-d:#06132B;--navy-x:#030B1C;--gold:#C8A253;--gold-l:#E6C77A;--sand:#F7F2E8;--ink:#13213A;--mute:#5B6478;--wa:#25D366}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Cairo','Tajawal',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.75;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;line-height:1.25}
.wrap{width:min(1180px,92%);margin:auto}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.7rem;border-radius:999px;font-weight:700;transition:.3s;border:2px solid transparent}
.btn-g{background:linear-gradient(135deg,var(--gold),var(--gold-l));color:var(--navy-x);box-shadow:0 10px 30px rgba(200,162,83,.35)}
.btn-g:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(200,162,83,.5)}
.btn-o{border-color:rgba(255,255,255,.5);color:#fff}
.btn-o:hover{background:#fff;color:var(--navy)}
.btn-wa{background:var(--wa);color:#fff}
.eyebrow{display:inline-block;color:var(--gold);font-weight:700;letter-spacing:.5px;font-size:.9rem;margin-bottom:.6rem}
.sec{padding:clamp(4rem,9vw,7rem) 0}
.sec h2{font-size:clamp(1.8rem,4vw,2.9rem);margin-bottom:1rem}
.sec .lead{font-size:1.12rem;color:var(--mute);max-width:720px}
.center{text-align:center}.center .lead{margin:auto}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
/* header */
header{position:fixed;inset:0 0 auto;z-index:50;padding:.8rem 0;transition:.35s}
header .wrap{display:flex;align-items:center;justify-content:space-between}
header.solid{background:rgba(6,19,43,.92);backdrop-filter:blur(14px);box-shadow:0 4px 30px rgba(0,0,0,.3)}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff}
.brand img{width:48px;height:48px;border-radius:50%;box-shadow:0 0 0 3px rgba(200,162,83,.5)}
.brand b{display:block;font-size:1rem;line-height:1.1}.brand small{color:var(--gold);font-size:.75rem}
.menu{display:flex;gap:1.6rem;align-items:center;color:#fff;font-weight:600}
.menu a:hover{color:var(--gold)}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}
/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden;padding:7rem 0 5rem}
.hero video,.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,11,28,.55),rgba(3,11,28,.35) 50%,rgba(3,11,28,.9))}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:clamp(2.3rem,6.5vw,4.6rem);margin:.6rem 0 1rem;text-shadow:0 6px 30px rgba(0,0,0,.5)}
.hero h1 span{color:var(--gold-l)}
.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:760px;margin:auto;color:#E8EDF5}
.hero .cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.hero .pill{display:inline-flex;gap:.6rem;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:.45rem 1rem;border-radius:999px;font-size:.9rem;backdrop-filter:blur(8px)}
.scroll{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:#fff;font-size:.8rem;opacity:.8;animation:bob 1.8s infinite}
@keyframes bob{50%{transform:translate(-50%,8px)}}
/* stats */
.stats{background:var(--navy-x);color:#fff;padding:2.2rem 0}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stats b{display:block;font-size:2.4rem;color:var(--gold-l);line-height:1.1}
.stats span{color:#B7C2D6;font-size:.95rem}
.stats .note{grid-column:1/-1;font-size:.75rem;color:#6F7E99}
/* marquee */
.marq{background:var(--gold);color:var(--navy-x);overflow:hidden;white-space:nowrap;padding:.6rem 0;font-weight:700}
.marq div{display:inline-block;animation:mq 30s linear infinite}
.marq span{margin:0 1.6rem}
@keyframes mq{to{transform:translateX(50%)}}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.split .media{border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(11,30,63,.25);aspect-ratio:4/3}
.split .media video,.split .media img{width:100%;height:100%;object-fit:cover}
.ticks{list-style:none;margin-top:1.5rem;display:grid;gap:.8rem}
.ticks li{display:flex;gap:.8rem;align-items:flex-start}
.ticks li::before{content:"✓";flex:none;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--gold-l);display:grid;place-items:center;font-weight:800}
/* packages */
.filters{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin:1.8rem 0 2.5rem}
.filters button{border:1.5px solid #D9DEE8;background:#fff;padding:.5rem 1.1rem;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;color:var(--mute)}
.filters button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pks{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.pk{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 40px rgba(11,30,63,.1);transition:.35s;display:flex;flex-direction:column}
.pk:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(11,30,63,.18)}
.pk.hide{display:none}
.pk .im{position:relative;aspect-ratio:3/2;overflow:hidden}
.pk .im img{width:100%;height:100%;object-fit:cover;transition:.6s}
.pk:hover .im img{transform:scale(1.07)}
.pk .tag{position:absolute;top:.8rem;right:.8rem;background:var(--gold);color:var(--navy-x);font-size:.75rem;font-weight:800;padding:.25rem .7rem;border-radius:999px}
.pk .bd{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.pk h3{font-size:1.1rem}
.pk .meta{color:var(--mute);font-size:.85rem}
.pk .pr{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:.8rem}
.pk .pr b{font-size:1.25rem;color:var(--navy)}.pk .pr small{display:block;font-size:.7rem;color:var(--mute);font-weight:400}
.pk .pr a{background:var(--navy);color:#fff;padding:.5rem 1rem;border-radius:999px;font-size:.85rem;font-weight:700}
.pk .pr a:hover{background:var(--gold);color:var(--navy-x)}
.pnote{font-size:.8rem;color:var(--mute);margin-top:1.2rem;text-align:center}
/* feature cruise */
.feat{position:relative;color:#fff;overflow:hidden;background:var(--navy-x)}
.feat video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.feat::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,28,.95),rgba(3,11,28,.4))}
.feat .wrap{position:relative;z-index:1;padding:clamp(4rem,9vw,7rem) 0;max-width:min(1180px,92%)}
.feat .box{max-width:600px}
.feat .lead{color:#C9D3E4}
.inc{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.6rem 0;list-style:none}
.inc li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:.7rem .9rem;font-size:.93rem;backdrop-filter:blur(6px)}
.inc li b{color:var(--gold-l);margin-left:.3rem}
/* duo */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}
.duo figure{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/10;color:#fff}
.duo video{width:100%;height:100%;object-fit:cover}
.duo figcaption{position:absolute;inset:auto 0 0;padding:1.5rem;background:linear-gradient(0deg,rgba(3,11,28,.9),transparent)}
.duo figcaption b{display:block;font-size:1.3rem}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.step{background:var(--sand);border-radius:20px;padding:2rem 1.5rem;position:relative}
.step i{font-style:normal;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--gold-l);font-weight:800;margin-bottom:1rem}
.step h3{margin-bottom:.4rem}
.step p{color:var(--mute);font-size:.95rem}
/* why cards */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.5rem}
.why div{border:1px solid #E6EAF2;border-radius:18px;padding:1.5rem;transition:.3s}
.why div:hover{border-color:var(--gold);box-shadow:0 14px 40px rgba(200,162,83,.18)}
.why span{font-size:1.8rem;display:block;margin-bottom:.6rem}
.why h3{font-size:1.05rem;margin-bottom:.3rem}
.why p{font-size:.9rem;color:var(--mute)}
/* quotes */
.quotes{background:var(--navy);color:#fff}
.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem}
.q{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:1.8rem}
.q .st{color:var(--gold-l);letter-spacing:2px;margin-bottom:.6rem}
.q p{color:#DCE3EF}
.q footer{margin-top:1rem;font-size:.85rem;color:#9FB0CC}
.quotes .lead{color:#B7C2D6}
.g-badge{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--ink);padding:.6rem 1.2rem;border-radius:999px;font-weight:700;margin-top:1.5rem}
/* faq */
details{border-bottom:1px solid #E6EAF2;padding:1rem 0}
summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
summary::after{content:"+";color:var(--gold);font-size:1.5rem}
details[open] summary::after{content:"−"}
details p{color:var(--mute);padding-top:.6rem}
/* finale */
.finale{position:relative;color:#fff;text-align:center;overflow:hidden;min-height:70vh;display:grid;place-items:center}
.finale video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.finale::after{content:"";position:absolute;inset:0;background:rgba(3,11,28,.6)}
.finale .wrap{position:relative;z-index:1}
.finale h2{font-size:clamp(2rem,5vw,3.6rem)}
/* contact */
.contact{background:var(--sand)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem}
.info{display:grid;gap:1rem;align-content:start}
.info div{background:#fff;border-radius:18px;padding:1.2rem 1.4rem;display:flex;gap:1rem;align-items:flex-start}
.info span{font-size:1.5rem}
.info b{display:block}.info a{color:var(--navy);font-weight:700}
.info small{color:var(--mute)}
.map{border-radius:18px;overflow:hidden;border:0;width:100%;height:260px}
form{background:#fff;border-radius:22px;padding:2rem;display:grid;gap:1rem;box-shadow:0 20px 50px rgba(11,30,63,.1)}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
input,select,textarea{width:100%;padding:.85rem 1rem;border:1.5px solid #DDE2EC;border-radius:12px;font:inherit;background:#FAFBFD}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold)}
label{font-weight:700;font-size:.9rem;display:grid;gap:.3rem}
/* footer */
body>footer{background:var(--navy-x);color:#9FB0CC;padding:3rem 0 6rem;font-size:.9rem}
body>footer .wrap{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:center}
body>footer b{color:#fff}
.wa-float{position:fixed;bottom:1.2rem;left:1.2rem;z-index:60;background:var(--wa);color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 30px rgba(37,211,102,.45);font-size:1.7rem;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(37,211,102,0)}}
@media(max-width:900px){
  .menu{position:fixed;inset:0 0 auto;top:0;flex-direction:column;background:var(--navy-x);padding:5.5rem 2rem 2rem;transform:translateY(-110%);transition:.4s}
  .menu.open{transform:none}.burger{display:block}
  .stats .wrap{grid-template-columns:1fr 1fr}
  .split,.cgrid,.duo,.inc,form .row{grid-template-columns:1fr}
  .pks{grid-template-columns:1fr 1fr}
  .steps,.qs{grid-template-columns:1fr}
  .why{grid-template-columns:1fr 1fr}
  .brand small{display:none}
}
@media(max-width:480px){.pks{grid-template-columns:1fr}.why{grid-template-columns:1fr}}
/* v2: language + ltr */
.lang{border:1.5px solid rgba(255,255,255,.5);color:#fff;padding:.35rem .8rem;border-radius:999px;font-weight:700;font-size:.85rem}
.lang:hover{background:#fff;color:var(--navy)}
.brand img{box-shadow:none;background:transparent}
[dir=ltr] body,[dir=ltr]{font-family:'Montserrat','Cairo',system-ui,sans-serif}
[dir=ltr] .marq div{animation-name:mql}
@keyframes mql{to{transform:translateX(-50%)}}
[dir=ltr] .wa-float{left:auto;right:1.2rem}
[dir=ltr] .ticks li::before{margin-right:0}
[dir=ltr] .inc li b{margin-left:0;margin-right:.3rem}
[dir=ltr] .eyebrow{letter-spacing:2px;text-transform:uppercase;font-size:.8rem}
header .wrap{gap:.8rem}
.lang{margin-inline-start:auto}
@media(min-width:901px){.lang{margin-inline-start:0}}
