:root{--brown:#7A4E2D;--sand:#F4E6D0;--cream:#FFF8EF;--green:#1F4D36;--orange:#D9822B;--charcoal:#1E1E1E;--muted:#666;--white:#fff;--radius:20px;--shadow:0 18px 45px rgba(0,0,0,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Poppins,Arial,sans-serif;color:var(--charcoal);line-height:1.6;background:var(--white)}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.08)}.nav-wrapper{min-height:76px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:900;color:var(--green);font-size:1.1rem}.logo span{color:var(--brown)}.nav{display:flex;gap:1.05rem;align-items:center;font-size:.94rem}.nav a{font-weight:800}.nav-cta{background:var(--orange);color:white;padding:.7rem 1rem;border-radius:999px}.nav-toggle{display:none;border:0;background:var(--green);color:white;padding:.6rem .8rem;border-radius:10px;font-size:1.1rem}.hero,.page-hero{display:flex;align-items:center;color:white;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.36)),url('assets/elephants_safari.jpg') center/cover}.hero{min-height:720px}.page-hero{min-height:520px;background-image:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.32)),url('assets/game_drive_lion.jpg')}.hero-content,.page-hero-content{max-width:820px;padding:6rem 0}.eyebrow{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem}.eyebrow.light{color:#F7C477}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.1;margin:0 0 1rem}h1{font-size:clamp(2.4rem,6vw,5rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.35rem}.hero p,.page-hero p{font-size:1.1rem;max-width:720px}.hero-actions,.contact-buttons,.package-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.25rem;border-radius:999px;font-weight:900;border:0;cursor:pointer}.primary{background:var(--orange);color:white}.secondary{background:white;color:var(--green)}.secondary-dark{background:var(--green);color:white}.light-btn{background:white;color:var(--green)}.section{padding:5rem 0}.bg-sand{background:var(--sand)}.bg-cream{background:var(--cream)}.bg-green{background:var(--green);color:white}.trust-strip{padding:1.5rem 0;background:var(--green);color:white}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.trust-grid div{padding:1rem;border-left:1px solid rgba(255,255,255,.25)}.trust-grid strong,.trust-grid span{display:block}.trust-grid span{opacity:.82;font-size:.9rem}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.check-list{padding:0;list-style:none;display:grid;gap:.75rem;margin:1.5rem 0}.check-list li:before{content:'✓';color:var(--orange);font-weight:900;margin-right:.55rem}.image-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.image-card img{height:470px;width:100%;object-fit:cover}.section-heading{text-align:center;max-width:800px;margin:0 auto 2.5rem}.cards,.package-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card img{height:240px;width:100%;object-fit:cover}.card-body{padding:1.3rem}.card p{color:var(--muted)}.center{text-align:center;margin-top:2rem}.service-list{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.service-list span,.tag,.package-meta span{background:var(--sand);color:var(--brown);padding:.55rem .8rem;border-radius:999px;font-weight:800;font-size:.86rem}.airport-box,.price-note,.quote-box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:2rem}.price-note{background:white;color:var(--charcoal);box-shadow:var(--shadow)}.price{font-size:1.1rem;font-weight:900;color:var(--green);margin:.8rem 0 1rem}.package-grid{display:grid;gap:2rem}.package-card{display:grid;grid-template-columns:.95fr 1.25fr;background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.package-card img{width:100%;height:100%;min-height:410px;object-fit:cover}.package-content{padding:2rem}.package-meta{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}.package-content ul{padding-left:1.2rem}.inclusions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.inclusion-card{background:white;padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow)}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem}.gallery img{height:220px;width:100%;object-fit:cover;border-radius:16px}.video-box{margin-top:2rem;background:var(--sand);padding:1.5rem;border-radius:var(--radius)}.video-box video{width:100%;max-height:560px;border-radius:16px;background:#000}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.steps div{background:white;border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow)}.steps span{display:inline-flex;height:42px;width:42px;align-items:center;justify-content:center;border-radius:50%;background:var(--orange);color:white;font-weight:900;margin-bottom:1rem}.contact-detail-list{margin-top:1.4rem;background:var(--sand);border-radius:16px;padding:1rem 1.2rem;color:var(--charcoal)}.contact-detail-list p{margin:.35rem 0}.contact-detail-list a{color:var(--green);font-weight:900}.contact-form{background:white;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:1rem}.contact-form label{display:grid;gap:.35rem;font-weight:800}input,select,textarea{width:100%;padding:.9rem 1rem;border:1px solid #ddd;border-radius:12px;font:inherit}textarea{min-height:130px}.full{width:100%}.site-footer{background:#151515;color:white;padding-top:3rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:2rem}.footer-grid a{display:block;margin:.4rem 0;opacity:.85}.footer-grid p{opacity:.85}.footer-bottom{text-align:center;padding:1rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.12);opacity:.75}@media(max-width:1000px){.gallery{grid-template-columns:repeat(2,1fr)}.trust-grid,.cards,.steps,.package-preview-grid,.inclusions-grid{grid-template-columns:repeat(2,1fr)}.package-card{grid-template-columns:1fr}.package-card img{min-height:300px}}@media(max-width:820px){.nav-toggle{display:block}.nav{position:absolute;top:76px;left:0;right:0;background:white;color:var(--charcoal);display:none;flex-direction:column;padding:1rem;border-bottom:1px solid rgba(0,0,0,.08)}.nav.open{display:flex}.two-column,.cards,.steps,.footer-grid,.trust-grid,.package-preview-grid,.inclusions-grid{grid-template-columns:1fr}.hero{min-height:620px}.image-card img{height:330px}}@media(max-width:560px){.section{padding:3.5rem 0}.hero-actions,.contact-buttons,.package-actions{flex-direction:column}.btn{width:100%}.gallery{grid-template-columns:1fr}.gallery img{height:260px}.package-content{padding:1.3rem}}

/* =========================================================
   MOBILE PACKAGE CARD FIX
   This forces safari packages to show the image separately
   and the words underneath on phones/tablets.
   ========================================================= */

.package-card {
  background: #ffffff !important;
}

.package-card img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  z-index: 1 !important;
}

