/* v85 — package cards: clearer choice architecture */
.package-card{isolation:isolate}.package-label{position:absolute;top:14px;left:14px;z-index:3;padding:7px 9px;background:rgba(32,26,22,.84);color:#fff;font:700 8px 'DM Sans';letter-spacing:.12em}
.package-highlights{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 15px}
.package-highlights span{padding:6px 8px;border:1px solid rgba(22,76,99,.12);background:#f7f2e8;color:#3e514c;font:600 9px 'DM Sans';letter-spacing:.03em}
.package-price-note{margin:12px 0 0;padding:10px 12px;background:#f7f2e8;color:#665d52;font:500 11px/1.45 'DM Sans'}
.package-card--featured .package-highlights{margin-top:14px}
@media(max-width:600px){.package-label{top:11px;left:11px;font-size:7px}.package-highlights{gap:6px}.package-highlights span{font-size:8px;padding:6px 7px}.package-price-note{font-size:10px}}

.journey-builder{background:linear-gradient(180deg,#fffdf8,#f4eee4)}
.builder-intro{text-align:center;max-width:780px;margin-left:auto;margin-right:auto}
.builder-hero-copy{margin-left:auto!important;margin-right:auto!important}
.builder-card{box-shadow:0 24px 70px rgba(24,56,68,.09)!important}
.builder-options button{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease!important}
.builder-options button:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(24,56,68,.09);border-color:rgba(201,166,107,.65)!important}
.builder-options button.selected{border-color:#c9a66b!important;box-shadow:0 10px 26px rgba(201,166,107,.13)}

.contact{position:relative;overflow:hidden;background:#183844!important;color:#f8f4ec}
.contact:before{content:"SAHARALUMA";position:absolute;right:-3vw;top:12%;font:700 clamp(70px,14vw,190px)/1 "Playfair Display",serif;letter-spacing:.05em;color:rgba(255,255,255,.035);pointer-events:none;transform:rotate(-8deg)}
.contact-copy,.quote-form{position:relative;z-index:1}
.contact-copy h2{color:#f8f4ec!important;letter-spacing:-.035em}
.contact-copy>p:not(.eyebrow){color:rgba(248,244,236,.78);line-height:1.8}
.quote-reassurance{border-top:1px solid rgba(255,255,255,.16)!important;border-bottom:1px solid rgba(255,255,255,.16)!important;padding:18px 0!important;display:grid!important;gap:12px!important}
.quote-reassurance span{color:#f8f4ec!important}
.contact-copy a{color:#c9a66b!important}
.quote-form{background:#fffdf8!important;box-shadow:0 28px 80px rgba(0,0,0,.18)!important;border:1px solid rgba(255,255,255,.18)!important}
.quote-form-intro{border-bottom-color:rgba(24,56,68,.12)!important}
.quote-form-intro span{color:#183844!important;letter-spacing:.12em}
.quote-form .button.primary{min-height:54px;width:100%;justify-content:center}
.form-note{color:#6d7475!important;text-align:center}
@media(max-width:760px){.contact:before{font-size:76px;top:4%;right:-12vw}.quote-reassurance{gap:9px!important}}

/* v134 — founder story: make the person behind SaharaLuma impossible to miss */
.founder-home{position:relative!important;overflow:hidden!important;background:#fffdf8!important;border-top:1px solid rgba(24,56,68,.10)!important;border-bottom:1px solid rgba(24,56,68,.10)!important}
.founder-home:after{content:'THE PERSON BEHIND THE JOURNEY';position:absolute;right:-34px;bottom:52px;writing-mode:vertical-rl;transform:rotate(180deg);font:600 9px 'DM Sans';letter-spacing:.22em;color:#c9a66b;opacity:.72;pointer-events:none}
.founder-home-copy{max-width:720px!important}
.founder-home-copy .eyebrow{color:#183844!important;letter-spacing:.18em}
.founder-home-copy h2{font-size:clamp(46px,5.6vw,78px)!important;line-height:.98!important;letter-spacing:-.045em!important;margin:18px 0 24px!important}
.founder-home-copy h2 em{color:#c9a66b!important;font-style:italic}
.founder-lead{font-size:clamp(20px,2vw,27px)!important;line-height:1.45!important;color:#183844!important;margin:24px 0 30px!important}
.founder-proof{background:rgba(24,56,68,.025);border-top:1px solid rgba(24,56,68,.14)!important;border-bottom:1px solid rgba(24,56,68,.14)!important}
.founder-proof b{color:#183844!important;font-size:11px!important;letter-spacing:.10em;text-transform:uppercase}
.founder-proof small{color:#6d7475!important;line-height:1.45}
.founder-home-copy>p:not(.eyebrow):not(.founder-lead):not(.founder-signature){color:#5f5a52!important;font-size:16px!important;line-height:1.85!important}
.founder-signature{color:#9d7650!important;font-size:18px!important}
.founder-home .text-link{color:#183844!important;border-bottom-color:#c9a66b!important;font-weight:700}
.founder-home-photo{box-shadow:0 24px 60px rgba(24,56,68,.14)!important;border:1px solid rgba(24,56,68,.12)!important}
.founder-home-photo:after{background:#183844!important;color:#c9a66b!important}
@media(max-width:800px){.founder-home{padding-top:82px!important;padding-bottom:88px!important}.founder-home:after{right:8px;bottom:28px;font-size:8px}.founder-home-copy h2{font-size:clamp(42px,12vw,58px)!important}.founder-lead{font-size:21px!important}.founder-proof{grid-template-columns:1fr!important}.founder-proof span,.founder-proof span+span{border-right:0!important;border-bottom:1px solid rgba(24,56,68,.10);padding:14px 0!important}.founder-proof span:last-child{border-bottom:0}.founder-home-copy>p:not(.eyebrow):not(.founder-lead):not(.founder-signature){font-size:15px!important}.founder-home-photo{margin-bottom:34px!important;width:min(280px,100%)!important;min-height:350px!important}}

/* v135 — destination experience: turn the map into an editorial journey */
.morocco-map{background:#f7f2e9!important}
.morocco-map .map-head{position:relative;z-index:1}
.morocco-map .map-head h2{letter-spacing:-.045em!important}
.morocco-map .map-head h2 em{color:#c9a66b!important}
.route-map{margin-top:10px!important}
.route-stop{border:1px solid rgba(24,56,68,.10)!important;background:#fffdf8!important;padding:22px 18px 26px!important;box-shadow:0 8px 24px rgba(24,56,68,.035)!important}
.route-stop span{width:48px!important;height:48px!important;border-color:#c9a66b!important;color:#183844!important;background:#fffdf8!important;font-weight:600!important}
.route-stop b{color:#183844!important}
.route-stop small{color:#6d7475!important}
.route-stop:hover,.route-stop.active{background:#183844!important;border-color:#183844!important;box-shadow:0 20px 50px rgba(24,56,68,.15)!important}
.route-stop:hover span,.route-stop.active span{background:#183844!important;color:#c9a66b!important;border-color:#c9a66b!important}
.route-stop:hover b,.route-stop.active b,.route-stop:hover small,.route-stop.active small{color:#f8f4ec!important}
.destination-detail{border-left:0!important;border-top:1px solid rgba(201,166,107,.5)!important;box-shadow:0 30px 80px rgba(24,56,68,.13)!important}
.destination-detail:before{content:'A CHAPTER IN YOUR MOROCCO';position:absolute;left:clamp(28px,6vw,78px);top:18px;color:#c9a66b;font:600 8px 'DM Sans';letter-spacing:.2em}
.destination-story{border-top:1px solid rgba(248,244,236,.16);padding-top:24px}
.destination-detail .text-link{color:#f8f4ec!important;font-weight:700;letter-spacing:.02em;transition:color .25s ease,border-color .25s ease}
.destination-detail .text-link:hover{color:#c9a66b!important;border-color:#c9a66b!important}
@media(max-width:800px){.route-stop{min-height:154px!important;padding:18px 14px 22px!important}.route-stop b{font-size:19px!important}.destination-detail{padding:52px 24px 34px!important}.destination-detail:before{left:24px;top:18px}.destination-detail h3{font-size:clamp(40px,11vw,56px)!important}.destination-detail .destination-lead{font-size:16px!important;line-height:1.7!important}.destination-story{margin-top:26px!important;padding-top:20px!important}.destination-detail .text-link{display:inline-block;margin-top:24px!important;padding:10px 0!important}}

/* v137 — why SaharaLuma competitive advantage */
.why-us{background:#183844!important;color:#fffdf8!important;position:relative;overflow:hidden}
.why-us:after{content:'SAHARALUMA';position:absolute;right:-30px;top:18%;font:700 clamp(80px,14vw,210px)/1 'Playfair Display',serif;letter-spacing:.04em;color:rgba(255,255,255,.035);transform:rotate(-8deg);pointer-events:none;white-space:nowrap}
.why-us>*{position:relative;z-index:1}
.why-us-head h2{color:#fffdf8!important}
.why-us-head h2 em{color:#c9a66b!important}
.why-us-head>p:last-of-type{color:rgba(255,253,248,.74)!important}
.why-us-head .text-link{color:#c9a66b!important;border-bottom-color:rgba(201,166,107,.55)!important}
.why-us-grid{border-top-color:rgba(255,255,255,.18)!important}
.why-us-grid article{border-bottom-color:rgba(255,255,255,.18)!important}
.why-us-grid article:nth-child(even){border-left-color:rgba(255,255,255,.18)!important}
.why-us-grid span{color:#c9a66b!important}
.why-us-grid h3{color:#fffdf8!important;font-size:28px!important}
.why-us-grid p{color:rgba(255,253,248,.68)!important}
.why-us .trust-band{background:rgba(255,253,248,.06)!important;border-top-color:rgba(255,255,255,.16)!important;border-bottom-color:rgba(255,255,255,.16)!important}
.why-us .trust-band span{border-right-color:rgba(255,255,255,.12)!important}
.why-us .trust-band b{color:#fffdf8!important}
.why-us .trust-band small{color:rgba(255,253,248,.6)!important}

/* v136 — signature journey editorial layer */
#routes{background:#fffdf8!important}
#routes .packages-head{align-items:end!important}
#routes .packages-head h2{letter-spacing:-.045em!important}
#routes .packages-head h2 em{color:#c9a66b!important}
#routes .packages-head-copy>p{max-width:570px!important}
#routes .package-grid--featured{align-items:stretch!important}
#routes .package-card{position:relative!important;overflow:hidden!important;background:#fffdf8!important;border-color:rgba(24,56,68,.12)!important}
#routes .package-card:before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:#c9a66b;transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
#routes .package-card:hover:before,#routes .package-card--featured:before{transform:scaleX(1)}
#routes .package-card h3{font-size:clamp(34px,3.5vw,48px)!important;letter-spacing:-.025em!important}
#routes .package-card .package-route{font-size:14px!important;line-height:1.65!important;color:#183844!important}
#routes .package-fit{margin-top:22px!important;padding:18px 18px 20px!important;border-top:1px solid rgba(24,56,68,.12)!important;border-bottom:1px solid rgba(24,56,68,.12)!important;background:#f7f2e9!important}
#routes .package-fit b{display:block!important;color:#c9a66b!important;font:600 9px 'DM Sans'!important;letter-spacing:.18em!important;text-transform:uppercase!important;margin-bottom:7px!important}
#routes .package-fit span{display:block!important;color:#4f5c60!important;font-size:13px!important;line-height:1.65!important}
#routes .package-card strong{font-size:12px!important;letter-spacing:.05em!important}
#routes .package-card>a{font-weight:700!important}
#routes .package-card--featured{box-shadow:0 25px 65px rgba(24,56,68,.10)!important}
#routes .package-badge,#routes .package-label{letter-spacing:.18em!important}
@media(max-width:800px){#routes .packages-head h2{font-size:clamp(42px,12vw,58px)!important}#routes .package-card h3{font-size:36px!important}#routes .package-fit{margin-top:18px!important;padding:16px!important}.why-us:after{font-size:72px;right:-20px;top:9%}.why-us-grid h3{font-size:25px!important}}

/* SaharaLuma 10/10 — locked visual system
   Only brand colors: Moroccan Blue, Warm Sand, Ivory.
   Photography provides the natural color variation.
*/
:root{
  --sl-blue:#123B5D;
  --sl-sand:#D8B98A;
  --sl-ivory:#F7F3EA;
  --sl-blue-rgb:18,59,93;
  --sl-sand-rgb:216,185,138;
  --sl-ivory-rgb:247,243,234;
}
html,body{background:var(--sl-ivory)!important;color:var(--sl-blue)!important}
body{font-family:"DM Sans",sans-serif}
h1,h2,h3,h4,h5,h6,p,span,strong,small{color:inherit}
.nav{background:var(--sl-blue)!important;border-bottom:0!important;box-shadow:none!important}
.nav nav a,.brand,.nav .brand-logo{color:var(--sl-ivory)!important}
.nav nav a:hover,.nav nav a:focus{color:var(--sl-sand)!important}
.nav-cta{background:var(--sl-sand)!important;color:var(--sl-blue)!important}
.hero{background:var(--sl-ivory)!important}
.hero-copy{background:var(--sl-ivory)!important}
.hero h1,.hero-copy .lead,.hero-subtitle{color:var(--sl-blue)!important}
.hero h1 em{color:var(--sl-blue)!important}
.hero h1:after{background:var(--sl-sand)!important}
.button.primary{background:var(--sl-sand)!important;color:var(--sl-blue)!important;box-shadow:none!important}
.text-link,.hero .text-link{color:var(--sl-blue)!important;border-color:var(--sl-sand)!important}
.hero-trust span{color:var(--sl-blue)!important}
.reference-trust,.luxury-strip{background:var(--sl-blue)!important;color:var(--sl-ivory)!important}
.reference-trust *,.luxury-strip *{color:var(--sl-ivory)!important}
.visual-journey,.intro,.signature,#routes,.travel-styles{background:var(--sl-ivory)!important}
.visual-journey-head h2,.signature h2,.travel-styles h2,.packages-head h2{color:var(--sl-blue)!important}
.visual-journey-head h2 em,.signature h2 em,.travel-styles h2 em,.packages-head h2 em{color:var(--sl-blue)!important}
.visual-card{box-shadow:none!important;border:1px solid rgba(var(--sl-ivory-rgb),.25)}
.visual-card:after{background:linear-gradient(0deg,rgba(var(--sl-blue-rgb),.72),rgba(var(--sl-blue-rgb),.05))!important}
.manifesto,.why-us,.contact{background:var(--sl-blue)!important;color:var(--sl-ivory)!important}
.manifesto h2,.manifesto-copy,.why-us h2,.why-us h3,.contact h2,.contact p{color:var(--sl-ivory)!important}
.manifesto h2 em,.why-us h2 em{color:var(--sl-sand)!important}
.manifesto .text-link,.why-us .text-link,.contact a{color:var(--sl-sand)!important}
.intro h2,.intro p,.founder-home h2,.founder-home p,.founder-proof b,.founder-proof small{color:var(--sl-blue)!important}
.founder-home{background:var(--sl-ivory)!important;border-color:rgba(var(--sl-blue-rgb),.12)!important}
.founder-home-copy h2 em,.founder-signature{color:var(--sl-blue)!important}
.founder-proof{border-color:rgba(var(--sl-blue-rgb),.16)!important;background:transparent!important}
.travel-style-grid article,.package-card,.builder-card,.quote-form{background:var(--sl-ivory)!important;border-color:rgba(var(--sl-blue-rgb),.16)!important}
.travel-style-grid article span,.package-card .package-label,.package-card .tag{color:var(--sl-blue)!important}
.package-card:before{background:var(--sl-sand)!important}
.package-fit,.package-highlights span{background:rgba(var(--sl-sand-rgb),.22)!important;color:var(--sl-blue)!important}
.morocco-map{background:var(--sl-ivory)!important}
.route-stop{background:var(--sl-ivory)!important;border-color:rgba(var(--sl-blue-rgb),.16)!important}
.route-stop span{border-color:var(--sl-sand)!important;color:var(--sl-blue)!important}
.route-stop:hover,.route-stop.active{background:var(--sl-blue)!important;border-color:var(--sl-blue)!important}
.route-stop:hover *,.route-stop.active *{color:var(--sl-ivory)!important}
.destination-detail{background:var(--sl-blue)!important;color:var(--sl-ivory)!important;border-color:var(--sl-sand)!important}
.destination-detail *{color:var(--sl-ivory)!important}
.destination-detail .text-link{color:var(--sl-sand)!important}
.journey-builder{background:var(--sl-ivory)!important}
.builder-options button{background:var(--sl-ivory)!important;border-color:rgba(var(--sl-blue-rgb),.18)!important;color:var(--sl-blue)!important}
.builder-options button.selected{border-color:var(--sl-sand)!important}
.builder-reveal{background:var(--sl-blue)!important;color:var(--sl-ivory)!important;border-color:var(--sl-sand)!important}
.builder-reveal *{color:var(--sl-ivory)!important}
.builder-reveal .button{background:var(--sl-sand)!important;color:var(--sl-blue)!important}
.contact input,.contact textarea,.contact select{background:var(--sl-ivory)!important;color:var(--sl-blue)!important;border-color:rgba(var(--sl-blue-rgb),.18)!important}
.contact form{background:var(--sl-ivory)!important}
.contact form *{color:var(--sl-blue)}
.contact form .button{background:var(--sl-sand)!important;color:var(--sl-blue)!important}
.tripadvisor-section{background:var(--sl-ivory)!important;color:var(--sl-blue)!important}
footer{background:var(--sl-blue)!important;color:var(--sl-ivory)!important}
footer *{color:var(--sl-ivory)!important}
footer a:hover{color:var(--sl-sand)!important}
.whatsapp{background:var(--sl-sand)!important;color:var(--sl-blue)!important}
.luxury-strip{display:grid!important}
.cards{display:none!important}
@media(max-width:800px){
  .nav{height:68px}
  .nav-cta{display:none}
  .hero{grid-template-columns:1fr!important}
  .hero-copy{padding:72px 8vw 54px!important}
  .hero-image{min-height:58vh!important}
  .visual-journey-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:560px){
  .visual-journey-grid{grid-template-columns:1fr!important}
  .hero-copy h1{font-size:clamp(46px,13vw,64px)!important}
  .reference-trust{grid-template-columns:1fr 1fr!important}
}
/* Trust & Conversion 2.0 */
.planning-reassurance{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:rgba(18,59,93,.16);border:1px solid rgba(18,59,93,.16)}.planning-reassurance>div{background:var(--sl-ivory,#F7F3EA);padding:24px 22px}.planning-reassurance span{display:block;color:var(--sl-sand,#D8B98A);font-size:18px;margin-bottom:10px}.planning-reassurance b{display:block;color:var(--sl-blue,#123B5D);font:600 1rem/1.3 "DM Sans",sans-serif;margin-bottom:7px}.planning-reassurance small{display:block;color:#687174;line-height:1.55}@media(max-width:700px){.planning-reassurance{grid-template-columns:1fr;margin-top:30px}.planning-reassurance>div{padding:20px}}

/* v140 performance: defer rendering work for below-the-fold sections */
.visual-journey,.founder-home,.tours,.day-experiences-home,.tripadvisor-section{content-visibility:auto;contain-intrinsic-size:900px}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition-duration:0.01ms!important}
}
/* TripAdvisor trust upgrade */
.tripadvisor-section{padding:96px 24px!important;background:var(--sl-ivory)!important;color:var(--sl-blue)!important;text-align:center;border-top:1px solid rgba(18,59,93,.14)}
.tripadvisor-inner{max-width:900px;margin:0 auto}
.tripadvisor-section h2{margin:10px 0 14px;color:var(--sl-blue)}
.tripadvisor-lead{max-width:700px!important;margin:0 auto 34px!important;color:var(--sl-blue)!important;opacity:.78}
.tripadvisor-proof{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(300px,1.2fr);gap:1px;max-width:780px;margin:0 auto;background:rgba(18,59,93,.16);border:1px solid rgba(18,59,93,.16);text-align:left}
.tripadvisor-badge{display:flex;align-items:center;justify-content:center;min-height:230px;background:var(--sl-blue);padding:32px}
.tripadvisor-badge .TA_rated{margin:0!important}
.tripadvisor-proof-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:36px;background:var(--sl-ivory)}
.tripadvisor-proof-copy .proof-kicker{font-size:.72rem;letter-spacing:.14em;font-weight:700;color:var(--sl-blue)}
.tripadvisor-proof-copy strong{font:600 1.45rem/1.35 "Playfair Display",serif;color:var(--sl-blue)}
.tripadvisor-proof-copy>span:not(.proof-kicker){color:var(--sl-blue);opacity:.75;line-height:1.65}
.tripadvisor-proof-copy .button{margin-top:6px;background:var(--sl-blue);color:var(--sl-ivory);border-color:var(--sl-blue)}
.tripadvisor-note{margin-top:18px;font-size:.78rem;color:var(--sl-blue);opacity:.58}
@media(max-width:700px){.tripadvisor-section{padding:72px 18px!important}.tripadvisor-proof{grid-template-columns:1fr}.tripadvisor-badge{min-height:190px}.tripadvisor-proof-copy{padding:28px}.tripadvisor-proof-copy .button{width:100%;justify-content:center}}