/* Extracted from 8-days-gorilla-wildlife-safari.html; regenerate with scripts/extract-page-inline-assets.js. */

:root {
      --page8-forest: var(--luxury-forest);
      --page8-gold: var(--luxury-gold);
      --page8-gold-soft: var(--luxury-gold-soft);
      --page8-ink: var(--luxury-text);
      --page8-muted: var(--luxury-muted);
      --page8-surface: rgba(255, 253, 248, 0.98);
      --page8-surface-soft: rgba(247, 242, 232, 0.96);
      --page8-line: rgba(23, 57, 44, 0.1);
      --page8-shadow: 0 24px 58px rgba(15, 40, 30, 0.1);
      --page8-shadow-strong: 0 28px 68px rgba(15, 40, 30, 0.14);
    }

/* Keep each day-by-day entry on a contained canvas instead of running it into
   the viewport edges. The page itself remains flexible; only the itinerary
   reading blocks receive this breathing room. */
@media (min-width: 761px) {
  body.page-gorilla-wildlife-8 main.page > .day-block:not(#gorilla-wildlife-inclusions),
  body.page-gorilla-wildlife-8.shared-itinerary-layout-page .itinerary-stack > .day-block:not(#gorilla-wildlife-inclusions) {
    width: calc(100% - clamp(32px, 3vw, 64px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 760px) {
  body.page-gorilla-wildlife-8 main.page > .day-block:not(#gorilla-wildlife-inclusions),
  body.page-gorilla-wildlife-8.shared-itinerary-layout-page .itinerary-stack > .day-block:not(#gorilla-wildlife-inclusions) {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

    html {
      scroll-behavior: auto;
    }

    body.page-gorilla-wildlife-8 {
      margin: 0;
      color: var(--page8-ink);
      font-family: "Lato", "Segoe UI", Arial, sans-serif;
      font-size: 1rem;
      line-height: 1.72;
      overflow-x: clip;
      background:
        radial-gradient(circle at top left, rgba(199, 162, 93, 0.12), transparent 24%),
        linear-gradient(180deg, var(--luxury-surface-soft) 0%, #f7f5ef 42%, #edf4ee 100%);
    }

    .page-gorilla-wildlife-8 main.page {
      width: 100%;
      max-width: none;
      padding: 24px 0 72px;
    }

    @media (min-width: 981px) {
      body.page-gorilla-wildlife-8[data-itinerary-page="true"] main.page,
      body.page-gorilla-wildlife-8.shared-itinerary-layout-page main.page {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }
    }

    .page-gorilla-wildlife-8 .hero {
      position: relative;
      display: grid;
      align-items: end;
      width: 100vw !important;
      max-width: none !important;
      min-height: 82vh;
      margin: 18px calc(50% - 50vw) 0;
      padding: 138px 0 54px;
      border-radius: 0;
      overflow: hidden;
      background:
        linear-gradient(180deg, rgba(8, 20, 15, 0.08) 0%, rgba(8, 20, 15, 0.16) 46%, rgba(8, 20, 15, 0.48) 100%),
        url("images/silverback gorilla in bwindi national park.webp") center/cover no-repeat;
      box-shadow: var(--page8-shadow-strong);
    }

    .page-gorilla-wildlife-8 .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 20% 16%, rgba(255, 255, 255, 0.08), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.02), transparent 38%);
      pointer-events: none;
    }

    .page-gorilla-wildlife-8 .hero-shell {
      width: min(100%, calc(100% - 40px));
      margin: 0 auto;
    }

    .page-gorilla-wildlife-8 .hero-content {
      position: relative;
      z-index: 1;
      width: min(620px, 100%);
      padding: 0;
      border-radius: 0;
      background: transparent;
      border: 0;
      backdrop-filter: none;
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .hero-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 14px;
      color: var(--page8-gold-soft);
      font-size: var(--fs-label);
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
    }

    .page-gorilla-wildlife-8 .hero h1 {
      margin: 0;
      color: var(--luxury-cream);
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(2rem, 4vw, 3.6rem);
      line-height: 1.02;
      letter-spacing: -0.03em;
      text-wrap: balance;
      text-shadow: 0 3px 18px rgba(0, 0, 0, 0.65);
    }

    .page-gorilla-wildlife-8 .hero-subtitle {
      max-width: 680px;
      margin: 16px 0 0;
      color: rgba(255, 255, 255, 0.9);
      font-size: clamp(0.98rem, 1.6vw, 1.12rem);
      line-height: 1.62;
      text-shadow: 0 3px 14px rgba(0, 0, 0, 0.58);
    }

    .page-gorilla-wildlife-8 .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 24px;
    }

    .page-gorilla-wildlife-8 .hero-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 12px 22px;
      border: 1px solid rgba(255, 255, 255, 0.64);
      border-radius: 999px;
      background: var(--page8-gold);
      color: #17392c;
      cursor: pointer;
      font: inherit;
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      line-height: 1.2;
      text-decoration: none;
      text-transform: uppercase;
      box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
    }

    .page-gorilla-wildlife-8 .readiness-section,
    .page-gorilla-wildlife-8 .traveler-fit,
    .page-gorilla-wildlife-8 .itinerary-trust,
    .page-gorilla-wildlife-8 .emotional-conversion {
      width: min(900px, calc(100% - 40px));
      max-width: 900px;
      margin: 44px auto;
      padding: clamp(18px, 2.8vw, 32px) 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .section-kicker {
      margin: 0 0 8px;
      color: var(--page8-gold);
      font-size: 0.76rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      line-height: 1.2;
      text-transform: uppercase;
    }

    .page-gorilla-wildlife-8 .readiness-section h2,
    .page-gorilla-wildlife-8 .traveler-fit h2,
    .page-gorilla-wildlife-8 .itinerary-trust h2,
    .page-gorilla-wildlife-8 .emotional-conversion h2 {
      margin: 0;
      color: var(--page8-forest);
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(1.55rem, 2.5vw, 2.15rem);
      line-height: 1.12;
      letter-spacing: -0.02em;
      text-wrap: balance;
    }

    .page-gorilla-wildlife-8 .section-lead,
    .page-gorilla-wildlife-8 .itinerary-trust__lead,
    .page-gorilla-wildlife-8 .emotional-conversion__lead {
      max-width: 760px;
      margin: 12px 0 0;
      color: var(--page8-muted);
      font-size: 1rem;
      line-height: 1.62;
    }

    .page-gorilla-wildlife-8 .readiness-grid,
    .page-gorilla-wildlife-8 .fit-grid,
    .page-gorilla-wildlife-8 .itinerary-trust__list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 24px;
    }

    .page-gorilla-wildlife-8 .lodge-tier-grid,
    .page-gorilla-wildlife-8 .itinerary-trust__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-gorilla-wildlife-8 .readiness-item,
    .page-gorilla-wildlife-8 .lodge-tier,
    .page-gorilla-wildlife-8 .fit-item,
    .page-gorilla-wildlife-8 .itinerary-trust__list li {
      min-width: 0;
      padding: 0 0 0 16px;
      border-left: 2px solid rgba(199, 162, 93, 0.72);
      color: var(--page8-muted);
      list-style: none;
    }

    .page-gorilla-wildlife-8 .readiness-item strong,
    .page-gorilla-wildlife-8 .lodge-tier strong,
    .page-gorilla-wildlife-8 .fit-item strong,
    .page-gorilla-wildlife-8 .itinerary-trust__list strong {
      display: block;
      margin-bottom: 7px;
      color: var(--page8-forest);
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.28;
    }

    .page-gorilla-wildlife-8 .readiness-item span,
    .page-gorilla-wildlife-8 .lodge-tier span,
    .page-gorilla-wildlife-8 .fit-item span,
    .page-gorilla-wildlife-8 .itinerary-trust__list span {
      display: block;
      color: var(--page8-muted);
      font-size: 0.92rem;
      line-height: 1.52;
    }

    .page-gorilla-wildlife-8 .itinerary-trust__list {
      padding-left: 0;
    }

    .page-gorilla-wildlife-8 .itinerary-trust__list a {
      color: var(--page8-forest);
      font-weight: 600;
      text-decoration-color: rgba(199, 162, 93, 0.7);
      text-underline-offset: 3px;
    }

    .page-gorilla-wildlife-8 .emotional-conversion {
      margin-bottom: 56px;
      border-top: 1px solid rgba(199, 162, 93, 0.34);
      border-bottom: 1px solid rgba(23, 57, 44, 0.08);
    }

    .page-gorilla-wildlife-8 .emotional-conversion__copy {
      display: grid;
      gap: 16px;
      margin-top: 18px;
    }

    .page-gorilla-wildlife-8 .emotional-conversion__copy p {
      margin: 0;
      color: var(--page8-muted);
      font-size: 1rem;
      line-height: 1.66;
    }

    .page-gorilla-wildlife-8 .emotional-conversion a {
      color: var(--page8-forest);
      font-weight: 600;
      text-decoration-color: rgba(199, 162, 93, 0.78);
      text-underline-offset: 3px;
    }

    .page-gorilla-wildlife-8 .safari-overview-section {
      max-width: 900px;
      margin-left: auto;
      margin-right: auto;
    }

    .page-gorilla-wildlife-8 .day-block {
      width: 100%;
      max-width: none;
      margin-left: 0;
      margin-right: 0;
    }

    .page-gorilla-wildlife-8 .safari-overview-section {
      margin-top: 28px;
      padding: 0 0 clamp(20px, 3vw, 34px);
      border: 0;
      border-bottom: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .safari-at-glance {
      display: grid;
      grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
      gap: clamp(10px, 2vw, 20px);
      align-items: center;
      width: min(900px, calc(100% - 40px));
      margin: 16px auto 0;
      padding: clamp(12px, 2vw, 18px);
      border: 1px solid var(--page8-line);
      border-radius: 10px;
      background: linear-gradient(135deg, var(--page8-surface), var(--page8-surface-soft));
      box-shadow: 0 10px 24px rgba(15, 40, 30, 0.06);
    }

    .page-gorilla-wildlife-8 .safari-at-glance__heading > p {
      margin: 0;
      color: var(--page8-gold);
      font-size: 0.61rem;
      font-weight: 700;
      letter-spacing: 0.11em;
      text-transform: uppercase;
    }

    .page-gorilla-wildlife-8 .safari-at-glance h2 {
      margin: 5px 0 0;
      color: var(--page8-forest);
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(1.25rem, 2vw, 1.65rem);
      font-weight: 500;
      line-height: 1.08;
      letter-spacing: -0.02em;
      overflow-wrap: anywhere;
    }

    .page-gorilla-wildlife-8 .safari-at-glance__facts {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px 12px;
      margin: 0;
    }

    .page-gorilla-wildlife-8 .safari-at-glance__facts div {
      min-width: 0;
      padding-left: 8px;
      border-left: 2px solid rgba(199, 162, 93, 0.7);
    }

    .page-gorilla-wildlife-8 .safari-at-glance__facts dt {
      color: var(--page8-muted);
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .page-gorilla-wildlife-8 .safari-at-glance__facts dd {
      margin: 2px 0 0;
      color: var(--page8-forest);
      font-size: 0.78rem;
      font-weight: 600;
      line-height: 1.3;
    }

    .page-gorilla-wildlife-8 .safari-overview-section h2,
    .page-gorilla-wildlife-8 .story-copy h2,
    .page-gorilla-wildlife-8 .story-copy h3,
    .page-gorilla-wildlife-8 .inclusion-column h3,
    .page-gorilla-wildlife-8 .checklist-card h4 {
      margin: 0;
      color: var(--page8-forest);
      font-family: Georgia, "Times New Roman", serif;
      letter-spacing: -0.02em;
      text-wrap: balance;
    }

    .page-gorilla-wildlife-8 .safari-overview-section h2,
    .page-gorilla-wildlife-8 .story-copy h2 {
      font-size: clamp(1.55rem, 2.3vw, 2.28rem);
      line-height: 1.08;
    }

    .page-gorilla-wildlife-8 .story-copy h3,
    .page-gorilla-wildlife-8 .inclusion-column h3 {
      font-size: 1.12rem;
      line-height: 1.18;
    }

    .page-gorilla-wildlife-8 .safari-overview-section p,
    .page-gorilla-wildlife-8 .story-copy p,
    .page-gorilla-wildlife-8 .story-copy li,
    .page-gorilla-wildlife-8 .snap-panel p,
    .page-gorilla-wildlife-8 .acc-panel p,
    .page-gorilla-wildlife-8 .checklist li,
    .page-gorilla-wildlife-8 .pack-list li,
    .page-gorilla-wildlife-8 .note {
      color: var(--page8-muted);
      font-size: 0.9rem;
      line-height: 1.58;
    }

    .page-gorilla-wildlife-8 .safari-overview-section p {
      margin: 14px 0 0;
    }

    .page-gorilla-wildlife-8 .itinerary {
      width: 100%;
      margin-top: 18px;
      border-collapse: collapse;
      border-spacing: 0;
      overflow: visible;
      border-radius: 0;
      box-shadow: none;
      background: transparent;
    }

    .page-gorilla-wildlife-8 .itinerary th,
    .page-gorilla-wildlife-8 .itinerary td {
      padding: 10px 12px;
      border-bottom: 1px solid rgba(23, 57, 44, 0.08);
      text-align: left;
      font-size: 0.9rem;
      line-height: 1.48;
    }

    .page-gorilla-wildlife-8 .itinerary thead th {
      background: transparent;
      color: var(--page8-forest);
      font-weight: 500;
      letter-spacing: 0.02em;
    }

    .page-gorilla-wildlife-8 .itinerary tbody tr:last-child td {
      border-bottom: 0;
    }

    .page-gorilla-wildlife-8 .safari-route-map {
      margin-top: 26px;
      padding-top: 22px;
      border-top: 1px solid rgba(23, 57, 44, 0.1);
    }

    .page-gorilla-wildlife-8 .safari-route-map__header {
      margin-bottom: 14px;
    }

    .page-gorilla-wildlife-8 .safari-route-map__kicker {
      margin: 0 0 7px;
      color: var(--page8-gold);
      font-size: var(--fs-label);
      font-weight: 600;
      letter-spacing: 0.12em;
      line-height: 1;
      text-transform: uppercase;
    }

    .page-gorilla-wildlife-8 .safari-route-map__header h3 {
      margin: 0;
      color: var(--page8-forest);
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(1.35rem, 2vw, 1.9rem);
      line-height: 1.1;
      text-wrap: balance;
    }

    .page-gorilla-wildlife-8 .safari-route-map__header p {
      max-width: 68ch;
      margin: 9px 0 0;
      color: var(--page8-muted);
      font-size: 0.9rem;
      line-height: 1.58;
    }

    .page-gorilla-wildlife-8 .safari-route-map__frame {
      position: relative;
      width: 100%;
      min-height: 340px;
      overflow: hidden;
      background: transparent;
      border: 0;
      border-radius: 0;
    }

    .page-gorilla-wildlife-8 .safari-route-map__frame iframe {
      display: block;
      width: 100%;
      height: 380px;
      border: 0;
    }

    .page-gorilla-wildlife-8 .safari-route-map__fallback {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 10px;
      color: var(--page8-forest);
      font-size: 0.84rem;
      font-weight: 600;
      line-height: 1.3;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .page-gorilla-wildlife-8 .safari-route-map__fallback:hover,
    .page-gorilla-wildlife-8 .safari-route-map__fallback:focus-visible {
      color: var(--page8-gold);
      outline: none;
    }

    .page-gorilla-wildlife-8 .day-block {
      margin-top: 0;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) {
      position: relative;
      overflow: visible;
      padding: clamp(18px, 2.8vw, 32px) 0;
      border-top: 0;
      background: transparent;
      box-shadow: none;
      isolation: auto;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) + .day-block:not(#gorilla-wildlife-inclusions) {
      margin-top: clamp(10px, 1.8vw, 18px);
      padding-top: clamp(30px, 4vw, 46px);
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) + .day-block:not(#gorilla-wildlife-inclusions)::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 9px;
      margin: 0 auto;
      background:
        radial-gradient(circle, rgba(199, 162, 93, 0.86) 0 2px, transparent 2.8px),
        linear-gradient(
          90deg,
          transparent 0%,
          rgba(23, 57, 44, 0.1) 14%,
          rgba(199, 162, 93, 0.72) 50%,
          rgba(23, 57, 44, 0.1) 86%,
          transparent 100%
        );
      background-position: center, center;
      background-repeat: no-repeat;
      background-size: 9px 9px, 100% 1px;
      pointer-events: none;
    }

    .page-gorilla-wildlife-8 .magazine-day {
      position: relative;
      overflow: visible;
      padding: clamp(18px, 2.8vw, 32px) 0;
      border-radius: 0;
      background: transparent;
      border: 0;
      box-shadow: none;
      isolation: isolate;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions)::after {
      content: "";
      display: block;
      clear: both;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) > * {
      position: relative;
      z-index: 1;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-copy {
      min-width: 0;
    }

    .page-gorilla-wildlife-8 .day-number,
    .page-gorilla-wildlife-8 .story-copy > .day-number {
      display: none !important;
    }

    .page-gorilla-wildlife-8 .story-copy h3 {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-top: 16px;
      color: #315845;
      font-family: "Lato", "Segoe UI", Arial, sans-serif;
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      line-height: 1;
      text-transform: uppercase;
    }

    .page-gorilla-wildlife-8 .story-copy h3::after {
      content: "";
      width: 44px;
      height: 1px;
      background: linear-gradient(90deg, rgba(199, 162, 93, 0.78), transparent);
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-copy > p {
      color: #35463f;
      font-size: 0.9rem;
      line-height: 1.58;
      letter-spacing: 0;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-copy > p strong {
      color: var(--page8-forest);
      font-weight: 600;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-copy > p:first-of-type {
      margin-top: 2px;
    }

    .page-gorilla-wildlife-8 .story-copy p + p {
      margin-top: 9px;
    }

    .page-gorilla-wildlife-8 .story-copy ul,
    .page-gorilla-wildlife-8 .pack-list,
    .page-gorilla-wildlife-8 .checklist {
      display: grid;
      gap: 7px;
      margin: 12px 0 0;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-copy > ul {
      padding-left: 0;
      list-style: none;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-copy > ul li {
      position: relative;
      padding: 0 0 0 20px;
      border-radius: 0;
      background: transparent;
      border: 0;
      color: #43564e;
      box-shadow: none;
      line-height: 1.58;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-copy > ul li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.74em;
      width: 10px;
      height: 1px;
      border-radius: 0;
      background: var(--page8-gold);
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-media {
      float: right;
      width: min(30%, 260px);
      max-width: 260px;
      margin: 0 0 18px clamp(22px, 3vw, 38px);
      display: block;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions):nth-of-type(even) .story-media {
      float: left;
      margin: 0 clamp(22px, 3vw, 38px) 18px 0;
    }

    .page-gorilla-wildlife-8 .story-media {
      display: grid;
      justify-items: center;
      margin: 22px auto 0;
    }

    .page-gorilla-wildlife-8 .story-media img {
      display: block;
      width: min(100%, 260px);
      border-radius: 14px;
      object-fit: cover;
      border: 0;
      box-shadow: none;
      background: transparent;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-media img {
      width: 100%;
      aspect-ratio: 1.08 / 1;
    }

    .page-gorilla-wildlife-8 .day-meta {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      margin-top: 20px;
    }

    .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .day-meta {
      clear: both;
    }

    .page-gorilla-wildlife-8 [data-acc-options] {
      margin: 0;
      padding: 0;
      border: 0;
      border-left: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .snapshot,
    .page-gorilla-wildlife-8 .inclusion-column,
    .page-gorilla-wildlife-8 .checklist-card {
      padding: 0 0 0 14px;
      border-radius: 0;
      background: transparent;
      border: 0;
      border-left: 2px solid rgba(199, 162, 93, 0.76);
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .snapshot h4,
    .page-gorilla-wildlife-8 [data-acc-options] h4 {
      margin: 0;
      color: var(--page8-forest);
      font-family: Georgia, "Times New Roman", serif;
      font-size: 1rem;
      line-height: 1.16;
    }

    .page-gorilla-wildlife-8 .snapshot-tabs,
    .page-gorilla-wildlife-8 .accommodation-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 10px;
    }

    .page-gorilla-wildlife-8 .snap-tab {
      appearance: none;
      min-height: 30px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(23, 57, 44, 0.12);
      background: transparent;
      color: var(--page8-forest);
      font: inherit;
      font-size: 0.8rem;
      font-weight: 500;
      cursor: pointer;
      transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
    }

    .page-gorilla-wildlife-8 .snap-tab:hover,
    .page-gorilla-wildlife-8 .snap-tab:focus-visible {
      transform: translateY(-1px);
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .snap-tab.active {
      background: linear-gradient(135deg, rgba(23, 57, 44, 0.98), rgba(39, 89, 71, 0.98));
      border-color: transparent;
      color: var(--luxury-cream);
      box-shadow: 0 12px 24px rgba(15, 40, 30, 0.16);
    }

    .page-gorilla-wildlife-8 .accommodation-tabs {
      gap: 14px;
      align-items: flex-end;
    }

    .page-gorilla-wildlife-8 .acc-tab {
      appearance: none;
      min-height: 24px;
      padding: 0 0 5px;
      border: 0;
      border-bottom: 1px solid transparent;
      border-radius: 0;
      background: transparent;
      color: var(--page8-muted);
      cursor: pointer;
      font: inherit;
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      line-height: 1;
      text-transform: uppercase;
      transition: border-color 0.18s ease, color 0.18s ease;
    }

    .page-gorilla-wildlife-8 .acc-tab:hover,
    .page-gorilla-wildlife-8 .acc-tab:focus-visible {
      transform: none;
      color: var(--page8-forest);
      box-shadow: none;
      outline: none;
    }

    .page-gorilla-wildlife-8 .acc-tab.active {
      background: transparent;
      border-color: var(--page8-gold);
      color: var(--page8-forest);
      box-shadow: none;
    }

    .page-gorilla-wildlife-8 .snap-panel,
    .page-gorilla-wildlife-8 .acc-panel {
      display: none;
      margin-top: 10px;
      padding: 0;
      border-radius: 0;
      background: transparent;
      border: 0;
    }

    .page-gorilla-wildlife-8 .snap-panel.active,
    .page-gorilla-wildlife-8 .acc-panel.active {
      display: block;
    }

    .page-gorilla-wildlife-8 .snap-panel p,
    .page-gorilla-wildlife-8 .acc-panel p,
    .page-gorilla-wildlife-8 .note {
      margin: 0;
    }

    .page-gorilla-wildlife-8 .acc-lodge-card {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: start;
      gap: 8px;
    }

    .page-gorilla-wildlife-8 .acc-lodge-gallery {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 8px;
    }

    .page-gorilla-wildlife-8 .acc-lodge-thumb {
      appearance: none;
      display: inline-grid;
      width: 64px;
      min-height: 56px;
      padding: 0;
      overflow: hidden;
      border: 1px solid rgba(23, 57, 44, 0.18);
      border-radius: 4px;
      background: #fff;
      color: var(--page8-forest);
      cursor: pointer;
      font: inherit;
      text-align: left;
      transition: border-color 0.18s ease, transform 0.18s ease;
    }

    .page-gorilla-wildlife-8 .acc-lodge-thumb:hover,
    .page-gorilla-wildlife-8 .acc-lodge-thumb:focus-visible {
      border-color: var(--page8-gold);
      transform: translateY(-1px);
      outline: none;
    }

    .page-gorilla-wildlife-8 .acc-lodge-thumb img {
      display: block;
      width: 100%;
      height: 42px;
      min-height: 0;
      object-fit: cover;
    }

    .page-gorilla-wildlife-8 .acc-lodge-thumb > span {
      display: block;
      padding: 3px 4px 4px;
      overflow: hidden;
      font-size: 0.62rem;
      font-weight: 600;
      line-height: 1.05;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .page-gorilla-wildlife-8 .acc-panel__planning-note {
      padding: 2px 0 2px 12px;
      border-left: 2px solid var(--page8-gold);
      color: var(--page8-muted);
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal[hidden] {
      display: none;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: grid;
      place-items: center;
      padding: 16px;
      background: rgba(8, 23, 17, 0.82);
      backdrop-filter: blur(6px);
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__dialog {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      width: min(900px, calc(100vw - 32px));
      max-height: min(720px, calc(100dvh - 32px));
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.22);
      border-radius: 14px;
      background: #fffdf8;
      color: var(--page8-forest);
      box-shadow: 0 30px 90px rgba(0, 0, 0, 0.44);
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(23, 57, 44, 0.12);
      background: #fffdf8;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__eyebrow {
      margin: 0 0 3px;
      color: #8a6b30;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      line-height: 1.2;
      text-transform: uppercase;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__title {
      margin: 0;
      color: var(--page8-forest);
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(1.15rem, 1.8vw, 1.55rem);
      line-height: 1.08;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__close,
    .page-gorilla-wildlife-8 .acc-gallery-modal__nav {
      appearance: none;
      display: inline-grid;
      place-items: center;
      border: 0;
      border-radius: 999px;
      cursor: pointer;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__close {
      flex: 0 0 auto;
      width: 34px;
      height: 34px;
      background: rgba(23, 57, 44, 0.08);
      color: var(--page8-forest);
      font-size: 1rem;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__close:hover,
    .page-gorilla-wildlife-8 .acc-gallery-modal__close:focus-visible,
    .page-gorilla-wildlife-8 .acc-gallery-modal__nav:hover,
    .page-gorilla-wildlife-8 .acc-gallery-modal__nav:focus-visible {
      background: var(--page8-gold);
      color: #112b21;
      outline: none;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__body {
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
      min-height: 0;
      overflow: hidden;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__media {
      display: grid;
      grid-template-rows: minmax(0, 1fr) auto;
      min-width: 0;
      min-height: 0;
      padding: 12px;
      background: #142f25;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__stage {
      position: relative;
      display: grid;
      place-items: center;
      min-height: 260px;
      overflow: hidden;
      border-radius: 12px;
      background: rgba(0, 0, 0, 0.22);
      touch-action: pan-y;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__image {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 260px;
      max-height: 420px;
      object-fit: contain;
      object-position: center;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__nav {
      position: absolute;
      top: 50%;
      z-index: 2;
      width: 34px;
      height: 34px;
      background: rgba(8, 23, 17, 0.72);
      color: #fff;
      font-size: 0.82rem;
      transform: translateY(-50%);
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__nav--prev {
      left: 8px;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__nav--next {
      right: 8px;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__thumbnails {
      display: flex;
      gap: 6px;
      min-width: 0;
      padding-top: 8px;
      overflow-x: auto;
      scrollbar-width: thin;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__thumbnail {
      appearance: none;
      flex: 0 0 56px;
      width: 56px;
      height: 40px;
      padding: 0;
      overflow: hidden;
      border: 2px solid transparent;
      border-radius: 5px;
      background: transparent;
      cursor: pointer;
      opacity: 0.62;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__thumbnail[aria-current="true"] {
      border-color: var(--page8-gold);
      opacity: 1;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__thumbnail:focus-visible {
      border-color: #fff;
      outline: none;
      opacity: 1;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__thumbnail img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__details {
      min-height: 0;
      padding: 16px;
      overflow-y: auto;
      scrollbar-width: thin;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__description {
      margin: 0;
      color: #43564e;
      font-size: 0.84rem;
      line-height: 1.5;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__summary {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      margin: 12px 0;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__summary div {
      padding: 8px 0;
      border-top: 1px solid rgba(23, 57, 44, 0.14);
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__summary dt {
      color: #8a6b30;
      font-size: 0.59rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__summary dd {
      margin: 3px 0 0;
      color: var(--page8-forest);
      font-size: 0.73rem;
      line-height: 1.35;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__verified {
      padding-top: 2px;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__verified h3 {
      margin: 0 0 8px;
      color: var(--page8-forest);
      font-family: Georgia, "Times New Roman", serif;
      font-size: 0.94rem;
      line-height: 1.2;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__verified ul {
      display: grid;
      gap: 5px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__verified li {
      position: relative;
      padding-left: 16px;
      color: #43564e;
      font-size: 0.76rem;
      line-height: 1.38;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__verified li::before {
      content: "\2713";
      position: absolute;
      left: 0;
      top: 0;
      color: #8a6b30;
      font-weight: 900;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__room-note {
      margin: 9px 0 0;
      color: #627169;
      font-size: 0.7rem;
      font-style: italic;
      line-height: 1.45;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__planning-note {
      margin-top: 12px;
      padding: 9px 11px;
      border-left: 2px solid var(--page8-gold);
      background: rgba(199, 162, 93, 0.1);
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__planning-note strong {
      display: block;
      color: var(--page8-forest);
      font-size: 0.7rem;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__planning-note p {
      margin: 3px 0 0;
      color: #4f6259;
      font-size: 0.68rem;
      line-height: 1.45;
    }

    .page-gorilla-wildlife-8 .acc-gallery-modal__instructions {
      margin: 9px 0 0;
      color: #748179;
      font-size: 0.62rem;
      line-height: 1.4;
    }

    .page-gorilla-wildlife-8 .inclusion-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      margin-top: 16px;
    }

    .page-gorilla-wildlife-8 .checklist,
    .page-gorilla-wildlife-8 .pack-list {
      padding-left: 0;
      list-style: none;
    }

    .page-gorilla-wildlife-8 .checklist li,
    .page-gorilla-wildlife-8 .pack-list li {
      padding: 8px 0 8px 12px;
      border-radius: 0;
      background: transparent;
    }

    .page-gorilla-wildlife-8 .checklist.included li {
      border-left: 4px solid #3f7c61;
    }

    .page-gorilla-wildlife-8 .checklist.excluded li {
      border-left: 4px solid #b96d4f;
    }

    .page-gorilla-wildlife-8 .checklist-card h4 {
      font-size: 1rem;
      line-height: 1.18;
    }

    .page-gorilla-wildlife-8 .checklist-marker {
      color: var(--page8-forest);
      font-weight: 600;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .itinerary-stack {
      width: 100%;
      max-width: none;
      margin: 18px 0 0;
      gap: 16px;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card {
      display: block;
      padding: clamp(18px, 2.8vw, 32px) 0;
      border-radius: 0;
      background: transparent;
      border: 0;
      box-shadow: none;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card::after {
      content: "";
      display: block;
      clear: both;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-image {
      float: left;
      width: min(30%, 260px);
      max-width: 260px;
      margin: 0 28px 18px 0;
      display: block;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card:nth-of-type(even) .day-image {
      float: right;
      margin: 0 0 18px 28px;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-image img {
      width: 100%;
      aspect-ratio: 1.08 / 1;
      border-radius: 14px;
      object-fit: cover;
      box-shadow: none;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-content {
      display: block;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-content h2,
    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-content h3 {
      font-size: clamp(1.28rem, 1.8vw, 1.74rem) ;
      line-height: 1.12 ;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-content p,
    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-content li,
    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card p,
    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card li {
      font-size: 0.9rem;
      line-height: 1.58 ;
    }

    .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card .day-meta {
      clear: both;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-gorilla-wildlife-8 .itinerary-download-strip {
      width: min(900px, calc(100% - 40px));
      max-width: 900px;
      margin: 14px auto 34px;
      text-align: center;
    }

    .page-gorilla-wildlife-8 .itinerary-download-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 9px 16px;
      border: 1px solid rgba(20, 63, 51, 0.18);
      border-radius: 999px;
      background: rgba(255, 253, 249, 0.72);
      color: var(--page8-forest);
      font-size: 0.74rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      line-height: 1.2;
      text-decoration: none;
      text-transform: uppercase;
      box-shadow: 0 10px 24px rgba(10, 24, 19, 0.06);
      transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
    }

    .page-gorilla-wildlife-8 .itinerary-download-link:hover,
    .page-gorilla-wildlife-8 .itinerary-download-link:focus-visible {
      border-color: rgba(191, 155, 84, 0.45);
      background: rgba(255, 253, 249, 0.95);
      transform: translateY(-1px);
    }

    .page-gorilla-wildlife-8 .gorilla-wildlife-inline-link {
      color: var(--page8-forest);
      font-weight: 600;
      text-decoration: none;
      transition: color 180ms ease;
    }

    .page-gorilla-wildlife-8 .gorilla-wildlife-inline-link:hover,
    .page-gorilla-wildlife-8 .gorilla-wildlife-inline-link:focus-visible {
      color: var(--page8-gold-deep);
    }

    .page-gorilla-wildlife-8 .gorilla-wildlife-inline-link:focus-visible {
      outline: 2px solid rgba(191, 155, 84, 0.45);
      outline-offset: 3px;
      border-radius: 4px;
    }

    @media (min-width: 981px) {
      /* Keep the entire itinerary on the desktop page canvas, including every
         day-by-day block, rather than in a centered reading column. */
      .page-gorilla-wildlife-8 main.page > section:not(.hero),
      .page-gorilla-wildlife-8 main.page > .itinerary-download-strip {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-inline: clamp(32px, 5vw, 96px);
      }

      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .itinerary-stack {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }

      /* The runtime nests all day blocks in this stack. Keep that wrapper
         uncapped and flush with the desktop canvas. */
      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .itinerary-stack {
        padding-inline: 0;
      }

      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .itinerary-stack > .day-card,
      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .itinerary-stack > .day-block {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }
    }

    @media (max-width: 980px) {
      .page-gorilla-wildlife-8 .day-meta,
      .page-gorilla-wildlife-8 .inclusion-grid,
      .page-gorilla-wildlife-8 .readiness-grid,
      .page-gorilla-wildlife-8 .lodge-tier-grid,
      .page-gorilla-wildlife-8 .fit-grid,
      .page-gorilla-wildlife-8 .itinerary-trust__list,
      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card .day-meta {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 760px) {
      .page-gorilla-wildlife-8 main.page {
        width: 100%;
        padding: 16px 0 56px;
      }

      .page-gorilla-wildlife-8 .hero {
        min-height: auto;
        padding: 116px 0 42px;
        border-radius: 0;
      }

      .page-gorilla-wildlife-8 .hero-shell {
        width: min(100%, calc(100% - 24px));
      }

      .page-gorilla-wildlife-8 .safari-at-glance {
        grid-template-columns: 1fr;
        width: calc(100% - 24px);
        margin-top: 12px;
        padding: 12px;
      }

      .page-gorilla-wildlife-8 .safari-at-glance__facts {
        grid-template-columns: 1fr;
        gap: 8px;
      }

      .page-gorilla-wildlife-8 .safari-at-glance h2 {
        font-size: clamp(1.2rem, 6.4vw, 1.5rem);
      }

      .page-gorilla-wildlife-8 .safari-overview-section,
      .page-gorilla-wildlife-8 .readiness-section,
      .page-gorilla-wildlife-8 .traveler-fit,
      .page-gorilla-wildlife-8 .itinerary-trust,
      .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions),
      .page-gorilla-wildlife-8 .magazine-day {
        padding-left: 16px;
        padding-right: 16px;
      }

      .page-gorilla-wildlife-8 .hero-actions {
        width: 100%;
        flex-direction: column;
      }

      .page-gorilla-wildlife-8 .hero-action {
        width: 100%;
      }

      .page-gorilla-wildlife-8 .safari-route-map__frame {
        min-height: 300px;
      }

      .page-gorilla-wildlife-8 .safari-route-map__frame iframe {
        height: 320px;
      }

      .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) + .day-block:not(#gorilla-wildlife-inclusions)::before {
        left: 16px;
        right: 16px;
        width: auto;
      }

      .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions) .story-media,
      .page-gorilla-wildlife-8 .day-block:not(#gorilla-wildlife-inclusions):nth-of-type(even) .story-media {
        float: none;
        width: min(100%, 420px);
        max-width: 100%;
        margin: 0 auto 18px;
      }

      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card {
        display: grid;
        padding: 18px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal {
        padding: 8px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 14px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__head {
        padding: 10px 12px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__body {
        display: block;
        overflow-y: auto;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__media {
        display: grid;
        padding: 9px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__stage {
        height: min(32dvh, 260px);
        min-height: 190px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__image {
        min-height: 190px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__close {
        width: 32px;
        height: 32px;
        font-size: 0.95rem;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__nav {
        width: 34px;
        height: 34px;
        font-size: 0.8rem;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__nav--prev {
        left: 10px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__nav--next {
        right: 10px;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__details {
        padding: 14px;
        overflow: visible;
      }

      .page-gorilla-wildlife-8 .acc-gallery-modal__summary {
        grid-template-columns: 1fr;
        gap: 0;
      }

      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-image,
      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card:nth-of-type(even) .day-image {
        float: none;
        width: min(100%, 420px);
        max-width: 100%;
        margin: 0 auto 18px;
      }

      .shared-itinerary-layout-page.page-gorilla-wildlife-8 .day-card .day-meta {
        clear: none;
      }
    }
