/* ---------- Why us ---------- */
.why{background:#fff}
.why__head{max-width:640px;margin-bottom:clamp(36px,5vw,64px)}
.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why-card{--mx:50%;--my:50%;position:relative;border-radius:var(--radius);background:var(--paper);border:1px solid rgba(15,34,54,.08);overflow:hidden;transition:box-shadow .4s,border-color .4s}
.why-card::before{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx) var(--my),rgba(242,184,75,.28),transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none}
.why-card:hover{border-color:rgba(242,184,75,.7);box-shadow:0 30px 50px -28px rgba(15,34,54,.35)}
.why-card:hover::before{opacity:1}
.why-card__in{position:relative;height:100%;padding:clamp(24px,3vw,36px);transition:transform .25s ease-out;transform-style:preserve-3d}
.why-card__ico{width:56px;height:56px;padding:14px;margin-bottom:22px;border-radius:18px;background:var(--navy);color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease),background .3s}
.why-card:hover .why-card__ico{transform:rotate(-8deg) scale(1.1);background:var(--gold);color:var(--navy-950)}
.why-card h3{font-size:1.15rem;margin-bottom:10px}
.why-card p{color:var(--muted);font-size:.97rem}
.why-card--accent{background:linear-gradient(150deg,var(--navy),var(--navy-900));color:#fff;border-color:transparent}
.why-card--accent p{color:rgba(255,255,255,.75)}
.why-card--accent .why-card__ico{background:rgba(242,184,75,.18)}

/* ---------- Dubai / Umrah / Cruise panels ---------- */
.worlds{background:var(--navy-950);color:#fff;padding:clamp(72px,9vw,120px) 0 0}
.worlds__head{margin-bottom:44px}
.worlds__row{display:flex;height:min(78svh,720px);min-height:520px}
.panel{position:relative;flex:1;overflow:hidden;cursor:pointer;transition:flex .8s var(--ease);border-left:1px solid rgba(255,255,255,.12);outline-offset:-4px}
.panel:first-child{border-left:0}
.panel.is-open{flex:3.2}
.panel__bg{position:absolute;inset:-6%;background-size:cover;background-position:center;translate:0 var(--py,0%);scale:1.08;transition:scale 1.2s var(--ease),filter .6s;filter:saturate(.75) brightness(.8)}
.panel.is-open .panel__bg{scale:1.0;filter:none}
.panel__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,31,.15),rgba(8,20,31,.85))}
.panel__tag{position:absolute;left:50%;bottom:36px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font:800 1.5rem var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85);transition:opacity .4s}
.panel.is-open .panel__tag{opacity:0}
.panel__body{position:absolute;left:clamp(22px,3vw,48px);right:clamp(22px,3vw,48px);bottom:clamp(26px,4vw,52px);max-width:480px;opacity:0;transform:translateY(30px);transition:opacity .5s .1s,transform .7s .1s var(--ease);pointer-events:none}
.panel.is-open .panel__body{opacity:1;transform:none;pointer-events:auto;transition-delay:.35s}
.panel__body small{font:700 .78rem var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.panel__body h3{font-size:clamp(1.5rem,2.3vw,2.05rem);margin:6px 0 12px}
.panel__body p{color:rgba(255,255,255,.82);margin-bottom:22px}

/* ---------- Reviews ---------- */
.reviews{background:#fff;position:relative;overflow:clip}
.reviews__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,90px);align-items:center;position:relative;z-index:1}
.reviews__ctrl{display:flex;align-items:center;gap:12px;margin-top:34px;flex-wrap:wrap}
.round-btn{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(15,34,54,.2);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;font-size:1.2rem;transition:background .3s,color .3s,transform .35s var(--ease),border-color .3s}
.round-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.08)}
.ico.flip{transform:scaleX(-1)}
.reviews__dots{display:flex;gap:8px;margin-left:8px}
.reviews__dots button{width:10px;height:10px;padding:0;border-radius:10px;border:0;background:rgba(15,34,54,.2);cursor:pointer;transition:width .4s var(--ease),background .3s}
.reviews__dots button.is-on{width:34px;background:var(--gold)}
.reviews__bar{height:3px;max-width:300px;margin-top:22px;background:rgba(15,34,54,.1);border-radius:3px;overflow:hidden}
.reviews__bar span{display:block;height:100%;background:var(--navy);width:100%;transform:scaleX(0);transform-origin:left}
.reviews__bar span.run{animation:bar var(--dur,6.5s) linear forwards}
@keyframes bar{to{transform:scaleX(1)}}
.slider{position:relative;min-height:380px;touch-action:pan-y;user-select:none}
.slide{position:absolute;inset:0 0 auto 0;margin:0;padding:clamp(28px,4vw,48px);border-radius:28px;background:var(--navy);color:#fff;box-shadow:0 40px 70px -40px rgba(8,20,31,.7);opacity:0;visibility:hidden;transform:translateX(60px) scale(.94);transition:transform .8s var(--ease),opacity .6s,visibility .6s;display:flex;flex-direction:column;gap:24px;min-height:340px}
.slide[data-pos="0"]{opacity:1;visibility:visible;transform:none;z-index:3}
.slide[data-pos="1"]{opacity:.45;visibility:visible;transform:translate(26px,26px) scale(.95);z-index:2;background:var(--navy-800)}
.slide[data-pos="-1"]{opacity:0;visibility:hidden;transform:translateX(-70px) scale(.94);z-index:1}
.slide__quote{position:absolute;right:30px;top:12px;font:800 7rem/1 var(--font-head);color:rgba(242,184,75,.22);pointer-events:none}
.slide__stars{display:flex;gap:4px;color:var(--gold)}
.slide__stars svg{width:20px;height:20px;fill:currentColor}
.slide blockquote{margin:0;font:500 clamp(1rem,1.5vw,1.2rem)/1.65 var(--font-body);flex:1}
.slide figcaption{display:flex;align-items:center;gap:14px}
.slide__av{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy-950);font:700 1.05rem var(--font-head)}
.slide figcaption b{display:block;font-family:var(--font-head)}
.slide figcaption small{color:rgba(255,255,255,.65)}
.slide__sample{position:absolute;left:clamp(28px,4vw,48px);bottom:12px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4)}

