@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{--night:#101924;--night2:#172231;--paper:#f8f9fa;--white:#fff;--ink:#182330;--soft:#607080;--copper:#b47e50;--copper2:#d7ad80;--border:#dfe3e7;--font-head:'Plus Jakarta Sans',Arial,sans-serif;--font-body:'DM Sans',Arial,sans-serif}
html{scroll-padding-top:88px}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.55}button,input,select,textarea{font-family:inherit}
.site-header{top:0;left:0;right:0;height:82px;border:0;border-radius:0;padding:0 max(5vw,24px);background:#0d1620e8;box-shadow:none;backdrop-filter:blur(20px);gap:25px}
.brand{width:176px;height:70px;align-items:flex-start;padding:2px 0}.brand img{height:47px}.brand-name{padding-left:12px;font-family:var(--font-head);font-size:.65rem;font-weight:700;letter-spacing:.18em;color:#e9d6bd}.nav-menu{gap:clamp(15px,2vw,34px);margin:auto}.nav-menu a{font-family:var(--font-head);font-size:.77rem;font-weight:600;letter-spacing:.025em;color:#e8e8e8}.nav-menu a:hover{color:#fff}.nav-menu a:after{background:var(--copper2)}.header-phone{font-size:.76rem}.header-cta{border-radius:2px;box-shadow:none;background:#fff;color:var(--ink);font-family:var(--font-head);font-size:.76rem;font-weight:800;letter-spacing:.02em;min-height:42px}.header-cta:hover{background:#e9d6bd;filter:none}.language-picker{border:0;background:transparent}.language-picker select{font-size:.75rem}.menu-toggle{display:none;width:42px;height:42px;padding:9px;border:1px solid #ffffff60;background:transparent;color:#fff}.menu-toggle span{display:block;height:2px;margin:5px 0;background:currentColor}
.hero{display:flex;align-items:center;min-height:min(800px,96vh);padding:170px max(6vw,28px) 120px;background:linear-gradient(90deg,#06101cdc 0%,#06101c9c 42%,#06101c27 78%),url('assets/oz-private-hero.png') 62% center/cover}.hero:after{height:80px;background:linear-gradient(transparent,#1019246b)}.hero-copy{max-width:640px}.hero-label{padding:0;border:0;background:none;border-radius:0;color:#e6b984;font-family:var(--font-head);font-size:.8rem;font-weight:800;letter-spacing:.16em}.hero-label:before{display:none}.hero h1{max-width:650px;margin:20px 0 24px;font:700 clamp(3.4rem,6vw,6.6rem)/1.05 var(--font-head);letter-spacing:-.065em}.hero h1 em{font-style:normal;font-weight:700;color:#f0c594}.hero-copy>p{max-width:500px;font-size:1.13rem;color:#e2e6e9;line-height:1.65}.hero-actions{margin-top:33px}.btn-primary,.btn-outline{border-radius:2px;min-height:53px;padding:0 24px;font-family:var(--font-head);font-size:.85rem;font-weight:800;box-shadow:none}.btn-primary{background:#f2f3f4;color:#16202c}.btn-primary:hover{background:#e4b987}.btn-outline{background:transparent;border-color:#ffffffad}.hero-trust{font-size:.82rem;font-weight:600;color:#eef0f1}.hero-trust span:before{color:#e4b987}
.booking-section{position:relative;padding:68px max(5vw,24px) 82px;background:#fff}.booking-card{max-width:1240px;margin:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.booking-card:before{display:none}.booking-top{align-items:center;margin-bottom:18px}.booking-title{font:800 clamp(1.9rem,3vw,2.8rem)/1.15 var(--font-head);letter-spacing:-.04em;color:var(--ink)}.trip-switch{background:#f3f4f5;border:1px solid #e0e5e9;border-radius:4px}.trip-tab{border-radius:2px;color:#627180;font-size:.83rem;padding:10px 17px}.trip-tab.active{color:#fff;background:var(--night);box-shadow:none}.booking-note{max-width:720px;margin-bottom:24px;padding:0;border:0;background:none;color:#637383;font-size:.92rem}.booking-note .wa-icon{color:var(--copper)}.booking-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.booking-form .field{gap:8px}.booking-form .full{grid-column:span 2}.booking-form label{color:#354453;font-size:.77rem;letter-spacing:.045em}.booking-form input,.booking-form select,.booking-form textarea{min-height:53px;border:1px solid #d8dde3;border-radius:3px;background:#fff;color:#1d2a36;padding:12px 13px}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#8c98a2}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#90704e;outline:2px solid #d7ad8060}.booking-form textarea{min-height:53px}.return-field{grid-column:auto}.submit,.whatsapp-submit{grid-column:span 2;min-height:54px;border-radius:3px;font-family:var(--font-head);font-size:.85rem}.submit{background:var(--night);color:#fff}.submit:hover{background:#283a4e;filter:none}.whatsapp-submit{border-color:#1d9e57;background:#ebf8ef;color:#156b3b}.whatsapp-submit:hover{background:#d7efdf}.booking-choice{grid-column:1/-1;text-align:left;margin:3px 0 -5px;color:#5f7080}.privacy{grid-column:1/-1;font-size:.78rem;color:#697987}.success,.error{grid-column:1/-1}
.section{padding:100px max(5vw,24px)}.section-kicker{color:var(--copper);font-family:var(--font-head);font-size:.8rem;font-weight:800;letter-spacing:.14em}.section-title{max-width:850px;margin:9px 0 15px;font:800 clamp(2.35rem,4vw,4rem)/1.11 var(--font-head);letter-spacing:-.055em}.section-intro{color:#657482;font-size:1.03rem;line-height:1.7}.section-head{align-items:end;margin-bottom:36px}.section-head .section-intro{max-width:440px}
.steps{background:#f2f4f5;border:0}.steps-grid{gap:14px;margin-top:35px}.step{padding:28px 30px;border:1px solid #dde2e6;border-radius:4px;background:#fff}.step-number{color:var(--copper)}.step h3{font:700 1.15rem/1.3 var(--font-head);letter-spacing:-.02em}.step p{color:#647280;font-size:.93rem}
.journeys{background:#fff}.journeys .section-title{color:var(--ink)}.journey-grid{gap:15px}.journey-card{min-height:440px;border:0;border-radius:3px;box-shadow:none}.journey-card:before{background:linear-gradient(180deg,#07111a18 30%,#07111ae8 100%),var(--card-image) center/cover}.journey-content{padding:30px}.journey-number{color:#e6bf8c;font-size:.72rem}.journey-card h3{font:700 1.45rem/1.2 var(--font-head);letter-spacing:-.025em}.journey-card p{color:#e9ebed;font-size:.91rem}.text-link{color:#f1ca94;font-family:var(--font-head);font-size:.82rem}
.routes{background:#f3f5f6;color:var(--ink)}.routes .section-intro{color:#657482}.route-grid{grid-template-columns:repeat(3,1fr);gap:14px}.route-card{min-height:214px;padding:24px;border:1px solid #e1e5e8;border-radius:4px;background:#fff;box-shadow:none}.route-card:before{width:3px;background:var(--copper)}.route-card:hover{border-color:#b4a190;transform:translateY(-3px)}.route-tag{padding:0;background:none;color:#956943;font-size:.72rem}.route-card h3{font:700 1.2rem/1.35 var(--font-head);letter-spacing:-.025em}.route-card h3 span{color:var(--copper)}.route-card p{color:#697987;font-size:.86rem}.route-bottom{border-color:#e7e9eb}.route-bottom strong{font-family:var(--font-head);font-size:.78rem}.route-arrow{background:#e9edf0;color:var(--night)}
.fleet{background:var(--night);border:0}.fleet:before{display:none}.fleet .section-title{color:#fff}.fleet .section-intro{color:#aab7c3}.fleet-stats{display:none}.fleet-grid{gap:18px}.vehicle-card{border:1px solid #ffffff29;border-radius:4px;background:#1b2836;box-shadow:none}.vehicle-card:hover{border-color:#c9aa83}.fleet-image{aspect-ratio:16/10;background:#253342}.fleet-image:after{display:none}.fleet-image img{filter:none;object-fit:cover}.vehicle-card:hover img{filter:none}.vehicle-badge{border:0;border-radius:2px;background:#121e2bdc;color:#fff}.vehicle-content{padding:21px 23px 22px}.vehicle-type{color:#d3aa7e}.vehicle-content h3{font:700 1.27rem/1.25 var(--font-head);letter-spacing:-.03em}.vehicle-meta span{border-radius:2px;border-color:#ffffff26;color:#c3cdd6}.vehicle-cta{font-family:var(--font-head);font-size:.8rem;border-color:#ffffff26}.vehicle-cta span{color:#e6bb89}.fleet-note{color:#aab4be}
.difference{background:#fff;color:var(--ink)}.difference-image{min-height:540px;border-radius:4px;box-shadow:none}.difference-seal{width:108px;height:108px;border-color:#e3b982;border-radius:2px;background:#13202ce8;color:#fff;font:700 .95rem/1.3 var(--font-head)}.difference-copy .section-intro{color:#657482}.feature-grid{gap:22px}.feature{border-color:#dce2e6}.feature-index{color:var(--copper)}.feature h3{font:700 1rem/1.35 var(--font-head)}.feature p{color:#697987}
.reviews{background:#eef1f3}.review-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.review-head .section-intro{max-width:480px}.review-invite{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:28px;margin-top:35px;padding:34px;background:#fff;border:1px solid #dfe4e7;border-radius:4px}.review-icon{font:700 5rem/1 Georgia,serif;color:#bd8957}.review-invite h3{margin:0 0 6px;font:700 1.35rem var(--font-head)}.review-invite p{margin:0;color:#657482}.review-link{white-space:nowrap;padding:15px 19px;background:var(--night);color:#fff;font-family:var(--font-head);font-size:.85rem;font-weight:700}.review-link:hover{background:#2b3e51}
.faq{background:#fff;color:var(--ink)}.faq-list,.faq details{border-color:#dce2e7}.faq summary{font:700 1rem/1.45 var(--font-head)}.faq summary:after{color:var(--copper)}.faq details p{color:#627383}.final-cta{min-height:410px;background:linear-gradient(#101924db,#101924ea),url('assets/oz-private-hero.png') center/cover}.final-cta:before{border-color:#ffffff30;border-radius:2px}.final-inner p{color:#d3dae1}
footer{background:#0b1420;border:0;color:#aebac5}.footer-brand p{color:#aebac5}.footer-col h3{font-family:var(--font-head);color:#fff}.footer-col a,.footer-col span{color:#b4c0ca}.legal{border-color:#ffffff20}.floating-wa{border-radius:3px;background:#238b55;color:#fff;box-shadow:0 9px 28px #05131980}
html[dir="rtl"] body{font-family:Tahoma,Arial,sans-serif}html[dir="rtl"] .hero h1,html[dir="rtl"] .section-title,html[dir="rtl"] .booking-title,html[dir="rtl"] .journey-card h3,html[dir="rtl"] .route-card h3,html[dir="rtl"] .vehicle-content h3,html[dir="rtl"] .feature h3,html[dir="rtl"] .faq summary,html[dir="rtl"] .difference-seal{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}
@media(max-width:1100px){.nav-menu{gap:12px}.nav-menu a{font-size:.72rem}.header-phone span{display:none}.fleet-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.site-header{top:0;left:0;right:0;height:72px;padding:0 18px}.brand{width:154px;height:65px}.brand img{height:40px}.brand-name{font-size:.58rem}.menu-toggle{display:block;margin-left:auto;order:3}.header-actions{margin-left:0;order:2}.nav-menu{display:none;position:absolute;top:72px;left:0;right:0;padding:18px 22px 26px;background:#101924;box-shadow:0 20px 30px #0005}.nav-menu.open{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.nav-menu a{font-size:.9rem}.hero{min-height:700px;padding:150px 6vw 110px;background-position:62% center}.booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-grid,.route-grid{grid-template-columns:repeat(2,1fr)}.journey-card:first-child{grid-column:auto}.difference-wrap{grid-template-columns:1fr}.difference-image{min-height:500px}.review-head{display:block}.review-invite{grid-template-columns:55px 1fr}.review-link{grid-column:2;justify-self:start}.faq-wrap{grid-template-columns:1fr}}
@media(max-width:640px){.site-header{padding:0 12px;gap:8px}.brand{width:132px}.brand img{height:36px}.brand-name{font-size:.49rem;padding-left:7px;letter-spacing:.12em}.language-picker{padding:0 3px}.language-picker select{width:47px}.header-phone{display:none}.header-cta{min-height:38px;padding:0 10px;font-size:.73rem}.menu-toggle{width:38px;height:38px;padding:7px}.hero{min-height:610px;padding:138px 22px 90px;background:linear-gradient(90deg,#07111bd9,#07111b62),url('assets/oz-private-hero.png') 63% center/cover}.hero h1{font-size:clamp(2.7rem,11vw,4.4rem);line-height:1.09}.hero-copy>p{font-size:1rem}.hero-actions{display:flex;gap:10px}.btn-primary,.btn-outline{width:auto;min-height:48px;padding:0 15px;font-size:.77rem}.hero-trust{gap:5px 15px;font-size:.76rem}.booking-section{padding:56px 20px}.booking-top{flex-direction:column;align-items:flex-start;gap:17px}.booking-title{font-size:1.95rem}.booking-form{grid-template-columns:1fr}.booking-form .full,.return-field,.submit,.whatsapp-submit,.booking-choice,.privacy,.success,.error{grid-column:1}.section{padding:76px 20px}.section-title{font-size:clamp(2.1rem,9vw,3rem)}.journey-grid,.route-grid,.fleet-grid{grid-template-columns:1fr}.journey-card{min-height:360px}.fleet-image{aspect-ratio:16/11}.difference-image{min-height:400px}.review-invite{grid-template-columns:1fr;padding:26px}.review-icon{height:30px}.review-link{grid-column:1}.floating-wa{border-radius:50%}footer{grid-template-columns:1fr}}
@media(max-width:640px){#bookingTitle{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:0s!important}}
/* Ensure text remains legible on photographic and dark surfaces. */
.hero,.journey-card,.fleet,.final-cta{color:#fff}
.experience-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:35px}.experience-card{min-height:205px;padding:22px 19px;background:#fff;border:1px solid #dfe4e7;border-radius:4px}.experience-card span{color:#b47e50;font:800 .78rem var(--font-head)}.experience-card h3{margin:22px 0 9px;font:700 1rem/1.3 var(--font-head);letter-spacing:-.02em}.experience-card p{margin:0;color:#657482;font-size:.85rem;line-height:1.55}@media(max-width:1100px){.experience-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.experience-grid{grid-template-columns:1fr 1fr}.experience-card{min-height:190px;padding:19px 16px}.experience-card h3{margin-top:18px}}@media(max-width:390px){.experience-grid{grid-template-columns:1fr}.experience-card{min-height:auto}}
.story-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:72px 0 22px;padding-top:38px;border-top:1px solid #cbd3d9}.story-heading h3{margin:9px 0 0;color:#172534;font:800 clamp(1.8rem,3vw,2.8rem)/1.15 var(--font-head);letter-spacing:-.045em}.story-heading p{max-width:455px;margin:0;color:#596b7a;font-size:.95rem;line-height:1.6}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.story-card{display:flex;flex-direction:column;min-width:0;padding:31px;background:#fff;border:1px solid #d8e0e5;border-top:3px solid #b8895d;border-radius:3px}.story-card:first-child{grid-column:span 2;background:#132334;color:#fff;border-color:#132334;border-top-color:#d4aa7d}.story-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.story-mark{height:33px;color:#bd8c5c;font:700 4rem/.75 Georgia,serif}.story-card:first-child .story-mark{color:#d8b88d}.story-label{font-size:.75rem;font-weight:700;letter-spacing:.025em;color:#675643}.story-card:first-child .story-label{color:#e1caaa}.story-quote{flex:1;margin:18px 0 25px;color:#364552;font-size:1rem;line-height:1.7}.story-card:first-child .story-quote{max-width:680px;color:#f0f3f5;font-size:1.12rem}.story-person{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #e4e8eb}.story-card:first-child .story-person{border-color:#ffffff35}.story-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#f0e3d5;color:#725337;font:800 1rem var(--font-head)}.story-person>div{display:grid;gap:3px}.story-person strong{font:700 .96rem var(--font-head)}.story-person>div>span{color:#697987;font-size:.8rem}.story-card:first-child .story-person>div>span{color:#c2d0dc}html[dir="rtl"] .story-heading h3,html[dir="rtl"] .story-person strong{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}@media(max-width:960px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card:first-child{grid-column:span 2}}@media(max-width:640px){.story-heading{display:block;margin-top:55px}.story-heading p{margin-top:14px}.story-grid{grid-template-columns:1fr}.story-card,.story-card:first-child{grid-column:auto;padding:25px}.story-card:first-child .story-quote{font-size:1rem}}

.booking-section[hidden]{display:none!important}


.tourism-section{background:#fff;color:var(--ink)}#marrakech-activities{background:var(--paper)}
.tourism-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tourism-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:#fff}
.tourism-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.tourism-content{display:flex;flex-direction:column;flex:1;padding:26px}
.tourism-content h3{margin:0 0 12px;font:700 1.3rem/1.3 var(--font-head);letter-spacing:-.025em}
.tourism-content p{margin:0 0 24px;color:var(--soft);font-size:.94rem;line-height:1.65}
.tourism-link{display:flex;justify-content:space-between;gap:14px;margin-top:auto;padding-top:17px;border-top:1px solid var(--border);color:var(--copper);font-size:.85rem;font-weight:700}
.tourism-link:hover{color:var(--ink)}.tourism-note{margin:24px 0 0;color:var(--soft);font-size:.84rem}
html[dir="rtl"] .tourism-content h3{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}
@media(min-width:1201px){.nav-menu{gap:14px}.nav-menu a{font-size:.69rem}.header-phone{display:none}.site-header{gap:18px;padding-inline:3vw}}
@media(min-width:921px) and (max-width:1200px){.menu-toggle{display:block;margin-left:auto;order:3}.header-actions{margin-left:0;order:2}.nav-menu{display:none;position:absolute;top:82px;left:0;right:0;padding:22px;background:var(--night)}.nav-menu.open{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.nav-menu a{font-size:.9rem}}
@media(max-width:920px){.tourism-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tourism-grid{grid-template-columns:1fr}.tourism-content{padding:23px}.tourism-card img{aspect-ratio:16/10}}
/* Tourism navigation: generous mobile accordion, compact desktop dropdowns. */
.nav-group{position:relative;color:#e8e8e8;font-family:var(--font-head)}.nav-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-size:.78rem;font-weight:600;white-space:nowrap}.nav-group summary::-webkit-details-marker{display:none}.nav-plus{position:relative;display:block;width:14px;height:14px;flex:none}.nav-plus:before,.nav-plus:after{content:'';position:absolute;background:var(--copper2);top:6px;left:1px;width:12px;height:1px}.nav-plus:after{transform:rotate(90deg);transition:transform .2s}.nav-group[open] .nav-plus:after{transform:rotate(0)}.nav-submenu{position:absolute;top:calc(100% + 22px);inset-inline-start:-20px;min-width:240px;padding:12px;background:#142232;border:1px solid #d7ad8050;border-radius:8px;box-shadow:0 16px 45px #0005}.nav-submenu a{display:block;padding:12px;font-size:.88rem;white-space:normal;border-radius:4px}.nav-submenu a:hover{background:#ffffff09;color:var(--copper2)}.nav-menu a:focus-visible,.nav-group summary:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--copper2);outline-offset:5px}.nav-submenu a:after{display:none}
@media(min-width:1201px){.nav-menu{gap:18px}.nav-menu>a,.nav-group summary{font-size:.75rem}.nav-menu{justify-content:center}.header-phone{display:none}}
@media(max-width:1200px){.site-header{z-index:50}.nav-menu,.nav-menu.open{position:fixed;top:82px;left:0;right:0;bottom:0;margin:0!important;padding:22px clamp(22px,6vw,70px) 70px;background:linear-gradient(145deg,#101924,#172534);overflow-y:auto;overscroll-behavior:contain;box-shadow:none}.nav-menu{display:none}.nav-menu.open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}.nav-menu>a,.nav-group summary{padding:19px 0;border-bottom:1px solid #ffffff15;font-size:clamp(1.08rem,3.8vw,1.45rem);font-weight:500;letter-spacing:-.025em;white-space:normal;color:#f5f2ed;min-height:64px}.nav-group[open] summary{color:#e7bd8c;border-bottom-color:transparent}.nav-plus{width:24px;height:24px}.nav-plus:before,.nav-plus:after{top:11px;left:4px;width:16px}.nav-submenu{position:static;min-width:0;margin:0 0 12px;padding:3px 12px;border:0;border-inline-start:2px solid var(--copper);border-radius:0;background:#ffffff04;box-shadow:none}.nav-submenu a{font-size:1rem;padding:13px 12px;color:#c8d2dd}.nav-menu>a:after{display:none}body.menu-open{overflow:hidden}.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-toggle span{transition:transform .2s,opacity .2s}}
@media(max-width:920px){.nav-menu,.nav-menu.open{top:72px}}
html[dir="rtl"] .nav-group summary{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}

/* Tourism navigation follows the existing navy and copper brand. */
.travel-nav{position:relative;color:#fff;font-size:.875rem}.travel-nav>summary{cursor:pointer;list-style:none;white-space:nowrap;padding:12px 0}.travel-nav>summary:after{content:'+';margin-inline-start:10px;color:#d4aa7d}.travel-nav[open]>summary:after{content:'−'}.travel-nav-panel{position:absolute;inset-inline-end:0;top:100%;width:370px;max-height:70vh;overflow:auto;padding:14px;background:#101924;border:1px solid #ffffff24;box-shadow:0 20px 40px #0005}.travel-explorer{background:#101924;color:#fff}.travel-explorer .section-title{color:#fff;margin-bottom:32px}.travel-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.travel-category{border:1px solid #ffffff28;background:#152333}.travel-category>summary{display:flex;align-items:center;gap:14px;padding:22px 18px;cursor:pointer;list-style:none;font-size:1rem;font-weight:700}.travel-number{color:#d4aa7d;font-size:.875rem}.travel-category>summary:after,.travel-subgroup>summary:after{content:'+';margin-inline-start:auto;color:#d4aa7d;font-size:1.3rem}.travel-category[open]>summary:after,.travel-subgroup[open]>summary:after{content:'−'}.travel-category-body{padding:0 18px 18px}.travel-subgroup{border-top:1px solid #ffffff20}.travel-subgroup>summary{display:flex;gap:12px;align-items:center;padding:16px 0;list-style:none;cursor:pointer;font-size:1rem;color:#f4f5f6}.travel-options{padding:0 0 12px 14px}.travel-category-body a{display:block;padding:13px 0;color:#ddc4a5;font-size:.9375rem;line-height:1.5;white-space:normal}.travel-category-body a:hover{color:#fff}.travel-nav-panel .travel-category{margin-bottom:10px}.travel-nav-panel .travel-category>summary{padding:16px 12px}.travel-nav-panel .travel-category-body{padding:0 12px 12px}summary:focus-visible,.explorer-request:focus-visible{outline:2px solid #d4aa7d;outline-offset:4px}
@media(min-width:1201px){.nav-menu{gap:10px}.nav-menu>a{font-size:.75rem}.nav-menu>.tour-nav{display:none}}
@media(max-width:1200px){.nav-menu.open{max-height:calc(100dvh - 82px);overflow-y:auto}.travel-nav{grid-column:1/-1;border-top:1px solid #ffffff25}.travel-nav>summary{font-size:1rem;padding:18px 0}.travel-nav-panel{position:static;width:100%;max-height:none;padding:0;border:0;box-shadow:none}.nav-menu a.explorer-request{font-size:.9375rem}.nav-menu>.tour-nav{display:none}}
@media(max-width:920px){.travel-categories{grid-template-columns:1fr}.travel-category>summary{padding:22px 18px}}

.quick-tour{display:none}@media(max-width:1200px){.nav-menu.open{display:flex!important;z-index:100;gap:10px;padding-top:22px}.nav-menu>a,.nav-group>summary{border:1px solid #ffffff20;border-radius:10px;padding:16px 18px;min-height:54px;background:#ffffff05;font-size:1.05rem;letter-spacing:0}.nav-menu>a.quick-tour{display:block;background:#d4aa7d12;border-color:#d4aa7d50;color:#eed0aa}.nav-menu>a:hover{background:#ffffff12}.nav-group{margin-bottom:0}.nav-submenu{margin-top:10px}.nav-menu>.travel-nav{display:none}.menu-toggle{border-radius:8px;position:relative;z-index:101}.nav-menu>a[href="#accueil"]{color:#d4aa7d}}

/* Mobile side navigation, inspired by the supplied reference. */
.drawer-close,.menu-backdrop{display:none}
@media(max-width:1200px){
.site-header{z-index:110}.nav-menu,.nav-menu.open{top:0!important;bottom:0;left:auto;right:0;width:min(82vw,420px);height:100dvh;max-height:100dvh!important;padding:110px 32px 44px!important;background:#1c1c1d;z-index:120;box-shadow:-20px 0 60px #0004;border-radius:0;gap:0!important;align-items:stretch!important}
.nav-menu.open{display:flex!important;animation:drawer-enter .24s ease-out}
.nav-menu>a,.nav-group>summary{border:0;border-bottom:1px solid #ffffff30;border-radius:0;background:transparent;min-height:76px;padding:24px 0;font-size:1rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:#d2d0cc;white-space:normal}
.nav-menu>a[href="#accueil"]{color:#fff}.nav-menu>a:hover,.nav-group>summary:hover{background:transparent;color:#e7bd8c}.nav-group[open]>summary{color:#e7bd8c;border-bottom:1px solid #ffffff30}
.drawer-close{display:flex;position:absolute;top:25px;left:26px;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;background:transparent;color:#d4aa7d;font-size:40px;font-weight:300;cursor:pointer}
.nav-plus{width:18px;height:18px}.nav-plus:before{width:8px;height:8px;top:4px;left:3px;background:transparent;border-top:1px solid #d4aa7d;border-right:1px solid #d4aa7d;transform:rotate(45deg);transition:transform .2s}.nav-plus:after{display:none}.nav-group[open] .nav-plus:before{transform:rotate(135deg)}
.nav-submenu{margin:0;padding:10px 0 14px;border:0;background:transparent}.nav-submenu a{font-size:.9375rem;line-height:1.5;padding:12px 8px;color:#d1c3ae}
.menu-open .menu-backdrop{display:block;position:fixed;inset:0;z-index:105;border:0;background:#0008;backdrop-filter:blur(2px)}.menu-open .floating-wa{visibility:hidden}.menu-toggle{border-color:#d4aa7d80;color:#e7bd8c}
html[dir="rtl"] .nav-menu,html[dir="rtl"] .nav-menu.open{left:0;right:auto;margin-right:0}
}
@keyframes drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.nav-menu.open{animation:none}}

/* Photographic private transfer cards. */
.routes{background:#101924;color:#fff}.routes .section-title{color:#fff}.routes .section-intro{color:#bdc7d1}.routes .section-kicker{color:#dfb879}
.route-grid{gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.route-card{isolation:isolate;min-height:400px;padding:26px;border:1px solid #d4aa7d40;border-radius:18px;background:#172534;box-shadow:0 18px 40px #0003;justify-content:flex-end;gap:18px;color:#fff}
.route-card:before{inset:0;width:100%;height:100%;background:linear-gradient(180deg,#08111a15 0%,#08111a65 30%,#08111aed 68%,#08111a 100%);z-index:-1}
.route-card:after{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--route-photo);background-size:cover;background-position:center;transition:transform .5s ease}
.route-card:nth-child(1){--route-photo:url('/assets/fleet-mercedes-vito-floute.webp')}.route-card:nth-child(2){--route-photo:url('/assets/tourism/marrakech-depuis-casablanca.webp')}.route-card:nth-child(3){--route-photo:url('/assets/tour-rabat.jpg')}.route-card:nth-child(4){--route-photo:url('/assets/tourism/fes-depuis-casablanca.webp')}.route-card:nth-child(5){--route-photo:url('/assets/tourism/de-tanger-au-sahara-10-jours.webp')}.route-card:nth-child(6){--route-photo:url('/assets/tour-essaouira.jpg')}
.route-card:hover{transform:translateY(-4px);border-color:#dfb879}.route-card:hover:after{transform:scale(1.045)}
.route-tag{position:absolute;top:22px;inset-inline-start:22px;padding:8px 12px;border:1px solid #e6c38b70;border-radius:30px;background:#0b162bcc;backdrop-filter:blur(8px);color:#f5d8a7;font-size:.75rem;letter-spacing:.12em}
.route-card h3{font:600 clamp(1.4rem,2.1vw,1.85rem)/1.2 var(--serif);letter-spacing:-.015em;margin:0 0 12px;color:#fff;text-wrap:balance}.route-card h3 span{color:#ecc98e}.route-card p{color:#d4dce3;font-size:1rem;line-height:1.55;margin:0}
.route-bottom{margin:0;padding:0;border:0;justify-content:flex-start}.route-bottom strong{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;background:linear-gradient(120deg,#edd4a1,#cfa366);color:#17202c;border-radius:7px;font-size:.875rem;font-weight:700;box-shadow:0 4px 16px #0002}.route-arrow{display:none}.route-card:focus-visible{outline:3px solid #edcf97;outline-offset:5px}
@media(max-width:1000px){.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.route-grid{grid-template-columns:1fr;gap:20px}.route-card{min-height:355px;padding:24px;border-radius:16px}.route-card h3{font-size:1.8rem}.route-tag{top:20px;inset-inline-start:20px}.routes .section-intro{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.route-card:after{transition:none}.route-card:hover:after{transform:none}}

/* Calm welcome: introduce transport and tourism before contact. */
.site-header .header-phone{display:none!important}
.floating-wa{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s}
body.past-welcome .floating-wa{visibility:visible;opacity:1;pointer-events:auto}
.final-cta .hero-actions{align-items:center;gap:16px}
.contact-phone{font-size:1rem;color:#edd0aa;display:block;padding:12px 4px;font-weight:600}
@media(max-width:640px){.hero-label{font-size:.7rem;letter-spacing:.12em}.final-cta .hero-actions{max-width:360px;margin-inline:auto}.contact-phone{order:3}.hero-copy>p{font-size:1rem;line-height:1.65}}

button.header-cta{border:0;cursor:pointer}
.reservation-contact{position:fixed;inset:0;width:min(440px,calc(100% - 36px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:42px 28px 30px;border:1px solid #d7ad8070;border-radius:18px;background:#101924;color:#fff;box-shadow:0 24px 100px #0006;text-align:center}
.reservation-contact::backdrop{background:#06101cbb;backdrop-filter:blur(6px)}
.reservation-close{position:absolute;top:10px;right:10px;width:44px;height:44px;background:transparent;border:0;color:#e7bd8c;font-size:30px;cursor:pointer}
.reservation-contact h2{font:700 1.5rem/1.3 var(--font-head);margin:18px 0 14px;color:#fff}
.reservation-intro{font-size:1rem;line-height:1.6;color:#cbd3db;margin:0}
.reservation-number{display:block;margin:24px 0;font-size:clamp(1.25rem,5vw,1.65rem);font-weight:700;color:#edc899;white-space:nowrap}
.reservation-contact .btn-primary,.reservation-contact .btn-outline{display:flex;width:100%;margin-top:12px;min-height:48px;border-radius:7px}
