/* ===== V2 : Light Luxury Marrakech ===== */
:root{--navy:#fbf7f1;--navy2:#f3ece1;--card:#ffffff;--txt:#14203f;--mut:#6b7390;--blue:#1b4fd8;--orange:#f06a00;--gold:#e0a100;--r:24px}
body{background:var(--navy);color:var(--txt)}
h1,h2,.head h2,.cta h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.5px}
.grad{background:linear-gradient(90deg,var(--orange),#ff9d2e);-webkit-background-clip:text;background-clip:text}
body::before{content:'';position:fixed;inset:0;z-index:-1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cpath d='M40 0l10 30 30 10-30 10-10 30-10-30L0 40l30-10z' fill='none' stroke='%23f06a00' stroke-width='2'/%3E%3C/svg%3E")}
.topbar{background:#14203f;color:#fff}
nav{background:rgba(251,247,241,.85);border-bottom:1px solid rgba(20,32,63,.08)}
.links a{color:var(--txt)}.links a:hover{color:var(--orange)}
.burger{color:var(--txt)}
.btn-o{background:var(--orange);color:#fff;box-shadow:0 12px 28px -10px rgba(240,106,0,.7)}
.btn-g{color:var(--txt);border-color:rgba(20,32,63,.2);background:#fff}
.btn-g:hover{color:var(--orange);border-color:var(--orange)}
/* hero split with image card */
.hero{min-height:88vh;background:var(--navy);overflow:hidden}
.hero::before{content:'';position:absolute;right:-8%;top:8%;width:62%;height:84%;border-radius:300px 0 0 300px;background:linear-gradient(0deg,rgba(20,32,63,.35),rgba(20,32,63,0)),url('https://images.unsplash.com/photo-1597212618440-806262de4f6b?w=1400') center/cover;box-shadow:0 40px 80px -30px rgba(20,32,63,.5)}
.hero::after{content:'';position:absolute;right:52%;top:12%;width:120px;height:120px;border-radius:50%;border:2px dashed var(--orange);opacity:.5;animation:spin 25s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero .container{position:relative;z-index:2}
.hero p.lead{color:var(--mut)}
.badge{background:#fff;color:var(--orange);border-color:rgba(240,106,0,.3);box-shadow:0 6px 20px -8px rgba(0,0,0,.15)}
.price-tag b{color:var(--orange);font-family:'Playfair Display',serif}
.chip{background:#fff;border-color:rgba(20,32,63,.08);box-shadow:0 4px 14px -6px rgba(0,0,0,.12)}
.book{background:rgba(255,255,255,.92);border:1px solid rgba(20,32,63,.06);box-shadow:0 40px 80px -25px rgba(20,32,63,.45)}
.book::before{background:linear-gradient(90deg,var(--blue),var(--orange))}
.book small,label{color:var(--mut)}
input,select,textarea{background:#f7f3ec;color:var(--txt);border-color:rgba(20,32,63,.1)}
.steps span{background:#ece4d6}.steps span.on{background:var(--orange)}
.est{background:#fff4e6;border-color:rgba(240,106,0,.4)}
/* brands */
.brands{background:#14203f}.track span{color:rgba(255,255,255,.45)}
/* features */
.feat{background:#fff;border:1px solid rgba(20,32,63,.06);box-shadow:0 12px 35px -18px rgba(20,32,63,.3)}
.feat:hover{border-color:var(--orange)}
.feat .ic{background:#fff1e3;border-radius:50%}
.feat .pill{background:#eef3ff;color:var(--blue)}
.feat p,.how p{color:var(--mut)}
/* fleet */
.filters button{color:var(--txt);border-color:rgba(20,32,63,.15);background:#fff}
.filters button.on,.filters button:hover{background:#14203f;color:#fff}
.car{background:#fff;border-color:rgba(20,32,63,.06);box-shadow:0 12px 30px -18px rgba(20,32,63,.35)}
.car:hover{box-shadow:0 30px 55px -20px rgba(240,106,0,.4);border-color:rgba(240,106,0,.3)}
.car .img{background:radial-gradient(circle at 50% 80%,#ffe3c4,transparent 65%),#f7f3ec;margin:10px;border-radius:18px}
.car .cat{background:#14203f;color:#fff;border:0}
.specs span{background:#f3ece1;color:var(--txt)}
.car .pr b{color:var(--orange)}
/* stats */
.stats{background:#14203f;color:#fff;position:relative;overflow:hidden}
.stats b{color:#ffb14a;font-family:'Playfair Display',serif}
/* how */
.how div{background:#fff;border-color:rgba(20,32,63,.06)}
/* dest */
.dest{border-radius:200px 200px 24px 24px;height:330px}
.dest::after{background:linear-gradient(180deg,transparent 40%,rgba(20,32,63,.9))}
.dest h3{color:#fff;font-family:'Playfair Display',serif}.dest span{color:#ffb14a}
.dests{grid-template-columns:repeat(3,1fr)}
/* reviews */
.rev{background:#fff;border-color:rgba(20,32,63,.06);box-shadow:0 12px 30px -18px rgba(20,32,63,.3);position:relative}
.rev::before{content:'“';position:absolute;right:20px;top:-10px;font-size:6rem;color:rgba(240,106,0,.15);font-family:Georgia}
.rev p{color:var(--txt)}.rev .st{color:var(--gold)}
/* faq */
.q{background:#fff;border-color:rgba(20,32,63,.08)}.q button{color:var(--txt)}
/* cta */
.cta{background:linear-gradient(120deg,var(--orange),#ff9d2e);color:#fff;border:0}
.cta .grad{color:#14203f;-webkit-text-fill-color:#14203f;background:none}
.cta p{color:#fff}.cta .btn-o{background:#14203f}
/* contact */
.cinfo div{background:#fff;border-color:rgba(20,32,63,.06)}
.cinfo i{background:#fff1e3}
.map iframe{filter:none}
/* footer */
footer{background:#14203f;color:#fff}
footer h4{color:#ffb14a}
@media(max-width:980px){.hero::before{position:absolute;inset:0;width:100%;height:100%;border-radius:0;opacity:.15}.hero::after{display:none}.links{background:var(--navy)}.dests{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.dests{grid-template-columns:1fr}}
.logo img{height:64px;border-radius:0;filter:drop-shadow(0 4px 8px rgba(20,32,63,.12))}
/* uniform car showcase */
.car .img{height:auto;aspect-ratio:16/9;padding:0;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 50% 60%,#fff 0%,#fbeedd 55%,#f3e3cc 100%)}
.car .img::after{content:'';position:absolute;left:12%;right:12%;bottom:8%;height:10%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(20,32,63,.35),transparent 70%);filter:blur(4px);z-index:0}
.car .img img{position:relative;z-index:1;width:88%;height:auto;max-height:none;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(20,32,63,.18))}
.car:hover .img img{transform:scale(1.06) translateY(-4px)}
.hero::before{background:linear-gradient(0deg,rgba(20,32,63,.25),rgba(20,32,63,0)),url('img/hero.webp') center/cover}
.about{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.about-img{position:relative}.about-img img{border-radius:200px 200px 24px 24px;box-shadow:0 30px 60px -25px rgba(20,32,63,.5);aspect-ratio:4/4.3;object-fit:cover;width:100%}
.about-badge{position:absolute;bottom:30px;right:-15px;background:#fff;padding:1rem 1.4rem;border-radius:18px;box-shadow:0 15px 35px -12px rgba(0,0,0,.3);text-align:center}
.about-badge b{display:block;font-size:1.8rem;color:var(--orange);font-family:'Playfair Display',serif}.about-badge span{color:var(--mut);font-size:.8rem}
.about-list{list-style:none;display:grid;gap:.55rem}.about-list li{color:var(--txt)}
@media(max-width:980px){.about{grid-template-columns:1fr}.about-badge{right:10px}}
/* brand logos bar */
.brands{background:#fff;padding:1.4rem 0;border-block:1px solid rgba(20,32,63,.08);position:relative}
.brands::before,.brands::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.brands::before{left:0;background:linear-gradient(90deg,#fff,transparent)}.brands::after{right:0;background:linear-gradient(-90deg,#fff,transparent)}
.track{gap:1.2rem;animation-duration:35s}.brands:hover .track{animation-play-state:paused}
.brand{display:flex;align-items:center;gap:.8rem;padding:.7rem 1.4rem;border-radius:50px;background:#f7f3ec;border:1px solid rgba(20,32,63,.07);color:#14203f;transition:.3s;white-space:nowrap}
.brand svg{width:34px;height:34px;flex:none}
.brand span{font-weight:700;font-size:1rem;letter-spacing:.5px}
.brand:hover{background:#14203f;color:#fff;transform:translateY(-3px);box-shadow:0 10px 25px -10px rgba(20,32,63,.5)}
.brand:hover svg{color:var(--orange)}
@media(max-width:600px){.brand svg{width:26px;height:26px}.brand span{font-size:.85rem}}
/* ===== CTA premium ===== */
.cta2{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem;padding:3.5rem 3.5rem;border-radius:32px;overflow:hidden;color:#fff;
 background:radial-gradient(circle at 85% 50%,rgba(240,106,0,.55),transparent 45%),radial-gradient(circle at 0% 0%,rgba(27,79,216,.55),transparent 45%),linear-gradient(135deg,#0e1838,#14203f 60%,#1c2b57);box-shadow:0 40px 80px -30px rgba(20,32,63,.7)}
.cta2::before{content:'';position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 80 80'%3E%3Cpath d='M40 0l10 30 30 10-30 10-10 30-10-30L0 40l30-10z' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
.cta2>*{position:relative;z-index:1}
.cta2-tag{display:inline-block;padding:.4rem 1rem;border-radius:50px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-size:.82rem;font-weight:600;margin-bottom:1rem}
.cta2 h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;margin-bottom:1rem}
.cta2 h2 span{background:linear-gradient(90deg,#ffc21a,#ff7a00);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta2 p{color:#c9d3f0;margin-bottom:1.2rem;max-width:480px}
.cta2-list{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:1.8rem;font-size:.9rem;color:#ffd08a;font-weight:500}
.cta2-btns{display:flex;gap:1rem;flex-wrap:wrap}
.cta2-btns a{display:flex;align-items:center;gap:.8rem;padding:.75rem 1.5rem .75rem .8rem;border-radius:18px;font-weight:700;transition:.3s}
.cta2-btns svg{width:42px;height:42px;padding:9px;border-radius:12px;flex:none}
.cta2-btns small{display:block;font-weight:400;font-size:.72rem;opacity:.8}
.cta2-wa{background:#25d366;color:#fff;box-shadow:0 12px 30px -10px rgba(37,211,102,.7)}.cta2-wa svg{background:rgba(255,255,255,.2)}
.cta2-call{background:#fff;color:#14203f;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}.cta2-call svg{background:var(--orange);color:#fff}
.cta2-btns a:hover{transform:translateY(-4px)}
.cta2-vis{height:340px;display:grid;place-items:center}
.cta2-sun{position:absolute;width:290px;height:290px;border-radius:50%;background:linear-gradient(160deg,#ffc21a,#ff7a00);box-shadow:0 0 80px rgba(255,122,0,.6)}
.cta2-ring{position:absolute;width:360px;height:360px;border-radius:50%;border:2px dashed rgba(255,255,255,.3);animation:spin 30s linear infinite}
.cta2-vis img{position:relative;width:118%;max-width:none;filter:drop-shadow(0 25px 25px rgba(0,0,0,.5));animation:float 5s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.cta2-chip{position:absolute;z-index:3;background:#fff;color:#14203f;padding:.55rem 1rem;border-radius:14px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);font-size:.85rem;white-space:nowrap;animation:float 4s ease-in-out infinite}
.cta2-chip b{color:var(--orange)}.cta2-chip small{color:var(--mut)}
.c1{top:6%;left:4%}.c1 b{font-size:1.4rem;font-family:'Playfair Display',serif}.c2{top:14%;right:0;animation-delay:1s}.c3{bottom:4%;right:12%;animation-delay:2s}
/* socials */
.socials{display:flex;gap:.7rem;margin-top:1.3rem}
.socials a{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;transition:.3s}
.socials svg{width:20px;height:20px}
.socials a:hover{transform:translateY(-4px)}
.s-fb:hover{background:#1877f2}.s-ig:hover{background:radial-gradient(circle at 30% 110%,#fdf497,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.s-tt:hover{background:#000;box-shadow:-3px 0 #25f4ee,3px 0 #fe2c55}.s-wa:hover{background:#25d366}.s-mail:hover{background:var(--orange)}
@media(max-width:980px){.cta2{grid-template-columns:1fr;padding:2.5rem 1.6rem;text-align:center}.cta2 p{margin-inline:auto}.cta2-list,.cta2-btns{justify-content:center}.cta2-vis{height:280px}.cta2-sun{width:220px;height:220px}.cta2-ring{width:270px;height:270px}.cta2-vis img{width:100%}}
@media(max-width:600px){.cta2-chip{font-size:.72rem}.c3{display:none}}
/* ===== Contact ===== */
.ct-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.6rem}
.ct-map{position:relative;border-radius:28px;overflow:hidden;min-height:560px;box-shadow:0 30px 60px -25px rgba(20,32,63,.45);border:6px solid #fff}
.ct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(1.1)}
.ct-pin{position:absolute;left:1rem;right:1rem;bottom:1rem;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:20px;padding:1rem 1.2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:0 20px 40px -15px rgba(20,32,63,.5)}
.ct-pin img{width:80px;height:auto}
.ct-pin b{display:block;font-size:1.05rem}.ct-pin small{display:block;color:var(--mut);font-size:.8rem}
.ct-pin>div:nth-child(2){flex:1;min-width:180px}
.ct-pin-btns{display:flex;gap:.5rem}.ct-pin-btns .btn{padding:.6rem 1rem;font-size:.82rem}
.ct-side{display:flex;flex-direction:column;gap:1.2rem}
.ct-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ct-card{background:#fff;border-radius:20px;padding:1.2rem;border:1px solid rgba(20,32,63,.07);box-shadow:0 12px 30px -18px rgba(20,32,63,.35);transition:.3s;min-width:0}
.ct-card i{font-style:normal;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:.7rem;background:color-mix(in srgb,var(--c) 14%,#fff)}
.ct-card small{display:block;color:var(--mut);font-size:.75rem}
.ct-card b{display:block;font-size:.88rem;overflow-wrap:anywhere}
.ct-card:hover{transform:translateY(-5px);border-color:var(--orange)}
.ct-form{background:#14203f;color:#fff;border-radius:24px;padding:1.6rem;display:grid;gap:.75rem;position:relative;overflow:hidden}
.ct-form::before{content:'';position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(240,106,0,.5),transparent 70%)}
.ct-form h3{font-family:'Playfair Display',serif;font-size:1.35rem;position:relative}
.ct-form input,.ct-form select,.ct-form textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:#9aa7cc}
.ct-form select option{color:#14203f}
.ct-form .btn{justify-content:center;background:#25d366;box-shadow:0 12px 28px -10px rgba(37,211,102,.7)}
.ct-zones{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:center;background:#fff;border-radius:50px;padding:1rem 1.5rem;box-shadow:0 12px 30px -20px rgba(20,32,63,.35)}
.ct-zones span{background:#f3ece1;padding:.35rem .9rem;border-radius:30px;font-size:.85rem}
@media(max-width:980px){.ct-grid{grid-template-columns:1fr}.ct-map{min-height:440px}.ct-zones{border-radius:24px}}
@media(max-width:600px){.ct-cards{grid-template-columns:1fr}.ct-pin img{display:none}.ct-pin-btns{width:100%}.ct-pin-btns .btn{flex:1;justify-content:center}}