.package-content {
  display: block !important;
  position: static !important;
  z-index: 2 !important;
  background: #ffffff !important;
  color: #1E1E1E !important;
}

.package-content h3,
.package-content p,
.package-content li,
.package-content strong {
  color: #1E1E1E !important;
}

.package-content .price {
  color: #1F4D36 !important;
}

@media (max-width: 900px) {
  .package-card {
    display: block !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }

  .package-card img {
    height: 260px !important;
    object-fit: cover !important;
  }

  .package-content {
    padding: 1.35rem !important;
  }

  .package-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.6rem !important;
    margin-bottom: 1rem !important;
  }

  .package-meta span {
    background: #F4E6D0 !important;
    color: #7A4E2D !important;
  }

  .package-content h3 {
    font-size: 1.75rem !important;
    line-height: 1.1 !important;
  }

  .package-actions .btn,
  .package-content .btn {
    width: 100% !important;
    margin-top: 1rem !important;
  }
}


/* Added rental fleet and airport vehicle sections */
.fleet-intro { margin-bottom: 2rem; }
.fleet-grid {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:1.4rem;
}
.fleet-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.fleet-card > img {
  width:100%;
  height:260px;
  object-fit:cover;
}
.fleet-card-body { padding:1.2rem; }
.fleet-card-body p { color: var(--muted); }
.mini-gallery {
  display:grid;
  gap:0.8rem;
  margin-top: 1rem;
}
.mini-gallery img {
  width:100%;
  border-radius: 14px;
  object-fit:cover;
}
.two-up { grid-template-columns: repeat(2, 1fr); }
.two-up img { height:170px; }
.three-up { grid-template-columns: repeat(3, 1fr); }
.three-up img { height:220px; }
.note-row { margin-top: 1.4rem; }
.fleet-note {
  background: var(--sand);
  color: var(--brown);
  padding: 1rem 1.2rem;
  border-radius: 16px;
  font-weight: 700;
}
.airport-layout { margin-bottom: 2rem; }
.light-card { background: rgba(255,255,255,0.08); }
.airport-highlights {
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 2rem;
  align-items: start;
}
.airport-feature-box {
  background: rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.18);
  border-radius: var(--radius);
  padding: 1.5rem;
}
.airport-feature-box h3 { margin-bottom: 0.6rem; }
.airport-feature-box ul { margin: 0; padding-left: 1.2rem; }
.airport-feature-box li { margin-bottom: 0.35rem; }
.white-frame {
  background: rgba(255,255,255,0.08);
  padding: 1rem;
  border-radius: var(--radius);
}
.gallery-mixed {
  grid-template-columns: repeat(4, 1fr);
}
.gallery-mixed img { height: 230px; }

