/* The homepage design system, shared by all public website pages. */
.home-navigation-trigger.is-active, .home-mobile-navigation .is-active { color: #464B20; }
.home-navigation-trigger.is-active { text-decoration: underline; text-decoration-color: #CC9138; text-decoration-thickness: 2px; text-underline-offset: 9px; }
#main-header.home-header { border: 0 !important; box-shadow: 0 1px 0 rgba(84,32,6,.1) !important; }
#main-header.home-header.is-scrolled { box-shadow: 0 6px 20px rgba(84,32,6,.09) !important; }
.site-content { min-width: 0; }
.site-content--page { background: #FAF7EF; color: #302820; font-family: 'Montserrat', sans-serif; font-size: 14px; line-height: 1.8; }
.site-content--page h1, .site-content--page h2, .site-content--page h3, .site-content--page h4, .site-content--page h5, .site-content--page h6,
.site-content--page .font-heading, .site-content--page .font-serif { font-family: 'Montserrat', sans-serif !important; }
.site-content--page h1 { font-size: clamp(29px,3.4vw,46px) !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: 1px; text-transform: uppercase; text-wrap: balance; }
.site-content--page h2 { font-size: 21px !important; font-weight: 800 !important; line-height: 1.45 !important; letter-spacing: 1.35px; text-transform: uppercase; }
.site-content--page h3 { font-size: 18px !important; font-weight: 700 !important; line-height: 1.45 !important; }
.site-content--page h4 { font-size: 15px !important; font-weight: 700 !important; line-height: 1.5 !important; }
.site-content--page p:where(:not([class*="text-"])) { font-size: 14px; line-height: 1.85; }
.site-content--page :is(p,li)[class*="text-lg"], .site-content--page :is(p,li)[class*="text-xl"],
.site-content--page :is(p,li)[class*="text-base"], .site-content--page .blog-content, .site-content--page .blog-content p,
.site-content--page .dest-prose p, .site-content--page .dest-prose li, .site-content--page .kwa-legal-page p, .site-content--page .kwa-legal-page li { font-size: 14px !important; line-height: 1.85 !important; }
.site-content--page :is(.blog-content,.dest-prose,.kwa-legal-page) { color: #302820; }
.site-content--page :is(.blog-content,.dest-prose,.kwa-legal-page) :is(p,li) { color: #302820; }
.site-content--page :is(.blog-content,.dest-prose,.kwa-legal-page) a { color: #464B20; text-decoration-color: #CC9138; text-underline-offset: 4px; }
.site-content--page :is(.blog-content,.dest-prose,.kwa-legal-page) strong { color: #542006; font-weight: 700; }
.site-content--page section { scroll-margin-top: calc(var(--home-header-height) + 28px); }
.site-content--page .site-page-hero { position: relative; min-height: 440px; overflow: hidden; background-color: #542006; }
.site-content--page .site-page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.site-content--page .site-page-hero h1 { color: #FFFFFF; }
.site-content--page .site-page-hero :is(p,li) { color: #FAF7EF; font-size: 15px !important; line-height: 1.7 !important; }
.site-content--page .site-page-hero p[class*="uppercase"] { font-size: 12px !important; font-weight: 600; letter-spacing: 2px; }
.site-content--page .site-page-hero::after { content: ''; position: absolute; inset: 0 0 auto; z-index: 1; height: 58px; background: url('../img/hero/peaks-pattern.svg') repeat-x top left / 156px 64px; opacity: .14; mask-image: linear-gradient(#000,transparent); pointer-events: none; }
.site-content--page .experience-hero { display: flex; align-items: center; max-width: none; margin: 0; padding: 0; }
.site-content--page .experience-hero-images { position: absolute; inset: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
.site-content--page .experience-hero-images img { width: 100%; height: 100%; border-radius: 0; object-fit: cover; }
.site-content--page .experience-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.65)); }
.site-content--page .experience-hero-copy { position: relative; z-index: 2; max-width: 950px; margin: 0 auto; padding: 70px 28px; }
.site-content--page .experience-hero-copy p { margin-right: auto; margin-left: auto; }
.site-content--page section[class~="bg-brand-dark"] > div > h2, .site-content--page section[class~="bg-[#542006]"] > div > h2 { color: #FAF7EF; }
.site-content--page .site-eyebrow { color: #464B20; font-size: 28px !important; font-weight: 400 !important; line-height: 1.4 !important; letter-spacing: 2.6px !important; text-transform: uppercase; }
.site-content--page .site-page-hero .site-eyebrow { color: #FAF7EF; font-size: 14px !important; }
.site-content--page .site-section-heading h2::after { content: ''; display: block; width: 48px; height: 1px; margin: 17px auto 0; background: #CC9138; }
.site-content--page .site-section-heading:not([class*="text-center"]) h2::after { margin-left: 0; }
.site-content--page :is(a,button)[class~="bg-[#542006]"], .site-content--page :is(a,button)[class~="bg-brand-green"],
.site-content--page :is(a,button)[class~="bg-brand-primary"], .site-content--page :is(a,button)[class~="bg-brand-dark"],
.site-content--page :is(.activity-quote-button,.activity-related-action,.activity-sticky-button--plan,.package-quote-button,.package-sticky-button--book,.stay-link--solid,.contact-planner-submit,.planner-submit) {
    min-height: 44px; padding: 13px 22px; border-radius: 3px; background: #542006; color: #FFFFFF; font-family: 'Montserrat', sans-serif; font-size: 11px !important; font-weight: 800 !important; line-height: 1.5; letter-spacing: .7px; text-align: center; text-decoration: none; text-transform: uppercase; transition: background .2s, color .2s;
}
.site-content--page :is(a,button)[class~="bg-[#542006]"]:hover, .site-content--page :is(a,button)[class~="bg-brand-green"]:hover,
.site-content--page :is(a,button)[class~="bg-brand-primary"]:hover, .site-content--page :is(a,button)[class~="bg-brand-dark"]:hover,
.site-content--page :is(.activity-quote-button,.activity-related-action,.activity-sticky-button--plan,.package-quote-button,.package-sticky-button--book,.stay-link--solid,.contact-planner-submit,.planner-submit):hover { background: #464B20; color: #FFFFFF; }
.site-content--page :is(a,button)[class~="bg-[#CC9138]"], .site-content--page :is(a,button)[class~="bg-brand-gold"], .site-content--page .type-cta-link {
    min-height: 44px; padding: 13px 22px; border-radius: 3px; background: #CC9138; color: #542006; font-size: 11px !important; font-weight: 800 !important; line-height: 1.5; letter-spacing: .7px; text-transform: uppercase;
}
.site-content--page :is(a,button)[class~="bg-[#CC9138]"]:hover, .site-content--page :is(a,button)[class~="bg-brand-gold"]:hover, .site-content--page .type-cta-link:hover { background: #464B20; color: #FFFFFF; }
.site-content--page :is(a,button)[class~="bg-[#464B20]"] { border-radius: 3px; color: #FFFFFF; font-size: 11px !important; font-weight: 700 !important; }
.site-content--page a:focus-visible, .site-content--page button:focus-visible, .site-content--page summary:focus-visible { outline: 3px solid #CC9138; outline-offset: 4px; }
.site-content--page :is(.kwa-listing-card,.kwa-popular-tour-card,.wildtopeaks-blog-card,.experience-card,.type-safari-card,.package-related-card,.activity-related-card,.activity-other-card,.wildtopeaks-stay-type-card) {
    border: 1px solid rgba(84,32,6,.12); border-radius: 6px; box-shadow: 0 6px 16px rgba(84,32,6,.07);
}
.site-content--page :is(.kwa-listing-card,.kwa-popular-tour-card,.wildtopeaks-blog-card,.experience-card,.type-safari-card,.package-related-card,.activity-related-card,.activity-other-card,.wildtopeaks-stay-type-card):hover {
    transform: translateY(-4px); border-color: rgba(204,145,56,.6); box-shadow: 0 14px 26px rgba(84,32,6,.12);
}
.site-content--page :is(.kwa-listing-card__body,.activity-related-details) { padding: 23px 24px; background: #FFFFFF; }
.site-content--page .kwa-listing-card__body h3 { font-size: 18px !important; }
.site-content--page :is(.kwa-listing-card__body p,.activity-related-details p) { color: #302820; font-size: 13px !important; line-height: 1.8 !important; }
.site-content--page .kwa-listing-card__link { color: #542006; font-size: 10px; font-weight: 800; letter-spacing: .7px; }
.site-content--page :is(.kwa-tour-photo,.package-related-photo) { border-radius: 6px 6px 0 0; }
.site-content--page :is(.kwa-tour-details,.package-related-details) { width: 100%; margin: 0; border-radius: 0 0 6px 6px; box-shadow: none; }
.site-content--page :is(.package-quote-card,.activity-quote-card) { border: 1px solid rgba(84,32,6,.12); border-radius: 6px; box-shadow: 0 6px 18px rgba(84,32,6,.08); }
.site-content--page :is(.package-gallery-main,.package-gallery-thumb,.package-fact-panel,.package-packing-card,.package-visa-card,.package-price-card,.package-route-card,.activity-fact-panel,.activity-inclusion-item,.activity-highlight,.stay-gallery-frame,.stay-location-panel,.stay-portrait-main,.stay-portrait-note,.stay-snapshot-title,.stay-stat) { border-radius: 6px; }
.site-content--page .stay-link { border-radius: 3px; }
.site-content--page :is(.experience-hero-images img,.activity-gallery-main,.activity-gallery-thumb,.stay-intro-photo,.type-intro-photo,.wildtopeaks-accommodation-row,.kili-route-card) { border-radius: 6px; }
.site-content--page .experience-hero .experience-hero-images img { border-radius: 0; }
.site-content--page :is(div,article,a,figure,img)[class*="rounded-2xl"], .site-content--page :is(div,article,a,figure,img)[class*="rounded-3xl"] { border-radius: 6px; }
.site-content--page :is(.planner-form-card,.contact-planner-card) { margin-top: 40px; border: 1px solid rgba(84,32,6,.12); border-radius: 6px; box-shadow: 0 6px 18px rgba(84,32,6,.08); }
.site-content--page .site-form-card { padding: clamp(24px,4vw,40px); border: 1px solid rgba(84,32,6,.12); border-radius: 6px; background: #FFFFFF; box-shadow: 0 6px 18px rgba(84,32,6,.08); }
.site-content--page .site-form-card :is(input,select,textarea) { border-radius: 3px; font-family: 'Montserrat', sans-serif; }
.site-content--page :is(.planner-intro,.contact-planner-intro) { padding-top: 32px; padding-bottom: 28px; }
.site-content--page :is(.planner-intro h2,.contact-planner-intro h2) { color: #542006; }
.site-content--page :is(.planner-intro p,.contact-planner-intro p) { color: #302820; font-size: 14px; line-height: 1.8; }
.site-content--page :is(.planner-section,.contact-planner-section) h3 { font-size: 16px !important; font-weight: 700 !important; }
.site-content--page :is(.planner-field,.contact-planner-field) :is(input,select,textarea) { border-radius: 3px; font-family: 'Montserrat', sans-serif; font-size: 13px; }
.site-content--page :is(.planner-pill span,.contact-topic-choice,.planner-interest) { border-radius: 3px; }
.site-content--page :is(.package-tabs,.activity-detail-tabs).is-fixed { top: var(--home-header-height); }
.site-content--page :is(.stay-intro-copy,.type-intro-copy) h2 { font-size: 26px !important; color: #542006; }
.site-content--page .safari-catalogue h1 { font-size: 25px !important; }
.site-content--page .safari-catalogue h2 { letter-spacing: inherit; }
.site-content--page .safari-reasons-title h2 { font-size: 41px !important; font-weight: 400 !important; line-height: 1.2 !important; }
.site-content--page .safari-journey-photo h3 { font-size: 16px !important; font-weight: 800 !important; }
.site-content--page .safari-reasons-list h3 { font-size: 12px !important; font-weight: 800 !important; }
.site-content--page .safari-review-author h3 { font-size: 12px !important; }
.site-content--page .safari-planning-strip h2 { font-size: 14px !important; }
.site-content--page .safari-guide-card h3 { font-size: 19px !important; font-weight: 500 !important; }
@media (max-width: 1023px) {
    .site-content--page .safari-reasons-title h2 { font-size: 36px !important; }
}
@media (max-width: 639px) {
    .site-content--page h1 { font-size: 28px !important; letter-spacing: .4px; }
    .site-content--page h2 { font-size: 18px !important; letter-spacing: .9px; }
    .site-content--page h3 { font-size: 16px !important; }
    .site-content--page .site-page-hero { min-height: 370px; }
    .site-content--page .site-page-hero :is(p,li) { font-size: 14px !important; }
    .site-content--page .site-eyebrow { font-size: 23px !important; letter-spacing: 2px !important; }
    .site-content--page :is(.stay-intro-copy,.type-intro-copy) h2 { font-size: 22px !important; }
    .site-content--page .safari-catalogue h1 { font-size: 21px !important; }
    .site-content--page .safari-reasons-title h2 { font-size: 29px !important; }
    .site-content--page :is(.planner-form-card,.contact-planner-card) { margin-top: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-content--page :is(a,button,img) { transition: none !important; }
}
