/* Humbaro 1.5: confident editorial type and a consistent collection of travel cards. */
@font-face{font-family:HumbaroMerriweather;src:url('/assets/fonts/merriweather.woff2') format('woff2');font-style:normal;font-weight:300 900;font-display:swap}
@font-face{font-family:HumbaroMerriweather;src:url('/assets/fonts/merriweather-italic.woff2') format('woff2');font-style:italic;font-weight:300 900;font-display:swap}
@font-face{font-family:HumbaroManrope;src:url('/assets/fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--editorial:HumbaroMerriweather,Georgia,serif;--serif:var(--editorial);--sans:HumbaroManrope,Arial,sans-serif;--card-shadow:0 14px 40px #2e5f420b;--card-hover-shadow:0 24px 50px #2e5f4219}
body:not(.admin-body):not(.login-body){font-family:var(--sans);font-size:16px;line-height:1.85;font-weight:400}
body:not(.admin-body):not(.login-body) :is(h1,h2,h3,h4){font-family:var(--editorial);font-weight:700;letter-spacing:-.035em}
body:not(.admin-body):not(.login-body) :is(h1,h2,h3,h4) a{font:inherit}
body:not(.admin-body):not(.login-body) :is(.button,.text-link,.eyebrow,.nav-link,.nav-cta,.topbar,.language-toggle-option,.hero-secondary,.hero-location,.hero-content p,.slide-controls,.card-bottom,.card-bottom b,.card-bottom small,.duration,.footer-link,.footer-column h3,.drawer-home,.drawer-extra,.mobile-menu-heading>a,.dropdown-links>a,.dropdown-all,.finder-intro,.safari-finder label,.safari-finder select,.journey-nav,.hero-video-toggle,.hero-video-external,.price-panel,.booking-progress,.booking-form-panel label,.contact-form-panel label,form input,form select,form textarea){font-family:var(--sans)}
.button{border-radius:9px;font-weight:700;letter-spacing:0;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.button:hover{box-shadow:0 8px 20px #07180a15}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;line-height:1.7}
.nav-link{font-size:15px;font-weight:700;letter-spacing:-.02em}
html[lang=fr] .nav-link{font-size:14px}
.nav-shell{gap:24px}.desktop-nav{gap:17px}.nav-item-heading{gap:1px}
.site-header .brand-full{width:218px}.site-header.is-scrolled .brand-full{width:206px}
.nav-cta{font-size:14px;font-weight:700;gap:15px;padding:14px 19px}
.nav-dropdown{border-radius:15px;box-shadow:0 20px 55px #07180a26}
.dropdown-links>a{border-radius:8px}.dropdown-link-icon{border-radius:7px}
.hero-content .hero-title{font-family:var(--editorial);font-size:clamp(62px,6.8vw,98px);font-weight:700;line-height:1.1;letter-spacing:-.045em;max-width:1110px}
.hero-content .hero-accent{font-weight:600;line-height:1.12;letter-spacing:-.045em;color:#fff2d7}
.hero-content .eyebrow{font-size:12px;letter-spacing:.2em;font-weight:800;margin-bottom:25px}
.hero-content p{font-size:16px;line-height:1.85;max-width:520px;font-weight:500}
.hero-content .hero-actions .button{font-size:15px;font-weight:800;border-radius:9px}
.hero-secondary{font-weight:700}.hero-content{padding-top:clamp(224px,29svh,340px)}
.home-hero{max-height:none;min-height:800px}
.page-hero{height:auto;min-height:100svh;max-height:none;display:flex;align-items:center;padding:190px 0 126px;isolation:isolate}
.page-hero-content{padding-top:35px;padding-bottom:35px;position:relative;z-index:1}
.page-hero h1{font-family:var(--editorial);font-size:clamp(48px,5.4vw,78px);line-height:1.14;font-weight:700;letter-spacing:-.045em;max-width:1080px;text-wrap:balance}
.page-hero p{font-family:var(--sans);font-size:17px;font-weight:500;line-height:1.9;max-width:720px;color:#fffffff2;margin-top:25px;text-wrap:pretty}
.page-hero-content .eyebrow{font-size:12px;letter-spacing:.2em;margin-bottom:24px}
.page-hero .hero-photo{object-position:center}
.hero-focus-top>.hero-photo,.hero-focus-top>img{object-position:center top}
.hero-focus-bottom>.hero-photo,.hero-focus-bottom>img{object-position:center bottom}
.hero-focus-left>.hero-photo,.hero-focus-left>img{object-position:left center}
.hero-focus-right>.hero-photo,.hero-focus-right>img{object-position:right center}
.page-hero.hero-shade-soft .hero-shade{background:linear-gradient(180deg,#07180a65,transparent 36%,#07180a65),linear-gradient(90deg,#07180a66,#07180a15)}
.page-hero.hero-shade-balanced .hero-shade{background:linear-gradient(180deg,#07180a66,transparent 35%,#07180a80),linear-gradient(90deg,#07180a99,#07180a20)}
.page-hero.hero-shade-deep .hero-shade{background:linear-gradient(180deg,#07180a80,#07180a20 35%,#07180aaa),linear-gradient(90deg,#07180abb,#07180a55)}
.page-hero-bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:30px;z-index:1}
.page-hero-bottom .breadcrumb{position:static;display:flex;flex-wrap:wrap;gap:13px;align-items:center;padding:0;margin:0;font-family:var(--sans);font-size:12px;max-width:75%;width:auto;color:#ffffffd9;line-height:1.7}
.page-hero-bottom .breadcrumb>a{font-weight:700;color:#fff}.page-hero-bottom .breadcrumb>a:hover{text-decoration:underline;text-underline-offset:5px}
.page-hero-scroll{margin-right:70px;display:inline-flex;align-items:center;gap:14px;flex-shrink:0;font:700 11px/1.6 var(--sans);letter-spacing:.07em;color:#fff}
.page-hero-scroll>svg{transform:rotate(90deg);width:32px;height:32px;border:1px solid #ffffff70;border-radius:50%;padding:8px;box-sizing:content-box}
.hero-content-anchor{scroll-margin-top:145px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px}
.section-heading>div{min-width:0;flex:1}.section-heading h2{max-width:none;font-size:clamp(32px,3.1vw,44px);font-weight:700;line-height:1.24;letter-spacing:-.035em;text-wrap:pretty}
.section-heading p{font-family:var(--sans);font-size:15px;line-height:1.85;max-width:820px;margin-top:17px;color:var(--charcoal)}
.section-heading .text-link{font-family:var(--sans);font-size:13px;font-weight:800;white-space:nowrap;margin:0 0 5px;gap:12px}
.intro-grid h2{font-size:clamp(36px,3.9vw,54px);line-height:1.22}.intro-copy p{font-family:var(--sans);font-size:16px;line-height:1.9}
.safari-grid{gap:27px;align-items:stretch}
.safari-card,.guide-card,.article-card,.experience-card{border:1px solid #2e5f4212;border-radius:18px;background:#fff;box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow .3s,transform .3s,border-color .3s}
.safari-card{display:flex;flex-direction:column;height:100%}
.safari-card .card-image{aspect-ratio:1.5;flex-shrink:0;margin:0;overflow:hidden;background:var(--sand)}
.safari-card .card-image>img,.destination-card>img,.article-card .card-image>img,.experience-card .card-image>img,.guide-card .card-image>img{transition:transform .75s cubic-bezier(.2,.65,.3,1)}
.safari-card .duration{left:17px;top:17px;right:auto;bottom:auto;border:1px solid #ffffff50;background:#fffffff2;color:var(--green);box-shadow:0 2px 12px #0001;border-radius:30px;min-height:33px;padding:7px 13px;font:800 11px/1.6 var(--sans);gap:7px;backdrop-filter:blur(8px)}
.card-price-badge{position:absolute;right:17px;bottom:17px;padding:8px 14px;border-radius:30px;background:#fff;color:var(--green);font:800 12px/1.6 var(--sans);box-shadow:0 3px 15px #0001}
.safari-card-content{padding:26px;display:flex;flex:1;flex-direction:column;min-height:0}
.safari-card .eyebrow{font-family:var(--sans);font-size:10px;font-weight:800;line-height:1.7;letter-spacing:.12em;margin-bottom:11px;color:var(--green)}
.safari-card h3{font-family:var(--editorial);font-size:23px;line-height:1.4;font-weight:700;letter-spacing:-.03em;min-height:2.8em;margin:0}
.safari-card-content>p{font-family:var(--sans);font-size:14px;line-height:1.85;min-height:5.55em;-webkit-line-clamp:3;margin:16px 0 23px;color:#6b706b}
.safari-card .card-bottom{margin-top:auto;padding-top:19px;border-top:1px solid #2e5f4215;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.safari-card .card-bottom>span{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:5px;flex:1;min-width:95px}
.safari-card .card-bottom small{font:500 10px/1.6 var(--sans);color:var(--charcoal)}
.safari-card .card-bottom b{font:800 19px/1.5 var(--sans);letter-spacing:-.035em;color:var(--green)}
.safari-card .card-bottom b.on-request{font-size:15px;letter-spacing:-.02em}
.safari-card .card-bottom>a.card-details-button{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;min-height:44px;gap:10px;padding:11px 15px;border:1px solid var(--green);border-radius:10px;background:var(--green);color:#fff;flex-shrink:0;font:800 11px/1.65 var(--sans);text-decoration:none;transition:background .2s,box-shadow .2s}
.safari-card .card-bottom>a.card-details-button:hover{background:#234a33;box-shadow:0 6px 16px #2e5f4230}
.card-details-button>svg{flex-shrink:0;transition:transform .2s}.card-details-button:hover>svg{transform:translateX(3px)}
.destination-card{border-radius:18px;overflow:hidden;border:1px solid #2e5f4215;box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s;isolation:isolate}
.destination-card>div{left:0;right:0;bottom:0;padding:28px}.destination-card h3,.home-destinations .destination-card:first-child h3{font-family:var(--editorial);font-size:34px;line-height:1.24;font-weight:700;letter-spacing:-.035em}
.destination-card h3{max-width:none}.home-destinations .destination-card:nth-child(n){margin-top:0;min-height:460px}.destination-card p,.destination-card:hover p,.destination-card:focus p{display:block;opacity:1;max-height:none;margin-top:14px;padding-right:35px;font-family:var(--sans);font-size:14px;line-height:1.85;color:#ffffffe6}
.destination-card .image-arrow{border-radius:50%;background:#ffffff20;backdrop-filter:blur(8px);border:1px solid #ffffff50;width:42px;height:42px;bottom:24px;right:24px}
.article-card,.experience-card{display:flex;flex-direction:column;align-items:flex-start;padding:0 26px 26px}
.article-card .card-image,.experience-card .card-image{width:calc(100% + 52px);max-width:none;align-self:center;flex-shrink:0;margin-bottom:25px;aspect-ratio:1.55;overflow:hidden}
.article-card .eyebrow,.experience-card .eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.12em;font-weight:800}
.article-card h3,.experience-card h2{font-family:var(--editorial);font-size:24px;font-weight:700;line-height:1.4;letter-spacing:-.03em}
.article-card>p,.experience-card>p{font-family:var(--sans);font-size:14px;line-height:1.9;margin:16px 0 23px;color:#6b706b;max-width:none}
.article-card .text-link,.experience-card .text-link,.guide-card .text-link{font-family:var(--sans);font-size:13px;font-weight:800;margin-top:auto}
.guide-card>.card-image{margin:0;aspect-ratio:1.75;overflow:hidden}.guide-card>div{padding:27px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.guide-card{display:flex;flex-direction:column}.guide-card h3{font-family:var(--editorial);font-size:25px;line-height:1.4;letter-spacing:-.03em}.guide-card p{font-family:var(--sans);font-size:14px;line-height:1.9}
.starting-grid{gap:22px}.starting-grid>a{border:1px solid #2e5f4215;background:#fff;border-radius:16px;box-shadow:var(--card-shadow);padding:29px 24px;transition:transform .3s,box-shadow .3s}
.starting-grid h3{font-family:var(--editorial);font-size:27px;line-height:1.35;letter-spacing:-.025em}.starting-grid p{font-family:var(--sans);font-size:14px;line-height:1.85}
.feature-row{border:0;gap:22px;margin-top:42px;padding-top:0}.feature-row>div{border:1px solid #2e5f4212;background:var(--sand);border-radius:14px;padding:26px 23px;align-items:flex-start}
.feature-row h3{font-family:var(--sans)!important;font-size:15px;font-weight:800!important;line-height:1.55;letter-spacing:-.02em!important}.feature-row p{font-family:var(--sans);font-size:13px;line-height:1.8}
.experience-copy h2,.reviews-layout h2,.journey-section h2,.about-grid h2,.contact-layout h2{font-family:var(--editorial);font-size:clamp(33px,3.6vw,49px);line-height:1.25;font-weight:700;letter-spacing:-.035em}
.experience-copy>p{font-family:var(--sans);font-size:16px;line-height:1.95}.review blockquote{font-family:var(--editorial);font-size:30px;line-height:1.65;font-weight:500;letter-spacing:-.025em}
.review{border-radius:18px}.closing-cta h2{font-family:var(--editorial);font-size:clamp(38px,4.5vw,63px);line-height:1.24;font-weight:700}
.day-item{border:1px solid #2e5f4215;border-radius:14px;padding:27px;background:#fff;margin-bottom:18px;box-shadow:0 6px 22px #2e5f4205}
.day-item h3{font-size:23px;line-height:1.45}.guide-block h2{font-family:var(--editorial);font-size:33px;line-height:1.35;font-weight:700}
.price-panel,.booking-aside,.contact-form-panel,.booking-form-panel,.guide-sidebar-inner{border-radius:16px}
.booking-form-panel legend,.contact-form-panel h2,.booking-aside h2{font-family:var(--editorial);font-size:36px;line-height:1.35;font-weight:700;letter-spacing:-.035em}
.footer-help-strip .eyebrow{font-family:var(--editorial);font-size:29px;line-height:1.4;font-weight:700;letter-spacing:-.03em}
.footer-column h3{font-family:var(--sans)!important;font-size:14px;font-weight:800;letter-spacing:.01em!important}.footer-column .footer-link{font-family:var(--sans);font-size:13px}
.drawer-intro h2{font-family:var(--editorial);font-size:29px;line-height:1.35;font-weight:700}.mobile-menu-heading>a,.drawer-home,.drawer-extra{font-family:var(--sans);font-weight:800}
.scroll-reveal{transition:opacity .65s ease,translate .65s cubic-bezier(.2,.65,.3,1),transform .3s,box-shadow .3s,border-color .3s;transition-delay:var(--reveal-delay,0ms)}
.is-awaiting-reveal{opacity:0;translate:0 24px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.safari-card:hover,.article-card:hover,.experience-card:hover,.guide-card:hover,.destination-card:hover,.starting-grid>a:hover{transform:translateY(-5px);box-shadow:var(--card-hover-shadow);border-color:#2e5f4230}.safari-card:hover .card-image>img,.destination-card:hover>img,.article-card:hover .card-image>img,.experience-card:hover .card-image>img,.guide-card:hover .card-image>img{transform:scale(1.045)}}
/* CMS: one clear place to find every page opening. */
.page-heroes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:30px 0}
.page-heroes-search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:0 15px;max-width:390px;width:100%;margin:0}
.page-heroes-search input{border:0!important;padding-left:0!important;box-shadow:none!important;background:transparent!important}
.page-heroes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.admin-page-hero-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow)}
.admin-page-hero-image{position:relative;height:170px;overflow:hidden}.admin-page-hero-image>img{width:100%;height:100%;object-fit:cover}.admin-page-hero-image>span{position:absolute;left:14px;top:14px;background:#fff;color:var(--green);border-radius:20px;padding:5px 11px;font:700 10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.06em}
.admin-page-hero-card>div:last-child{padding:23px}.admin-page-hero-card h2{font:700 17px/1.5 var(--sans);letter-spacing:-.03em;margin:0 0 9px;color:var(--green)}.admin-page-hero-card p{font:400 12px/1.8 var(--sans);margin:0 0 20px;color:var(--charcoal)}.admin-page-hero-card .button{font-size:12px;padding:11px 14px;min-height:43px}
.hero-editor-note{font-size:12px;line-height:1.8;margin-top:23px;color:var(--charcoal)}.hero-editor-note a{color:var(--green);text-decoration:underline}.hero-search-empty{padding:30px;border:1px solid var(--line);background:#fff}
#page-hero-settings{scroll-margin-top:95px}
@media(min-width:1340px) and (max-width:1510px){.nav-shell{gap:17px;padding-left:3%;padding-right:3%}.desktop-nav{gap:12px}.nav-link{font-size:14px}html[lang=fr] .nav-link{font-size:13px}.site-header .brand-full{width:204px}.nav-cta{padding:13px 15px;font-size:13px;gap:11px}}
@media(max-width:1200px){.page-heroes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.safari-card-content{padding:23px 20px}.safari-card h3{font-size:21px}.safari-card .card-bottom>a.card-details-button{font-size:11px;padding:10px 12px}.section-heading h2{font-size:36px}.starting-grid h3{font-size:25px}}
@media(max-width:1020px){.hero-content .hero-title{font-size:clamp(61px,7.7vw,83px)}.page-hero h1{font-size:clamp(48px,6.5vw,68px)}.feature-row>div{padding:22px 18px}.destination-card h3{font-size:30px}.section-heading{gap:24px}.section-heading h2{font-size:34px}.section-heading .text-link{white-space:normal;max-width:180px}.section-heading p{font-size:14px}.review blockquote{font-size:27px}.day-item{padding:24px}}
@media(max-width:760px){
 .site-header .brand-full{width:218px}.site-header.is-scrolled .brand-full{width:190px}
 .home-hero{height:100svh;min-height:800px}.hero-content{padding-top:clamp(210px,26svh,280px)}.hero-content .hero-title{font-size:clamp(39px,10.2vw,64px);line-height:1.18;letter-spacing:-.045em}.hero-content .hero-accent{line-height:1.16;margin-top:6px}.hero-content .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:24px}.hero-content p{font-size:15px;line-height:1.9;max-width:390px;margin-top:25px}.hero-content .hero-actions .button{font-size:14px}.hero-secondary{font-size:13px}
 .page-hero{height:auto;min-height:100svh;padding:175px 0 122px;display:flex;align-items:center}.page-hero-content{padding-top:35px;padding-bottom:35px}.page-hero h1{font-size:clamp(36px,9.4vw,54px);line-height:1.22;letter-spacing:-.045em;max-width:100%}.page-hero p{font-size:15px;line-height:1.9;max-width:100%;margin-top:23px}.page-hero-content .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:19px}.page-hero-bottom{bottom:27px;align-items:flex-end;gap:16px}.page-hero-bottom .breadcrumb{font-size:10px;max-width:72%;gap:8px}.page-hero-scroll{display:none;margin-right:0}.page-hero-bottom .breadcrumb{max-width:calc(100% - 60px)}.page-hero-scroll>svg{width:19px;height:19px;padding:10px}.hero-content-anchor{scroll-margin-top:115px}
 .section-heading{display:flex;align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.section-heading h2{font-size:31px;line-height:1.3;letter-spacing:-.04em}.section-heading p{font-size:14px;line-height:1.9;margin-top:16px}.section-heading .text-link{margin:0;font-size:13px;max-width:none;white-space:normal}.intro-grid h2{font-size:35px;line-height:1.3}.intro-copy p{font-size:15px}
 .safari-grid{gap:27px}.safari-card-content{padding:25px}.safari-card h3{font-size:23px;line-height:1.45;min-height:0}.safari-card .card-image{aspect-ratio:1.48}.safari-card-content>p{font-size:14px;line-height:1.9;min-height:0;margin:17px 0 23px}.safari-card .card-bottom{gap:12px;padding-top:20px}.safari-card .card-bottom>a.card-details-button{font-size:11px;min-height:45px;padding:11px 14px}.safari-card .card-bottom b{font-size:19px}.safari-card .card-bottom b.on-request{font-size:14px}.safari-card .card-bottom small{font-size:10px}.safari-card .eyebrow{font-size:10px;line-height:1.8}
 .destination-grid,.home-destinations{grid-template-columns:1fr;gap:24px}.destination-card,.home-destinations .destination-card:nth-child(n){min-height:390px}.destination-card>div{left:0;right:0;bottom:0;padding:27px}.destination-card h3,.home-destinations .destination-card:first-child h3{font-size:32px;line-height:1.3}.destination-card p{font-size:14px}.destination-card .image-arrow{bottom:23px;right:23px}
 .article-card h3,.experience-card h2{font-size:24px;line-height:1.4}.article-card>p,.experience-card>p{font-size:14px;line-height:1.9}.guide-card h3{font-size:24px}.guide-card>div{padding:26px}.feature-row{gap:16px;margin-top:33px}.feature-row>div{padding:24px}.feature-row h3{font-size:15px}.feature-row p{font-size:13px}
 .starting-grid h3{font-size:27px;line-height:1.35}.starting-grid>a{padding:28px}.experience-copy h2,.reviews-layout h2,.journey-section h2,.about-grid h2,.contact-layout h2{font-size:34px;line-height:1.3}.experience-copy>p{font-size:15px}.review blockquote{font-size:25px;line-height:1.7}.closing-cta h2{font-size:36px;line-height:1.3}.day-item{padding:23px}.day-item h3{font-size:21px;line-height:1.5}.guide-block h2{font-size:28px;line-height:1.4}.booking-form-panel legend,.contact-form-panel h2,.booking-aside h2{font-size:29px;line-height:1.4}.footer-help-strip .eyebrow{font-size:27px;line-height:1.4}
 .page-heroes-toolbar{align-items:stretch;flex-direction:column;gap:18px}.page-heroes-search{max-width:none}.page-heroes-grid{grid-template-columns:1fr}.admin-page-hero-image{height:210px}
}
@media(max-width:380px){.hero-content .hero-title{font-size:38px}.page-hero h1{font-size:34px}.safari-card-content{padding:23px 21px}.safari-card .card-bottom{align-items:stretch;flex-direction:column}.safari-card .card-bottom>a.card-details-button{width:100%}.section-heading h2{font-size:29px}.safari-card h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.safari-card,.article-card,.experience-card,.guide-card,.destination-card,.starting-grid>a,.button,.card-details-button>svg,.safari-card .card-image>img,.destination-card>img,.article-card .card-image>img,.experience-card .card-image>img,.guide-card .card-image>img{transition:none!important;animation:none!important}.is-awaiting-reveal{opacity:1;translate:none}html{scroll-behavior:auto}}
@media print{.is-awaiting-reveal{opacity:1!important;translate:none!important}.page-hero{min-height:0;padding:50px 0}.page-hero-bottom{display:none}}
