/* Shared footer: a cream brand panel, clear navigation and a Tanzania landscape. */
.site-footer { background: #542006; color: #FAF7EF; font-family: 'Montserrat', sans-serif; border-top: 1px solid rgba(204,145,56,.55); }
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer p { margin: 0; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:focus-visible { outline: 3px solid #CC9138; outline-offset: 5px; border-radius: 2px; }
.site-footer-inner { width: 100%; max-width: 1280px; margin: 0 auto; }
.site-footer-main { position: relative; isolation: isolate; overflow: hidden; padding: 57px 40px 0; }
.site-footer-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-bottom: 35px; border-bottom: 1px solid rgba(250,247,239,.17); }
.site-footer .site-footer-eyebrow { color: #CC9138; font-size: 10px; font-weight: 700; letter-spacing: 2.1px; line-height: 1.4; text-transform: uppercase; }
.site-footer .site-footer-intro h2 { margin: 14px 0 0; color: #FAF7EF; font-family: 'Montserrat', sans-serif; font-size: 31px; font-weight: 800; line-height: 1.25; letter-spacing: 1px; text-transform: uppercase; }
.site-footer-intro-note { flex: 0 1 320px; padding-bottom: 2px; }
.site-footer-note-line { display: block; width: 39px; height: 1px; margin-bottom: 17px; background: #CC9138; }
.site-footer .site-footer-intro-note p { color: #FAF7EF; font-size: 16px; font-weight: 500; line-height: 1.5; }
.site-footer-intro-note > span:last-child { display: block; margin-top: 6px; color: rgba(250,247,239,.75); font-size: 11px; line-height: 1.65; }
.site-footer-content { display: grid; grid-template-columns: 310px minmax(0,1fr); align-items: start; gap: 64px; padding: 40px 0; }
.site-footer-brand-card { min-width: 0; padding: 28px 28px 25px; border-radius: 5px; background: #FAF7EF; color: #302820; box-shadow: 0 12px 24px rgba(0,0,0,.1); }
.site-footer-brand-link { display: inline-block; }
.site-footer-brand-link img { display: block; width: 184px; height: 110px; max-width: 100%; object-fit: contain; }
.site-footer .site-footer-brand-card > p { margin-top: 20px; color: #302820; font-size: 12px; line-height: 1.85; }
.site-footer-brand-detail { display: flex; align-items: center; gap: 8px; margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(84,32,6,.17); color: #464B20; font-size: 10px; font-weight: 600; line-height: 1.6; }
.site-footer-brand-detail svg { flex: 0 0 20px; width: 20px; height: 20px; }
.site-footer-socials { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.site-footer .site-footer-socials a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(70,75,32,.25); border-radius: 3px; color: #464B20; transition: background-color .2s, color .2s, border-color .2s; }
.site-footer .site-footer-socials a:hover { background: #464B20; border-color: #464B20; color: #FFFFFF; }
.site-footer-socials svg { width: 18px; height: 18px; }
.site-footer-navigation { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; padding-top: 15px; }
.site-footer .site-footer-link-group h3 { margin: 0; color: #FAF7EF; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 800; line-height: 1.5; letter-spacing: 1.2px; text-transform: uppercase; }
.site-footer-group-rule { display: block; width: 25px; height: 2px; margin-top: 14px; background: #CC9138; }
.site-footer-link-group ul { display: grid; gap: 14px; margin: 22px 0 0; padding: 0; list-style: none; }
.site-footer-link-group li { min-width: 0; font-size: 12px; line-height: 1.6; }
.site-footer-link-group a, .site-footer-resources a, .site-footer-policies a { background-image: linear-gradient(#CC9138,#CC9138); background-repeat: no-repeat; background-position: left bottom; background-size: 0 1px; padding-bottom: 3px; color: rgba(250,247,239,.86); transition: color .2s, background-size .2s; }
.site-footer-link-group a:hover, .site-footer-resources a:hover, .site-footer-policies a:hover { color: #CC9138; background-size: 100% 1px; }
.site-footer-contact { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr); gap: 28px; padding: 29px 0 32px; border-top: 1px solid rgba(250,247,239,.17); }
.site-footer-contact-item { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.site-footer-contact-item + .site-footer-contact-item { padding-left: 28px; border-left: 1px solid rgba(250,247,239,.17); }
.site-footer-contact-icon { display: grid; flex: 0 0 35px; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(204,145,56,.45); border-radius: 3px; color: #CC9138; }
.site-footer-contact-icon svg { width: 20px; height: 20px; }
.site-footer-contact-item > div { min-width: 0; }
.site-footer .site-footer-contact-item h3, .site-footer .site-footer-practical h3 { margin: 0; color: #CC9138; font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 700; line-height: 1.5; letter-spacing: 1.3px; text-transform: uppercase; }
.site-footer-contact-item a:not(.site-footer-enquiry-link) { display: inline-block; margin-top: 7px; color: #FAF7EF; font-size: 11px; line-height: 1.65; transition: color .2s; }
.site-footer-contact-item a:not(.site-footer-enquiry-link):hover { color: #CC9138; }
.site-footer .site-footer-email { overflow-wrap: anywhere; }
.site-footer-phone-list { display: flex; flex-direction: column; }
.site-footer-phone-list a + a { margin-top: 2px; }
.site-footer .site-footer-contact-item p { margin-top: 7px; color: rgba(250,247,239,.83); font-size: 11px; line-height: 1.65; }
.site-footer .site-footer-enquiry { flex-direction: column; gap: 13px; }
.site-footer .site-footer-enquiry-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 38px; padding: 10px 14px; border: 1px solid rgba(204,145,56,.7); border-radius: 2px; color: #FAF7EF; font-size: 9px; font-weight: 800; line-height: 1.4; letter-spacing: .7px; text-transform: uppercase; transition: color .2s, background-color .2s; }
.site-footer-enquiry-link svg { width: 16px; height: 16px; color: #CC9138; }
.site-footer .site-footer-enquiry-link:hover { background: #CC9138; color: #542006; }
.site-footer-enquiry-link:hover svg { color: #542006; }
.site-footer-bottom { padding: 25px 40px 110px; background: rgba(0,0,0,.12); border-top: 1px solid rgba(250,247,239,.12); }
.site-footer-practical { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding-right: 85px; }
.site-footer-resources > div { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 10px; font-size: 10px; line-height: 1.8; }
.site-footer-resources span { color: #CC9138; }
.site-footer-payments { display: flex; align-items: center; gap: 17px; }
.site-footer-payment-marks { display: flex; flex-wrap: wrap; gap: 6px; }
.site-footer-payment-marks > span { display: grid; width: 63px; height: 36px; place-items: center; overflow: hidden; padding: 4px 7px; border: 1px solid rgba(250,247,239,.4); border-radius: 3px; background: #FAF7EF; }
.site-footer-payment-marks img { display: block; max-width: 100%; max-height: 26px; object-fit: contain; }
.site-footer-fineprint { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 21px 85px 0 0; margin-top: 22px; border-top: 1px solid rgba(250,247,239,.12); }
.site-footer .site-footer-fineprint p { margin-left: 70px; color: rgba(250,247,239,.74); font-size: 10px; line-height: 1.8; }
.site-footer-policies { display: flex; flex-wrap: wrap; gap: 18px; font-size: 10px; line-height: 1.8; }
.site-footer .site-footer-back-top { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; color: #FAF7EF; font-size: 9px; font-weight: 600; line-height: 1.5; letter-spacing: .7px; text-transform: uppercase; }
.site-footer-back-top svg { width: 14px; height: 14px; color: #CC9138; transition: transform .2s; }
.site-footer-back-top:hover svg { transform: translateY(-3px); }
@media (max-width: 1099px) {
    .site-footer-main { padding: 47px 28px 0; }
    .site-footer-content { grid-template-columns: 270px minmax(0,1fr); gap: 36px; }
    .site-footer-brand-card { padding: 25px; }
    .site-footer-navigation { gap: 20px; }
    .site-footer .site-footer-intro h2 { font-size: 28px; }
    .site-footer-contact { gap: 20px; }
    .site-footer-contact-item + .site-footer-contact-item { padding-left: 20px; }
    .site-footer-payments { align-items: flex-start; flex-direction: column; gap: 10px; }
    .site-footer-bottom { padding-right: 28px; padding-left: 28px; }
}
@media (max-width: 899px) {
    .site-footer-intro { align-items: flex-start; flex-direction: column; gap: 24px; }
    .site-footer-intro-note { flex-basis: auto; }
    .site-footer-content { grid-template-columns: minmax(0,1fr); gap: 32px; }
    .site-footer-brand-card { display: grid; grid-template-columns: 190px minmax(0,1fr); column-gap: 30px; }
    .site-footer-brand-link { grid-row: 1 / 4; align-self: center; }
    .site-footer .site-footer-brand-card > p { margin-top: 0; }
    .site-footer-brand-detail { margin-top: 14px; padding-top: 12px; }
    .site-footer-socials { margin-top: 12px; }
    .site-footer-navigation { padding-top: 0; gap: 30px; }
    .site-footer-contact { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .site-footer .site-footer-enquiry { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; padding: 20px 0 0; border-left: 0; border-top: 1px solid rgba(250,247,239,.17); }
}
@media (max-width: 599px) {
    .site-footer-main { padding: 41px 22px 0; }
    .site-footer .site-footer-intro h2 { font-size: 24px; line-height: 1.3; letter-spacing: .4px; }
    .site-footer-intro { gap: 23px; padding-bottom: 28px; }
    .site-footer-intro-note { padding-bottom: 0; }
    .site-footer-note-line { margin-bottom: 12px; }
    .site-footer .site-footer-intro-note p { font-size: 14px; }
    .site-footer-intro-note > span:last-child { font-size: 10px; }
    .site-footer-content { gap: 30px; padding: 28px 0; }
    .site-footer-brand-card { display: block; padding: 26px; }
    .site-footer-brand-link img { width: 174px; height: 105px; }
    .site-footer .site-footer-brand-card > p { margin-top: 17px; }
    .site-footer-brand-detail { margin-top: 17px; padding-top: 15px; }
    .site-footer-socials { margin-top: 15px; }
    .site-footer-navigation { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 28px; column-gap: 20px; }
    .site-footer-link-group:last-child { grid-column: 1 / -1; }
    .site-footer-link-group:last-child ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 20px; }
    .site-footer .site-footer-link-group h3 { font-size: 10px; letter-spacing: .6px; }
    .site-footer-link-group li { font-size: 11px; }
    .site-footer-link-group ul { margin-top: 17px; gap: 12px; }
    .site-footer-group-rule { margin-top: 11px; }
    .site-footer-contact { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 25px 0 29px; }
    .site-footer-contact-item + .site-footer-contact-item { padding-left: 0; border-left: 0; }
    .site-footer .site-footer-enquiry { grid-column: auto; align-items: flex-start; flex-direction: column; gap: 14px; }
    .site-footer-contact-item a:not(.site-footer-enquiry-link) { font-size: 12px; }
    .site-footer-bottom { padding: 25px 22px 110px; }
    .site-footer-practical { flex-direction: column; gap: 24px; padding-right: 0; }
    .site-footer-payments { gap: 12px; }
    .site-footer-payment-marks > span { width: 60px; }
    .site-footer-fineprint { align-items: flex-start; flex-direction: column; gap: 10px; padding: 18px 0 0; }
    .site-footer .site-footer-fineprint p { max-width: calc(100% - 116px); margin-left: 58px; font-size: 9px; }
    .site-footer-policies { gap: 14px; font-size: 9px; }
    .site-footer .site-footer-back-top { align-self: center; }
}
@media (prefers-reduced-motion: reduce) {
    .site-footer a, .site-footer-back-top svg { transition: none; }
    .site-footer-back-top:hover svg { transform: none; }
}