/* ---------- Partners ---------- */
.partners{background:var(--paper);padding-bottom:clamp(60px,8vw,110px)}
.partners__head{margin-bottom:34px}
.logos{display:grid;gap:18px;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.logos__row{display:flex;width:max-content;animation:marq 45s linear infinite}
.logos__row:nth-child(2){animation-direction:reverse;animation-duration:55s}
.logos:hover .logos__row{animation-play-state:paused}
.logos__group{display:flex;gap:18px;padding-right:18px}
.logo-slot{flex:none;width:200px;height:84px;display:grid;place-items:center;border-radius:18px;background:#fff;border:1px solid rgba(15,34,54,.08);color:var(--muted);font:600 .85rem var(--font-body);letter-spacing:.04em;transition:transform .4s var(--ease),box-shadow .4s,border-color .3s}
.logo-slot--empty{border-style:dashed;background:transparent;border-color:rgba(15,34,54,.25)}
.logo-slot img{max-width:130px;max-height:46px;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.logo-slot:hover{transform:translateY(-6px);box-shadow:0 18px 30px -18px rgba(15,34,54,.4);border-color:var(--gold)}
.logo-slot:hover img{filter:none;opacity:1}

/* ---------- FAQ ---------- */
.faq{background:#fff}
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,90px);align-items:start}
.faq__intro{position:sticky;top:120px}
.faq__search{display:flex;align-items:center;gap:10px;margin-top:28px;padding:0 18px;height:52px;border-radius:999px;border:1.5px solid rgba(15,34,54,.15);background:var(--paper);transition:border-color .3s,box-shadow .3s}
.faq__search:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(242,184,75,.2)}
.faq__search input{flex:1;border:0;background:transparent;font:500 .95rem var(--font-body);color:var(--ink);outline:0;min-width:0}
.faq__tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tab{padding:.6em 1.1em;border-radius:999px;border:1.5px solid rgba(15,34,54,.15);background:#fff;font:600 .85rem var(--font-body);color:var(--ink);cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.tab:hover{transform:translateY(-2px);border-color:var(--navy)}
.tab.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.faq-item{border-bottom:1px solid rgba(15,34,54,.12)}
.faq-item[hidden]{display:none}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;background:transparent;border:0;cursor:pointer;text-align:left;font:600 1.02rem/1.4 var(--font-head);color:var(--ink);transition:color .3s}
.faq-q:hover{color:var(--navy)}
.faq-q i{position:relative;flex:none;width:36px;height:36px;border-radius:50%;background:var(--paper);transition:background .3s,transform .5s var(--ease)}
.faq-q i::before,.faq-q i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:var(--ink);border-radius:2px;transition:transform .5s var(--ease),background .3s}
.faq-q i::after{transform:rotate(90deg)}
.faq-item.is-open .faq-q{color:var(--navy)}
.faq-item.is-open .faq-q i{background:var(--gold);transform:rotate(180deg)}
.faq-item.is-open .faq-q i::after{transform:rotate(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 56px 26px 0;color:var(--muted);opacity:0;transform:translateY(-8px);transition:opacity .4s,transform .5s var(--ease)}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-item.is-open .faq-a p{opacity:1;transform:none;transition-delay:.12s}
.faq__empty{padding:28px 0;color:var(--muted)}

/* ---------- Enquiry ---------- */
.enquiry{position:relative;overflow:clip;background:linear-gradient(160deg,var(--navy-900),var(--navy-950))}
.enquiry__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,90px);align-items:start;position:relative;z-index:1}
.contact-list{display:grid;gap:14px;margin-top:34px}
.contact-list a{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:background .3s,transform .4s var(--ease),border-color .3s}
.contact-list a:hover{background:rgba(255,255,255,.12);transform:translateX(8px);border-color:var(--gold)}
.contact-list small{display:block;color:rgba(255,255,255,.6);font-size:.78rem}
.contact-list__ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(242,184,75,.18);color:var(--gold);font-size:1.2rem}
.form{position:relative;padding:clamp(22px,3.5vw,40px);border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 50px 90px -40px rgba(0,0,0,.7);overflow:hidden}
.chips{border:0;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips legend{font:700 .82rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding:0;float:left;width:100%}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0}
.chip span{display:inline-block;padding:.65em 1.1em;border-radius:999px;border:1.5px solid rgba(15,34,54,.15);font:600 .86rem var(--font-body);transition:background .3s,color .3s,border-color .3s,transform .35s var(--ease)}
.chip:hover span{transform:translateY(-2px);border-color:var(--navy)}
.chip input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.04)}
.chip input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{position:relative;margin-bottom:14px}
.field input,.field textarea{width:100%;padding:24px 16px 10px;border-radius:14px;border:1.5px solid rgba(15,34,54,.15);background:var(--paper);font:500 1rem var(--font-body);color:var(--ink);outline:0;transition:border-color .3s,box-shadow .3s,background .3s;resize:vertical}
.field textarea{padding-top:28px}
.field label{position:absolute;left:17px;top:17px;font:500 .95rem var(--font-body);color:var(--muted);pointer-events:none;transform-origin:0 0;transition:transform .3s var(--ease),color .3s}
.field input:focus,.field textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(242,184,75,.22)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field--date label{transform:translateY(-10px) scale(.78);color:var(--navy)}
.field em{display:none;font-style:normal;font-size:.78rem;color:#c0392b;margin:4px 0 0 4px}
.field.is-error input{border-color:#c0392b;background:#fff6f5;animation:shake .45s}
.field.is-error em{display:block}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.stepper{display:flex;align-items:center;justify-content:space-between;margin:2px 0 14px;padding:10px 12px 10px 16px;border-radius:14px;background:var(--paper);border:1.5px solid rgba(15,34,54,.15);font-weight:600}
.stepper__ctrl{display:flex;align-items:center;gap:6px}
.stepper button{width:40px;height:40px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 8px rgba(15,34,54,.15);font:600 1.3rem var(--font-body);cursor:pointer;transition:background .3s,color .3s,transform .3s var(--ease)}
.stepper button:hover{background:var(--navy);color:#fff;transform:scale(1.1)}
.stepper output{min-width:38px;text-align:center;font:700 1.2rem var(--font-head)}
.stepper output.bump{animation:bump .3s}
@keyframes bump{50%{transform:scale(1.35);color:var(--gold-600)}}
.btn--block{width:100%;justify-content:center;padding:1.15em;font-size:1rem}
.form__note{margin-top:12px;text-align:center;font-size:.8rem;color:var(--muted)}
.form__done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:30px;background:#fff;opacity:0;visibility:hidden;transform:scale(.96);transition:opacity .45s,visibility .45s,transform .6s var(--ease)}
.form.is-sent .form__done{opacity:1;visibility:visible;transform:none}
.form__done svg{width:92px;height:92px;fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.form__done circle{stroke-dasharray:152;stroke-dashoffset:152}
.form__done path{stroke-dasharray:40;stroke-dashoffset:40}
.form.is-sent .form__done circle{animation:draw .8s .1s forwards}
.form.is-sent .form__done path{animation:draw .5s .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.form__done h3{font-size:1.35rem}
.form__done p{color:var(--muted)}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .why__grid{grid-template-columns:repeat(2,1fr)}
  .reviews__grid,.faq__grid,.enquiry__grid{grid-template-columns:1fr}
  .faq__intro{position:static}
  .slider{min-height:400px}
}
@media (max-width:900px){
  .worlds__row{flex-direction:column;height:auto;min-height:0}
  .panel,.panel.is-open{flex:none;height:380px;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .panel:first-child{border-top:0}
  .panel__bg{scale:1.0;filter:none}
  .panel__body{opacity:1;transform:none;pointer-events:auto;bottom:24px}
  .panel__tag{display:none}
}
@media (max-width:560px){
  .why__grid{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
  .slider{min-height:440px}
  .faq-a p{padding-right:0}
}
@media (prefers-reduced-motion:reduce){.reviews__bar span.run{animation:none}.slide,.panel,.faq-a{transition:none!important}}
