/* Vanquish Safaris: B Hudson brand skin (logo palette, theme fonts) */
.safari-template{--bh-serif:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;--bh-sans:system-ui,Segoe UI,Roboto,Arial,sans-serif;--sea:#1B8FD2;--sea-d:#0B4F7A;--deep:#082B44;--palm:#2D6A35;--sun:#E8A317;--tint:#EEF6FA;font-family:var(--bh-sans);font-size:16px;color:#231A14;background:var(--tint)}
.safari-template h1,.safari-template h2,.safari-template h3{font-family:var(--bh-serif);color:var(--deep)}
.safari-hero{height:calc(100svh - 110px);min-height:520px;background-color:var(--deep)}
.safari-hero-overlay{background:linear-gradient(180deg,rgba(8,43,68,.2),rgba(8,43,68,.5) 55%,rgba(8,43,68,.92))}
.safari-hero::after{content:'';position:absolute;z-index:1;left:0;right:0;bottom:-1px;height:70px;background:url('data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 80%27 preserveAspectRatio=%27none%27><path fill=%27%23EEF6FA%27 d=%27M0 40c180 40 360 40 540 0s360-40 540 0 270 30 360 10v30H0z%27/></svg>') center/100% 100% no-repeat}
.safari-hero-content{padding-bottom:96px}
.safari-template .safari-hero-title{font-size:clamp(2rem,5vw,3.6rem);font-weight:600;letter-spacing:0;line-height:1.1;color:#fff}
.bh-chip{display:inline-block;padding:6px 14px;margin:6px 8px 0 0;border:1px solid rgba(255,255,255,.5);border-radius:99px;font-size:.85rem;background:rgba(255,255,255,.12);backdrop-filter:blur(4px)}
.safari-hero-meta{background:rgba(8,43,68,.55);backdrop-filter:blur(8px);padding:18px 26px;border-radius:16px;border-top:3px solid var(--sun)}
.safari-meta-value{font-family:var(--bh-serif);color:#FFD770}
.safari-navigation{top:var(--bh-hh,0px);z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.safari-nav-menu a{font-family:var(--bh-sans);color:var(--deep)}
.safari-nav-menu a:hover,.safari-nav-menu a.active{color:var(--sea-d);border-bottom-color:var(--sun)}
.bh-prog{position:absolute;left:0;bottom:-1px;width:100%;height:3px;background:linear-gradient(90deg,var(--sea),var(--palm),var(--sun));transform-origin:0 50%;transform:scaleX(var(--bh-p,0))}
.safari-section h2{font-weight:600;letter-spacing:0}
.safari-section h2::after{content:'';display:block;width:64px;height:4px;margin-top:12px;border-radius:4px;background:linear-gradient(90deg,var(--sun),var(--palm))}
.safari-summary-box{background:#fff;border-radius:16px;border-left:4px solid var(--sun);box-shadow:0 10px 30px rgba(8,43,68,.07)}
div.safari-highlights{display:block}
ul.safari-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:18px}
ul.safari-highlights li{background:#fff;padding:18px 18px 18px 60px;border-radius:14px;border:1px solid #d3e4ee;box-shadow:0 6px 18px rgba(8,43,68,.05);transition:transform .25s,box-shadow .25s}
ul.safari-highlights li:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(8,43,68,.12)}
ul.safari-highlights li:before{content:'\2713';left:16px;top:16px;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;background:var(--palm);color:#fff;font-size:15px}
#itinerary{position:relative}
#itinerary::before,#itinerary::after{content:'';position:absolute;left:6px;top:96px;bottom:24px;width:3px;border-radius:3px}
#itinerary::before{background:linear-gradient(var(--palm),var(--sea));opacity:.22}
#itinerary::after{background:var(--sun);transform-origin:50% 0;transform:scaleY(var(--bh-fill,0))}
.safari-itinerary-day{position:relative;margin-left:34px;border-radius:14px;border-color:#d3e4ee;box-shadow:0 6px 18px rgba(8,43,68,.06)}
.safari-itinerary-day::before{content:'';position:absolute;left:-34px;top:22px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--sun);z-index:1}
.safari-day-header{background:#fff;color:var(--deep);font-family:var(--bh-serif);font-size:1.05rem}
.safari-day-header:hover,.safari-day-header:focus-visible{background:var(--tint);outline:0}
.safari-accommodation-tag{background:var(--tint);color:var(--sea-d);border-radius:99px}
.safari-meal-badge{background:#fdf3d6;color:#8a5a00;border-radius:99px}
.safari-accommodation-card{border-radius:16px;border-color:#d3e4ee;box-shadow:0 6px 18px rgba(8,43,68,.06)}
.safari-accommodation-image{transition:transform .8s}.safari-accommodation-card:hover .safari-accommodation-image{transform:scale(1.06)}
.safari-accommodation-info::before{content:'';display:block;height:5px;margin:-20px -20px 16px;background:linear-gradient(90deg,var(--sea),var(--palm),var(--sun))}
.safari-accommodation-name{font-family:var(--bh-serif);color:var(--deep)}
.safari-pricing-table{border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(8,43,68,.08)}
.safari-pricing-table th{background:var(--deep);color:#fff;border-bottom:0}
.safari-pricing-table td:first-child{font-weight:600;color:var(--deep)}
.safari-pricing-table td:nth-child(2),.safari-pricing-table td:nth-child(3){color:var(--palm)}
.safari-pricing-table tbody tr:hover{background:var(--tint)}
.inclusions-box,.exclusions-box{background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(8,43,68,.05)}
.inclusions-box{border-left-color:var(--palm)}.inclusions-box h3{color:var(--palm)}
.exclusions-box{border-left-color:#9a5b13}.exclusions-box h3{color:#9a5b13}
.inclusions-box ul,.exclusions-box ul{list-style:none;padding:0}
.inclusions-box li,.exclusions-box li{position:relative;padding-left:28px}
.inclusions-box li::before,.exclusions-box li::before{content:'\2713';position:absolute;left:0;font-weight:700;color:var(--palm)}
.exclusions-box li::before{content:'\2715';color:#9a5b13}
.safari-cta-box{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(160deg,var(--deep),var(--sea-d))}
.safari-cta-box::before{content:'';position:absolute;right:-50px;top:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,#FFD770,#E8A317 60%,transparent 70%);opacity:.5}
.safari-cta-box>*{position:relative}
.safari-cta-box h2{font-family:var(--bh-serif);color:#fff}
.safari-cta-button{background:var(--sun);color:var(--deep);border-radius:99px}
.safari-cta-button:hover{background:#FFD770}
.safari-contact-info strong{color:#FFD770}
.safari-trust-badge{border-radius:18px;border-color:#d3e4ee}.safari-trust-badge .stars{color:var(--sun)}
.safari-sticky-sidebar{top:calc(var(--bh-hh,0px) + 80px)}
.bh-fab{display:none;position:fixed;left:16px;right:84px;bottom:16px;z-index:60;padding:14px;text-align:center;border-radius:99px;background:var(--sun);color:var(--deep);font-weight:700;text-decoration:none;box-shadow:0 12px 30px rgba(8,43,68,.35);transform:translateY(140%);transition:transform .3s}
.bh-fab.on{transform:none}
@media (max-width:900px){.bh-fab{display:block}.safari-hero{height:80svh}}
.bh-js .bh-rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--bd,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--bd,0s)}
.bh-js .bh-rv.bh-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.bh-js .bh-rv{opacity:1;transform:none;transition:none}.safari-accommodation-image,.bh-fab{transition:none}}