 :root{
    --ink:#221812;
    --indigo:#1E2A4C;
    --indigo-deep:#141D36;
    --marigold:#E2941F;
    --brick:#9C3B2E;
    --sand:#F6EEE0;
    --paper:#FFFDF9;
    --line: rgba(34,24,18,0.14);
    --line-soft: rgba(34,24,18,0.08);
    --font-display: "Fraunces", Georgia, serif;
    --font-body: "Work Sans", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  }
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ margin:0; font-family:var(--font-body); color:var(--ink); background:var(--paper); line-height:1.6; -webkit-font-smoothing:antialiased; }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  .wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }
  h1,h2,h3{ font-family:var(--font-display); margin:0; line-height:1.15; font-weight:600; }
  :focus-visible{ outline:2px solid var(--marigold); outline-offset:3px; }
  @media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } html{scroll-behavior:auto;} }

  /* Header */
  header.site{ position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line); }
  .site-bar{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1120px; margin:0 auto; }
  .logo{ font-family:var(--font-display); font-size:1.35rem; font-weight:700; }
  .logo span{ color:var(--brick); }
  nav.primary{ display:flex; gap:28px; font-size:0.95rem; }
  nav.primary a{ text-decoration:none; padding:4px 0; border-bottom:2px solid transparent; }
  nav.primary a:hover{ border-bottom-color:var(--marigold); }
  .header-cta{ display:flex; align-items:center; gap:14px; }
  .btn{ display:inline-block; padding:11px 22px; border-radius:2px; font-weight:600; font-size:0.92rem; text-decoration:none; border:1px solid transparent; cursor:pointer; }
  .btn-primary{ background:var(--indigo); color:var(--paper); }
  .btn-primary:hover{ background:var(--indigo-deep); }
  .btn-ghost{ border-color:var(--ink); color:var(--ink); }
  .menu-toggle{ display:none; background:none; border:none; font-size:1.6rem; cursor:pointer; }
  @media (max-width:860px){ nav.primary{ display:none; } .menu-toggle{ display:block; } }

  /* Hero / answer-first */
  .hero{ position:relative; background:#002520; color:var(--paper); padding:0 0 0; overflow:hidden; isolation:isolate; }
  @media (min-width:901px){ .hero{ min-height:560px; display:flex; align-items:center; } .hero-inner{ width:100%; } }

  /* Right-half background photo, positioned behind everything in the hero */
  .hero-media{ position:absolute; top:0; right:0; bottom:0; width:60%; z-index:0; }
  .hero-media img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
  /* Gradient painted over the photo itself so it dissolves into the indigo on its left edge —
     this is what makes the photo and the text panel read as one continuous background */
  
  /* Subtle top/bottom fade so the photo doesn't feel like a hard-edged block */
  .hero-media::before{
    content:"";
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(20,29,54,0.35) 0%, rgba(20,29,54,0) 22%, rgba(20,29,54,0) 78%, rgba(20,29,54,0.5) 100%);
  }
.hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
       background: linear-gradient(90deg, #002520 0%, #002520f2 10%, #00252099 24%, #00252000 42%, rgb(30 42 76 / 0%) 62%);
}
  .hero-inner{ height: -webkit-fill-available;position:relative; z-index:1; max-width:1400px; margin:0 auto; padding:0 24px; }

  /* Left-half text panel — its own gradient (solid indigo fading to transparent) sits on top
     of the media layer so the color continues smoothly into the photo behind it */
  .hero-text{
    max-width:700px;
    background: linear-gradient(90deg, #002520, #002520, #002520, #002520, #002520, #002520, #002520, #002520, #002520eb, #002520, #002520c2, #00252073, #00252000);
    padding:50px 70px 40px 0;
	height: -webkit-fill-available;
  }

  .breadcrumb{ font-size:0.82rem; opacity:0.75; margin-bottom:20px; }
  .breadcrumb a{ text-decoration:none; opacity:0.85; }
  .breadcrumb a:hover{ text-decoration:underline; }
  .hero h1{ font-size:clamp(2rem, 4vw, 3.1rem); max-width:19ch; margin-bottom:14px; color:white;}
  .rating-line{ font-size:0.9rem; opacity:0.85; margin-bottom:26px; }
  .rating-line .stars{ color:var(--marigold); letter-spacing:2px; }
  .answer-block{ font-size:1.08rem; max-width:70ch; opacity:0.92; margin-bottom:30px; }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; padding-bottom:36px; }
  .btn-outline{ border-color:rgba(255,255,255,0.6); color:var(--paper); }
  .btn-outline:hover{ border-color:var(--paper); background:rgba(255,255,255,0.08); }

  @media (max-width:900px){
    .hero-media{ width:100%; }
    .hero-media::after{ background: linear-gradient(65deg, #002520 0%, #002520f2 3%, #00252099 40%, #00252000 80%, rgb(30 42 76 / 0%) 100%); }
  }
.hero-inner {padding: 0px 15px 0px !important; }
.hero-text{
	background:none;
}
  .snapshot{ background:var(--sand); border-bottom:1px solid var(--line); }
  .snapshot-grid{ display:grid; grid-template-columns:repeat(7,1fr); }
  .snap{ padding:20px 18px; border-right:1px solid var(--line); }
  .snap:last-child{ border-right:none; }
  .snap .label{ font-size:0.74rem; color:#7a6d62; margin-bottom:5px; }
  .snap .value{ font-family:var(--font-display); font-weight:600; font-size:1.02rem; }
  @media (max-width:900px){ .snapshot-grid{ grid-template-columns:repeat(3,1fr);} .snap{ border-bottom:1px solid var(--line); border-right:none;}}
  @media (max-width:560px){ .snapshot-grid{ grid-template-columns:repeat(2,1fr);} }

  /* TOC */
  .toc{ display:flex; flex-wrap:wrap; gap:10px 20px; padding:20px 0 36px; border-bottom:1px solid var(--line); margin-bottom:44px; font-size:0.86rem; }
  .toc a{ text-decoration:none; color:var(--indigo); }
  .toc a:hover{ text-decoration:underline; }
@media (max-width:760px){.toc{margin-bottom:0px;} section{padding:50px 0px 0px 0px; !important}  }
  section{ padding:0 0 64px; }
  section h2{ font-size:1.75rem; margin-bottom:10px; }
  .section-intro{ color:#4a3f37; margin-bottom:30px; }
  .updated-note{ font-size:0.8rem; color:#7a6d62; margin:8px 0 0; }

  /* Route text + map */
  .route-text{ font-family:var(--font-display); font-size:1.15rem; margin:0 0 28px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
  .route-text .city{ background:var(--sand); padding:6px 16px; border:1px solid var(--line); }
  .route-text .arrow{ color:var(--brick); font-size:1.2rem; }
  .map-frame{ background:var(--sand); border:1px solid var(--line); padding:32px; }
  .map-frame svg{ width:100%; height:auto; }

  /* Tables (shared) */
  .table-scroll{ overflow-x:auto; border:1px solid var(--line); }
  table.data{ width:100%; border-collapse:collapse; font-size:0.93rem; }
  table.data th, table.data td{ text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
  table.data thead th{ font-family:var(--font-display); font-weight:600; font-size:0.98rem; background:var(--sand); }
  table.data tbody tr:hover{ background:rgba(226,148,31,0.06); }
  table.data td.highlight{ font-weight:700; color:var(--brick); }

  /* Day detail cards */
  .timeline{ position:relative; }
  .timeline::before{ content:""; position:absolute; left:27px; top:6px; bottom:6px; width:1px; background:var(--line); }
  .day{ display:grid; grid-template-columns:56px 1fr; gap:24px; padding-bottom:48px; position:relative; }
  .day:last-child{ padding-bottom:0; }
  .day-num{ width:56px; height:56px; border-radius:50%; background:var(--indigo); color:var(--paper); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:600; font-size:1.15rem; position:relative; z-index:1; }
  .day-body h3{ font-size:1.3rem; margin-bottom:4px; }
  .day-loc{ color:var(--brick); font-weight:600; font-size:0.9rem; margin-bottom:16px; }
  .day-facts{ display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin-bottom:18px; font-size:0.92rem; }
  .day-facts div{ }
  .day-facts .k{ font-weight:600; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.04em; color:#7a6d62; display:block; margin-bottom:2px; }
  .day-things ul{ margin:0 0 16px; padding-left:20px; }
  .day-things li{ margin-bottom:4px; font-size:0.95rem; }
  .day-timing{ font-size:0.9rem; background:var(--sand); border:1px solid var(--line); padding:14px 16px; margin-bottom:14px; }
  .day-timing div{ display:flex; justify-content:space-between; max-width:360px; padding:2px 0; }
  .day-tip{ font-size:0.9rem; border-left:3px solid var(--marigold); padding:4px 0 4px 14px; color:#4a3f37; }
  @media (max-width:600px){
    .day{ grid-template-columns:44px 1fr; gap:16px; }
    .day-num{ width:44px; height:44px; font-size:1rem; }
    .timeline::before{ left:21px; }
    .day-facts{ grid-template-columns:1fr; }
  }

  /* Two-col yes/no style (inclusions, who-for) */
  .split-grid{ display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
  .split-col{ padding:26px; }
  .split-col:first-child{ border-right:1px solid var(--line); }
  .split-col h3{ font-size:1.02rem; margin-bottom:14px; }
  .split-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
  .split-col li{ padding-left:22px; position:relative; font-size:0.94rem; }
  .split-col.pos li::before{ content:"+"; position:absolute; left:0; color:var(--indigo); font-weight:700; }
  .split-col.neg li::before{ content:"–"; position:absolute; left:0; color:var(--brick); font-weight:700; }
  @media (max-width:640px){ .split-grid{ grid-template-columns:1fr; } .split-col:first-child{ border-right:none; border-bottom:1px solid var(--line); } }

  /* Experience / destination cards */
  .chip-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .chip{ border:1px solid var(--line); padding:22px; }
  .chip .icon{ font-size:1.6rem; margin-bottom:10px; }
  .chip h4{ font-family:var(--font-display); font-size:1.02rem; margin:0 0 6px; }
  .chip p{ margin:0; font-size:0.9rem; color:#4a3f37; }
  @media (max-width:760px){ .chip-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .chip-grid{ grid-template-columns:1fr; } }

  .dest-list{ display:grid; gap:22px; }
  .dest-item{ display:grid; grid-template-columns:140px 1fr; gap:20px; padding-bottom:20px; border-bottom:1px solid var(--line-soft); }
  .dest-item:last-child{ border-bottom:none; }
  .dest-item .dname{ font-family:var(--font-display); font-weight:600; font-size:1.05rem; }
  .dest-item p{ margin:4px 0 0; font-size:0.94rem; color:#4a3f37; }
  .dest-item a{ font-size:0.85rem; color:var(--brick); text-decoration:none; }
  .dest-item a:hover{ text-decoration:underline; }
  @media (max-width:560px){ .dest-item{ grid-template-columns:1fr; } }

  /* Practical info cards */
  .practical-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  .practical-card{ background:var(--paper); padding:22px; }
  .practical-card h4{ font-family:var(--font-display); font-size:0.98rem; margin:0 0 8px; }
  .practical-card p{ margin:0; font-size:0.88rem; color:#4a3f37; }
  .practical-card a{ font-size:0.85rem; color:var(--brick); }
  @media (max-width:760px){ .practical-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .practical-grid{ grid-template-columns:1fr; } }

  /* Mistakes list */
  .mistakes{ display:grid; gap:14px; }
  .mistake{ display:flex; gap:14px; align-items:flex-start; }
  .mistake .num{ font-family:var(--font-display); color:var(--brick); font-weight:700; font-size:1.1rem; flex-shrink:0; width:28px; }
  .mistake p{ margin:0; font-size:0.96rem; }

  /* Alternatives */
  .alt-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .alt-card{ border:1px solid var(--line); padding:22px; }
  .alt-card .dur{ font-family:var(--font-display); font-weight:600; font-size:1.15rem; margin-bottom:8px; }
  .alt-card .rt{ font-size:0.86rem; color:#4a3f37; margin-bottom:14px; }
  .alt-card a{ font-size:0.86rem; color:var(--indigo); text-decoration:none; font-weight:600; }
  .alt-card a:hover{ text-decoration:underline; }
  .alt-card.current{ background:var(--indigo); color:var(--paper); border-color:var(--indigo); }
  .alt-card.current .rt{ color:rgba(255,255,255,0.75); }
  .alt-card.current a{ color:var(--marigold); }
  @media (max-width:760px){ .alt-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .alt-grid{ grid-template-columns:1fr; } }

  /* Reviews */
  .reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  .review{ background:var(--paper); padding:26px; }
  .review .stars{ color:var(--marigold); font-size:0.9rem; margin-bottom:12px; letter-spacing:2px; }
  .review blockquote{ margin:0 0 14px; font-size:0.96rem; }
  .review cite{ font-style:normal; font-size:0.85rem; color:#7a6d62; display:block; }
  @media (max-width:760px){ .reviews{ grid-template-columns:1fr; } }

  /* Author */
  .trust{ display:flex; gap:22px; align-items:flex-start; background:var(--indigo); color:var(--paper); padding:32px; }
  .trust img{ width:64px; height:64px; border-radius:50%; flex-shrink:0; }
  .trust h3{ font-size:1.1rem; margin-bottom:6px; }
  .trust p{ margin:0; opacity:0.85; font-size:0.94rem; max-width:62ch; }
  .trust a{ color:var(--marigold); font-size:0.86rem; }
  @media (max-width:600px){ .trust{ flex-direction:column; } }

  /* FAQ */
  .faq-item{ border-bottom:1px solid var(--line); }
  .faq-item summary{ cursor:pointer; padding:18px 4px; font-family:var(--font-display); font-weight:600; font-size:1.02rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:"+"; font-size:1.4rem; color:var(--marigold); flex-shrink:0; }
  .faq-item[open] summary::after{ content:"–"; }
  .faq-item p{ margin:0 0 20px; padding:0 4px; color:#4a3f37; }

  /* Sources */
  .sources{ list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:0.92rem; }
  .sources li{ padding-left:20px; position:relative; }
  .sources li::before{ content:"›"; position:absolute; left:0; color:var(--brick); font-weight:700; }
  .sources a{ text-decoration:underline; }

  /* Final CTA */
  .final-cta{ background:var(--indigo); color:var(--paper); padding:56px 32px; text-align:center; }
  .final-cta h2{ color:var(--paper); font-size:2rem; margin-bottom:12px; }
  .final-cta p{ max-width:56ch; margin:0 auto 26px; opacity:0.88; }
  .cta-form{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:760px; margin:0 auto 22px; }
  .cta-form input, .cta-form select{
    flex:1 1 160px; padding:12px 14px; border:1px solid rgba(255,255,255,0.35);
    background:rgba(255,255,255,0.08); color:var(--paper); font-family:var(--font-body); font-size:0.92rem;
  }
  .cta-form input::placeholder{ color:rgba(255,255,255,0.6); }
  .cta-form select option{ color:var(--ink); }

.single-tours table{
	margin:0 0 0 !important;
}