@media (max-width: 1000px) {
  .fleet-grid,
  .airport-highlights,
  .gallery-mixed { grid-template-columns: repeat(2, 1fr); }
  .three-up { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .fleet-grid,
  .airport-highlights,
  .gallery-mixed,
  .two-up,
  .three-up { grid-template-columns: 1fr; }
  .fleet-card > img { height: 250px; }
  .two-up img,
  .three-up img { height: 220px; }
}


/* Land Cruiser update + stronger mobile fleet layout */
@media (min-width: 1001px) {
  .fleet-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1200px) and (min-width: 1001px) {
  .fleet-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* Blog pages */
.blog-hero {
  min-height: 460px;
  display: flex;
  align-items: center;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(0,0,0,0.76), rgba(0,0,0,0.35)),
    url("assets/lake_view_uganda.jpg") center/cover;
}

.blog-grid,
.blog-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.4rem;
}

.blog-card,
.blog-mini-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.blog-card img {
  height: 280px;
  width: 100%;
  object-fit: cover;
}

.blog-card-body {
  padding: 1.4rem;
}

.blog-category {
  color: var(--orange);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
}

.blog-mini-card {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: stretch;
}

.blog-mini-card img {
  height: 100%;
  min-height: 220px;
  width: 100%;
  object-fit: cover;
}

.blog-mini-card div {
  padding: 1.2rem;
}

.blog-mini-card a {
  color: var(--green);
  font-weight: 900;
}

.article-page {
  padding: 5rem 0;
  background: var(--cream);
}

.article-container {
  max-width: 900px;
}

.article-intro {
  font-size: 1.15rem;
  color: var(--muted);
}

.article-featured-image {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin: 2rem 0;
}

.article-content {
  background: var(--white);
  border-radius: var(--radius);
  padding: 2rem;
  box-shadow: var(--shadow);
}

.article-content h2 {
  font-size: 2rem;
  margin-top: 2rem;
}

.article-cta {
  margin-top: 2rem;
  background: var(--green);
  color: var(--white);
  border-radius: var(--radius);
  padding: 2rem;
}

.article-cta p {
  opacity: 0.9;
}

.back-link {
  margin-top: 1.5rem;
  font-weight: 900;
  color: var(--green);
}

@media (max-width: 900px) {
  .blog-grid,
  .blog-preview-grid,
  .blog-mini-card {
    grid-template-columns: 1fr;
  }

  .blog-card img,
  .blog-mini-card img {
    height: 240px;
    min-height: 0;
  }

  .article-content {
    padding: 1.25rem;
  }
}


/* Contact page */
.contact-hero {
  min-height: 460px;
  display: flex;
  align-items: center;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(0,0,0,0.76), rgba(0,0,0,0.35)),
    url("assets/van_exterior_angle.jpg") center/cover;
}
