*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --navy: #0a2342;
    --red: #c0392b;
    --red-dark: #a93226;
    --gold: #f0c040;
    --white: #ffffff;
    --light-gray: #f5f5f5;
    --text-dark: #222;
  }

  body { font-family: 'Open Sans', sans-serif; overflow-x: hidden; }

  /* ===== TOP BAR ===== */
  .top-bar {
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    padding: 6px 20px;
    text-align: right;
    font-size: 12px;
    color: #555;
    display: none;
  }

  /* ===== NAVBAR ===== */
  .navbar {
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  .navbar-inner {
    max-width: 1350px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0px 0 40px;
  }

  /* Logo */
  .logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
  }
  .logo-icon {
    width: 56px;
    height: 56px;
  }
  .logo-text { line-height: 1.1; }
  .logo-text .line1 {
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: 1px;
    display: block;
  }
  .logo-text .line2 {
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--red);
    letter-spacing: 1px;
    display: block;
  }

  /* Desktop Nav Links */
  .nav-links {
    display: flex;
    align-items: center;
    list-style: none;
    gap: 4px;
    flex: 1;
    justify-content: center;
  }
  .nav-links > li { position: relative; }
  .nav-links > li > a {
    display: block;
    padding: 24px 14px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dark);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s;
    white-space: nowrap;
  }
  .nav-links > li > a:hover { color: var(--red); }
  .nav-links > li > a .arrow {
    font-size: 10px;
    margin-left: 4px;
    display: inline-block;
  }

  /* Dropdown */
  .dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 230px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    border-top: 3px solid var(--red);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.25s ease;
    z-index: 999;
    list-style: none;
  }
  .nav-links > li:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .dropdown li a {
    display: block;
    padding: 10px 18px;
    font-size: 13px;
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.15s, color 0.15s;
  }
  .dropdown li:last-child a { border-bottom: none; }
  .dropdown li a:hover { background: var(--red); color: #fff; }

  /* Phone block */
  .phone-block {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #003A6C;
    padding: 0 45px;
    height: 120px;
    margin-right: 0px;
    flex-shrink: 0;
  }
  .phone-icon {
    width: 36px;
    height: 36px;
    background: var(--red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .phone-icon svg { width: 18px; height: 18px; fill: #fff; }
  .phone-info { text-align: left; }
  .phone-number {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 25px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
  }
  .phone-sub {
    display: block;
    font-size: 11px;
    color: #aac0d8;
    white-space: nowrap;
  }

  /* Hamburger */
  .hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 6px;
    background: none;
    border: none;
  }
  .hamburger span {
    display: block;
    width: 26px;
    height: 3px;
    background: var(--navy);
    border-radius: 2px;
    transition: all 0.3s;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* Mobile menu */
  .mobile-menu {
    display: none;
    position: fixed;
    top: 136px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    overflow-y: auto;
    z-index: 998;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  .mobile-menu.open { transform: translateX(0); }
  .mobile-nav { list-style: none; padding: 0; }
  .mobile-nav li a {
    display: block;
    padding: 14px 24px;
    font-weight: 700;
    font-size: 14px;
    color: var(--navy);
    text-decoration: none;
    text-transform: uppercase;
    border-bottom: 1px solid #eee;
    letter-spacing: 0.5px;
  }
  .mobile-nav li a:hover { background: #f5f5f5; color: var(--red); }
  .mobile-sub {
    list-style: none;
    background: #f9f9f9;
    display: none;
  }
  .mobile-sub.open { display: block; }
  .mobile-sub li a {
    padding: 11px 38px;
    font-size: 13px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
  }
  .mobile-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }
  .mobile-toggle .caret {
    font-size: 12px;
    transition: transform 0.3s;
  }
  .mobile-toggle.open .caret { transform: rotate(180deg); }
  .mobile-phone-block {
    background: var(--navy);
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .mobile-phone-block .phone-number { font-size: 20px; }

  /* ===== CAROUSEL / HERO ===== */
  .hero {
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .slides-wrapper {
    display: flex;
    transition: transform 0.7s cubic-bezier(0.77,0,0.18,1);
    will-change: transform;
  }

  .slide {
    min-width: 100%;
    position: relative;
    height: 480px;
  }
	.slide1{
	background-image: url('../../images/Leeds-Castle.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
	}
	
	.slide2{
	background-image: url('../../images/stonehenge-1.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
	}
	
	.slide3{
	background-image: url("../../images/windsor-castle.webp");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
	}
	
	.slide4{
	background-image: url("../../images/winter-offer.webp");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
	}

  .slide-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* fallback colored backgrounds per slide */
  /*.slide:nth-child(1) .slide-bg-fallback { background: linear-gradient(135deg, #1a3a5c 0%, #2d6a8f 50%, #4a8fa8 100%); }
  .slide:nth-child(2) .slide-bg-fallback { background: linear-gradient(135deg, #2c4a1e 0%, #4a7c3a 50%, #6aaa55 100%); }
  .slide:nth-child(3) .slide-bg-fallback { background: linear-gradient(135deg, #4a2c1e 0%, #7c5a3a 50%, #a88055 100%); }

  .slide-bg-fallback {
    position: absolute;
    inset: 0;
    z-index: 0;
  }*/

  /* Dark overlay for readability */
  .slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 60%, rgba(0,0,0,0) 100%);
    z-index: 1;
  }

  /* Slide content */
  .slide-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 0 36px 0;
  }

  /* Tour card (red box) */
  .tour-card {
    position: absolute;
    top: 20%;
    left: 80px;
    width: 280px;
    background: var(--red);
    padding: 18px 20px 22px;
    z-index: 3;
  }
 .tour-card-badge {
    position: absolute;
    top: 1px;
    right: -11px;
    background: var(--navy);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 0px;
    transform: rotate(30deg);
    transform-origin: top left;
    text-align: center;
    line-height: 1.3;
    width: 80px;
}
  .tour-card-label {
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 8px;
    display: block;
  }
  .tour-card-sub {
    font-size: 11px;
    color: var(--gold);
    font-weight: 600;
    margin-bottom: 4px;
    display: block;
  }
  .hero .tour-card-title {
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 8px;
  }
  .hero .tour-card-desc {
    font-size: 12px;
    color: #fff;
    line-height: 1.5;
    margin-bottom: 12px;
  }
  .tour-card-avail {
    font-size: 11px;
    color: rgba(255,255,255,0.65);
    margin-bottom: 12px;
    display: block;
  }
  .tour-card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--gold);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .tour-card-link svg { width: 14px; height: 14px; fill: var(--gold); }

  /* TripAdvisor badge */
  .tripadvisor-badge {
    position: absolute;
    right: 130px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    background: rgba(255,255,255,0.95);
    border-radius: 50%;
    width: 120px;
    height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.25);
    padding: 10px;
  }
  .tripadvisor-text {
    font-size: 14px;
    font-weight: 700;
    color: #333;
    letter-spacing: -0.5px;
  }
  .tripadvisor-text .trip { color: #222; }
  .tripadvisor-text .advisor { color: #00aa6c; }
  .ta-dots {
    display: flex;
    gap: 3px;
    margin-top: 6px;
  }
  .ta-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #00aa6c;
    position: relative;
    overflow: hidden;
  }
  .ta-owl {
    font-size: 26px;
    line-height: 1;
  }

  /* Caption at bottom */
  .slide-caption {
    position: absolute;
    bottom: 36px;
    left: 80px;
    right: 220px;
    z-index: 3;
    color: #fff;
  }
  .slide-caption h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.4;
    text-shadow: 1px 2px 6px rgba(0,0,0,0.5);
  }

  /* Booking Form side tab */
  .booking-tab {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transform-origin: right center;
    background: var(--red);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 18px;
    letter-spacing: 1px;
    cursor: pointer;
    z-index: 10;
    white-space: nowrap;
    transform: translateX(calc(100% - 44px)) translateY(-50%) rotate(90deg);
    /* simpler approach: */
  }

  /* Booking tab - simpler positioning */
  .booking-side-tab {
    position: absolute;
    right: -42px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    background: var(--red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 10px 16px;
    letter-spacing: 1px;
    cursor: pointer;
    z-index: 10;
    white-space: nowrap;
    text-transform: uppercase;
  }

  /* Carousel controls */
  .carousel-dots {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
  }
  .carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    border: 2px solid rgba(255,255,255,0.8);
    cursor: pointer;
    transition: background 0.3s;
  }
  .carousel-dot.active { background: #fff; }

  .carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.35);
    border: none;
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
  }
  .carousel-btn:hover { background: rgba(0,0,0,0.6); }
  .carousel-btn.prev { left: 14px; }
  .carousel-btn.next { right: 60px; }

  /* ===== SLIDE-SPECIFIC BACKGROUNDS using CSS gradients as placeholders ===== */
  /* Using Unsplash for real castle/scenic images */

  /* ===== RESPONSIVE ===== */
  @media (max-width: 900px) {
    .nav-links, .phone-block { display: none; }
    .hamburger { display: flex; }
    .mobile-menu { display: block; }
    .logo-text .line1, .logo-text .line2 { font-size: 15px; }
    .logo-icon { width: 46px; height: 46px; }
  }

  @media (max-width: 900px) {
    .slide { height: 320px; }
    .tour-card { top: 0; left: 12px; width: 200px; padding: 12px 14px 16px; }
    .tour-card-title { font-size: 17px; }
    .hero .tour-card-desc { display: none; }
    .tripadvisor-badge { right: 12px; width: 80px; height: 80px; }
    .ta-owl { font-size: 18px; }
    .tripadvisor-text { font-size: 10px; }
    .ta-dots { gap: 2px; }
    .ta-dot { width: 12px; height: 12px; }
    .slide-caption { left: 12px; right: 100px; bottom: 24px; }
    .slide-caption h2 { font-size: 14px; }
    .carousel-btn.next { right: 14px; }
    .booking-side-tab { display: none; }
	  .tour-card-badge { display: none; }
  }

  @media (max-width: 480px) {
    .slide { height: 260px; }
    .tour-card { width: 170px; left: 8px; }
    .tour-card-title { font-size: 14px; }
    .tour-card-label { font-size: 11px; }
    .tripadvisor-badge { width: 68px; height: 68px; right: 8px; }
    .slide-caption h2 { font-size: 12px; }
    .slide-caption { right: 80px; }
  }
  
  /* Welcome Section */
  .welcome-section {
    background: #fff;
    padding: 60px 20px 0;
  }
  .welcome-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 50px;
    align-items: flex-start;
  }
  .welcome-left {
    flex: 1;
    min-width: 0;
  }
  .welcome-right {
    width: 380px;
    flex-shrink: 0;
    text-align: center;
  }

  /* Left: heading */
  .welcome-heading {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #2a7ab5;
    line-height: 1.35;
    margin-bottom: 20px;
  }
  .welcome-body {
    font-size: 14px;
    color: #444;
    line-height: 1.75;
    margin-bottom: 14px;
  }
  .welcome-body a {
    color: #2a7ab5;
    text-decoration: none;
    font-weight: 600;
  }
  .welcome-body a:hover { text-decoration: underline; }

  /* Sub-heading */
  .welcome-subhead {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #222;
    margin: 24px 0 14px;
    line-height: 1.35;
  }

  /* Bullet list */
  .welcome-list {
    list-style: disc;
    padding-left: 22px;
    margin-bottom: 28px;
  }
  .welcome-list li {
    font-size: 14px;
    color: #444;
    line-height: 1.7;
    margin-bottom: 4px;
  }

  /* Badge logos */
  .badge-logos {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
    flex-wrap: wrap;
  }
  .badge-logo {
    height: 70px;
    width: auto;
    object-fit: contain;
  }
  /* SVG-rendered badges */
  .badge-svg-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
  }

  /* Read More button */
  .read-more-btn {
    display: inline-block;
    background: #1a5a8a;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 14px 32px;
    text-decoration: none;
    transition: background 0.2s;
    margin-bottom: 48px;
  }
  .read-more-btn:hover { background: #0a3a6a; }

  /* Right: globe image + text */
  .globe-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 400;
    color: #222;
    margin-bottom: 18px;
    text-align: left;
  }
  .globe-img-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
	    margin-top: 20px;
  }
  .globe-img-wrap img {
  animation: rotateClockwise 20s linear infinite;
  transform-origin: center center;
}

@keyframes rotateClockwise {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
  .globe-sub {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    color: #2a7ab5;
    font-weight: 400;
    margin: 10px 0 4px;
  }
  
  .globe-country {
  font-size: 60px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 4px;

  background-image: url("../../images/animation-title-bg.webp");
  background-size: 200% auto;
  background-position: 0 center;

  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;

  animation: moveBg 6s linear infinite;
}

@keyframes moveBg {
  from {
    background-position: 0 center;
  }
  to {
    background-position: 100% center;
  }
}
  .globe-with {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    color: #2a7ab5;
    font-weight: 600;
    margin-bottom: 4px;
  }

  /* CTA buttons row */
  .cta-row {
    background: #fff;
    padding: 28px 20px 50px;
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
  }
  .cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 40px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity 0.2s, transform 0.15s;
    border: none;
    cursor: pointer;
  }
  .cta-btn:hover { opacity: 0.88; transform: translateY(-1px); }
  .cta-btn-inquiry {
    background: #1a3a6a;
    color: #fff;
  }
  .cta-btn-call {
    background: #1a4a7a;
    color: #fff;
  }
  .cta-btn svg {
    width: 16px;
    height: 16px;
    fill: #fff;
    flex-shrink: 0;
  }

  /* Responsive */
  @media (max-width: 900px) {
    .welcome-inner {
      flex-direction: column;
      gap: 30px;
    }
    .welcome-right {
      width: 100%;
    }
    .globe-title { text-align: center; }
    .globe-country { font-size: 38px; }
  }
  @media (max-width: 480px) {
    .welcome-heading { font-size: 20px; }
    .globe-country { font-size: 30px; }
    .cta-btn { padding: 14px 24px; font-size: 12px; }
  }
  
  
  /* Section header banner */
  .section-banner {
    background: #0a2d5e;
    position: relative;
    text-align: center;
    padding: 0;
    margin: 0;
  }
  .diff-section .section-banner::before, .section-banner::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(32% - 200px);
    height: 1px;
    background: rgba(255, 255, 255, 0.4);
}
  .section-banner::before { left: 20px; }
  .section-banner::after  { right: 20px; }
  .section-banner h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 50px;
    font-weight: 700;
    color: #fff;
    display: inline-block;
    position: relative;
    z-index: 1;
    margin: 0;
  }
  /* Down-arrow notch */
  .section-banner-arrow {
    width: 0;
    height: 0;
    border-left: 28px solid transparent;
    border-right: 28px solid transparent;
    border-top: 22px solid #0a2d5e;
    margin: 0 auto;
  }

	.our-guide::before,
	.our-guide::after{
	    width: calc(50% - 250px);
	}
  /* Content area */
  .guided-tours-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px 60px;
    text-align: center;
  }
  .guided-tours-content p {
    font-size: 15px;
    color: #444;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .guided-tours-content p a {
    color: #0a2d5e;
    font-weight: 700;
    text-decoration: none;
  }
  .guided-tours-content p a:hover { text-decoration: underline; }

  .gt-subhead {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #111;
    margin: 36px 0 14px;
  }
  .gt-subhead2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin: 32px 0 12px;
  }

  @media (max-width: 600px) {
    .section-banner h2 { font-size: 24px; }
    .section-banner::before,
    .section-banner::after { display: none; }
    .gt-subhead { font-size: 20px; }
  }
  
  
  .tours-grid-section {
    background: #fff;
    padding: 10px 20px 50px;
  }
  .tours-grid-inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  .tours-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
  }
  .tour-card-item {
    background: #fff;
    border: 1px solid #e8e8e8;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  }
  .tour-card-img {
    width: 100%;
    overflow: hidden;
    flex-shrink: 0;
  }
  .tour-card-img img {
    width: 100%;
    height: 100%;
    display: block;
  }
  .tour-card-body {
    padding: 18px 18px 0;
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  .tour-card-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 10px;
  }
  .tour-duration {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
    color: #c0392b;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 12px;
  }
  .tour-duration svg {
    width: 16px;
    height: 16px;
    stroke: #c0392b;
    fill: none;
    flex-shrink: 0;
  }
  .tour-card-desc {
    font-size: 13.5px;
    color: #000;
    line-height: 1.7;
    flex: 1;
    margin-bottom: 0;
  }
  /* View Tour button — navy with left-arrow notch */
  .tour-card-footer {
    margin-top: 16px;
    display: flex;
    justify-content: flex-end;
    padding: 0;
  }
  .view-tour-btn {
    position: relative;
    background: #0a2d5e;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 11px 22px 11px 30px;
    text-decoration: none;
    display: inline-block;
    clip-path: polygon(14px 0%, 100% 0%, 100% 100%, 14px 100%, 0% 50%);
    transition: background 0.2s;
  }
  .view-tour-btn:hover { background: #0d3a78; }

  /* Cannot find row */
  .tours-cta-footer {
    text-align: center;
    padding: 10px 0 0;
  }
  .tours-cta-footer p {
    font-size: 14px;
    color: #555;
    margin-bottom: 16px;
  }
  .view-all-btn {
    display: inline-block;
    background: #0a2d5e;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 16px 44px;
    text-decoration: none;
    transition: background 0.2s;
  }
  .view-all-btn:hover { background: #0d3a78; }

  @media (max-width: 860px) {
    .tours-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 540px) {
    .tours-grid { grid-template-columns: 1fr; }
    .tour-card-title { font-size: 16px; }
  }
  
  .reviews-section {
    background: #fff;
    padding: 55px 20px 40px;
  }
  .reviews-heading {
    text-align: center;
    margin-bottom: 10px;
  }
  .reviews-heading h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #888;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  .reviews-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
    gap: 0;
  }
  .reviews-divider-line {
    width: 38px;
    height: 2px;
    background: #0a2d5e;
  }
  .reviews-divider-icon {
    width: 26px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .reviews-divider-icon svg {
    width: 22px;
    height: 14px;
    fill: #0a2d5e;
  }
  .reviews-slider-outer {
    max-width: 1160px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
  }
  .reviews-track {
    display: flex;
    transition: transform 0.55s cubic-bezier(0.77,0,0.18,1);
    will-change: transform;
  }
  .reviews-slide {
    min-width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 8px 4px 18px;
    box-sizing: border-box;
  }
  .review-card {
    background: #f5f7fa;
    border: 1px solid #e8ecf0;
    padding: 24px 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow 0.25s;
  }
  .review-card:hover {
    box-shadow: 0 6px 24px rgba(10,45,94,0.10);
  }
  .review-card-header {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .review-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 3px solid #dde4ee;
    overflow: hidden;
    background: #ccd4e0;
  }
  .review-avatar svg {
    width: 100%;
    height: 100%;
    display: block;
  }
  .review-name {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #1a5a9a;
    line-height: 1.2;
  }
  .review-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 13.5px;
    color: #555;
    line-height: 1.78;
    margin: 0;
  }
  .reviews-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 22px 0 30px;
  }
  .reviews-dot {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #c0ccd8;
    cursor: pointer;
    transition: background 0.25s;
    border: none;
    padding: 0;
    outline: none;
  }
  .reviews-dot.active { background: #0a2d5e; }
  .reviews-cta {
    text-align: center;
  }
  .reviews-cta a {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #0a2d5e;
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s;
  }
  .reviews-cta a:hover { border-bottom-color: #0a2d5e; }

  @media (max-width: 860px) {
    .reviews-slide { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 540px) {
    .reviews-slide { grid-template-columns: 1fr; }
    .review-name { font-size: 15px; }
    .reviews-heading h2 { font-size: 12px; letter-spacing: 2px; }
  }
  
  .blog-section {
    background: #fff;
    padding: 55px 20px 60px;
  }
  .blog-heading {
    text-align: center;
    margin-bottom: 8px;
  }
  .blog-heading h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #888;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 14px;
  }
  .blog-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 44px;
  }
  .blog-divider-line {
    width: 38px;
    height: 2px;
    background: #0a2d5e;
  }
  .blog-divider-icon {
    width: 26px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .blog-divider-icon svg {
    width: 22px;
    height: 14px;
    fill: #0a2d5e;
  }
  .blog-grid {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
  }
  .blog-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    cursor: pointer;
  }
  .blog-card-img {
    width: 100%;
    overflow: hidden;
    flex-shrink: 0;
    display: block;
  }
  .blog-card-img img {
    width: 100%;
    height: 100%;
    display: block;
    transition: transform 0.4s ease;
  }
  .blog-card:hover .blog-card-img svg {
    transform: scale(1.04);
  }
  .blog-card-body {
    padding: 18px 0 0;
  }
  .blog-card-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #111;
    line-height: 1.45;
    margin-bottom: 10px;
    text-decoration: none;
    display: block;
  }
  .blog-card-title:hover { color: #0a2d5e; }
  .blog-card-date {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: #999;
    margin-bottom: 10px;
  }
  .blog-card-date svg {
    width: 14px;
    height: 14px;
    fill: #bbb;
    flex-shrink: 0;
  }
  .blog-card-excerpt {
    font-size: 13.5px;
    color: #666;
    line-height: 1.75;
  }

  @media (max-width: 860px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 540px) { .blog-grid { grid-template-columns: 1fr; } }
  
  
  .diff-section { background: #fff; padding: 0 0 60px; }

  .diff-intro {
    max-width: 1300px;
    margin: 0 auto;
    padding: 38px 24px 30px;
    text-align: center;
  }
  .diff-intro p {
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 16px;
  }

  .diff-grid {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .diff-card {
    background: #ffffff;
    border: 1px solid #e4eaf2;
    padding: 36px 28px 32px;
    text-align: center;
    transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
    cursor: pointer;
  }
  .diff-card:hover {
    box-shadow: 0 8px 32px rgba(42, 138, 181, 0.18), 0 2px 8px rgba(0,0,0,0.08);
    transform: translateY(-4px);
    border-color: #b0d8ee;
  }
  .diff-icon {
    margin-bottom: 20px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .diff-icon svg {
    width: 64px;
    height: 64px;
    stroke: #2a8ab5;
    fill: none;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .diff-card h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin-bottom: 14px;
  }
  .diff-card p {
    font-size: 14px;
    color: #666;
    line-height: 1.75;
  }

  @media (max-width: 860px) { .diff-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 520px) { .diff-grid { grid-template-columns: 1fr; } }
  
  
  .stats-section {
    position: relative;
    overflow: hidden;
    padding: 52px 20px;
    background-image: url('../../images/world-map.webp');
	background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .stats-bg {
    display: none;
  }
  .stats-overlay {
    position: absolute;
    inset: 0;
    background: rgba(8, 35, 80, 0.78);
    z-index: 1;
  }
  .stats-inner {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
  }
  .stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
    padding: 0 10px;
    gap: 0;
  }
  .stat-icon-wrap {
    width: 68px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
  }
  .stat-icon-wrap svg {
    width: 60px;
    height: 60px;
    fill: #ffffff;
  }
  .stat-number {
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
  }
  .stat-label {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,0.88);
    font-weight: 400;
    letter-spacing: 0.2px;
  }
  /* Pin dot separator */
  .stat-sep {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 44px;
    flex-shrink: 0;
    position: relative;
    width: 80px;
  }
  /* Dashed curve line inside separator */
  .stat-sep-svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -68%);
    width: 100px;
    height: 50px;
    pointer-events: none;
    z-index: 0;
  }
  .stat-pin-dot {
    width: 34px;
    height: 34px;
    background: #1a4080;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 4px rgba(255,255,255,0.1);
    position: relative;
    z-index: 1;
  }
  .stat-pin-dot svg {
    width: 16px;
    height: 16px;
    fill: #fff;
  }

  @media (max-width: 760px) {
    .stats-inner { flex-wrap: wrap; gap: 30px; }
    .stat-sep { display: none; }
    .stat-item { min-width: 140px; flex: 0 0 40%; }
  }
  @media (max-width: 420px) {
    .stat-item { flex: 0 0 45%; }
    .stat-number { font-size: 28px; }
  }
  
  
  
  
  .site-footer {
    background: #0d2a5e;
    color: #fff;
    padding: 50px 20px 0;
  }
  .footer-inner {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr;
    gap: 50px;
    padding-bottom: 40px;
  }

  /* Col 1: brand + info */
  .footer-brand-name {
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 16px;
  }
  .footer-brand-name .white { color: #fff; }
  .footer-brand-name .red   { color: #e03020; }
  .footer-brand-name .grey  { color: #fff; }

  .footer-desc {
    font-size: 13.5px;
    color: rgba(255,255,255,0.75);
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
  }
  .footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13px;
    color: rgba(255,255,255,0.8);
    line-height: 1.5;
  }
  .footer-contact-list li svg {
    width: 14px;
    height: 14px;
    fill: rgba(255,255,255,0.7);
    flex-shrink: 0;
    margin-top: 2px;
  }
  .footer-contact-list a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
  }
  .footer-contact-list a:hover { color: #fff; text-decoration: underline; }

  /* Col 2: Our Menu */
  .footer-col-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 22px;
  }
  .footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
  }
  .footer-menu li {
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }
  .footer-menu li:first-child { border-top: 1px solid rgba(255,255,255,0.1); }
  .footer-menu li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    font-size: 13.5px;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.2s;
  }
  .footer-menu li a:hover { color: #fff; }
  .footer-menu li a::before {
    content: '›';
    font-size: 16px;
    color: rgba(255,255,255,0.5);
    line-height: 1;
  }

  /* Col 3: Connect with us */
  .footer-social {
    display: flex;
    gap: 10px;
    margin-top: 4px;
  }
  .footer-social-btn {
    width: 42px;
    height: 42px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: opacity 0.2s;
  }
  .footer-social-btn:hover { opacity: 0.85; }
  .footer-social-btn.fb { background: #1877f2; }
  .footer-social-btn.ta { background: #00aa6c; }
  .footer-social-btn svg {
    width: 20px;
    height: 20px;
    fill: #fff;
  }

  /* Bottom bar */
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.12);
    padding: 16px 20px;
    text-align: left;
    max-width: 100%;
  }
  .footer-bottom-inner {
    max-width: 1160px;
    margin: 0 auto;
  }
  .footer-bottom p {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    margin: 0;
  }

  /* Floating buttons */
  .float-btns {
    position: fixed;
    right: 16px;
    bottom: 80px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 999;
  }
  .float-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 3px 12px rgba(0,0,0,0.25);
    transition: transform 0.2s;
  }
  .float-btn:hover { transform: scale(1.08); }
  .float-btn.email { background: #1a5a9a; }
  .float-btn.whatsapp { background: #25d366; }
  .float-btn svg { width: 22px; height: 22px; fill: #fff; }

  /* Booking side tab (right edge) */
  .booking-form-tab {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 998;
  }
  .booking-form-tab a {
   display: block;
    background: #c0392b;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    padding: 35px 16px;
    text-decoration: none;
    transform: rotate(0deg);
    transition: background 0.2s;
  }
  .booking-form-tab a:hover { background: #a93226; }

  @media (max-width: 860px) {
    .footer-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
  }
  @media (max-width: 540px) {
    .footer-inner { grid-template-columns: 1fr; gap: 28px; }
    .footer-brand-name { font-size: 20px; }
  }
  
  
/***********about css***************/

.page-banner {
	background-image: url('../../images/about-banner.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    width: 100%;
    height: 320px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .page-banner-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .page-banner-bg svg {
    width: 100%;
    height: 100%;
    display: block;
  }
  .page-banner-overlay {
    position: absolute;
    inset: 0;
    background: rgb(83 91 106 / 58%);
  }
  .page-banner-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
  }
  .page-banner-content h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 14px;
    text-transform: uppercase;
  }
  .breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255,255,255,0.85);
  }
  .breadcrumb a {
    color: rgba(255,255,255,0.85);
    text-decoration: none;
  }
  .breadcrumb a:hover { color: #fff; }
  .breadcrumb-sep {
    font-size: 12px;
    opacity: 0.6;
  }
  .breadcrumb-current {
    color: #fff;
    font-weight: 600;
  }

  @media (max-width: 600px) {
    .page-banner { height: 220px; }
    .page-banner-content h1 { font-size: 28px; }
  }
  
  
  
  /* ================================================================
     SECTION 1 — Meet LCT  (text 60% left | tall single image right)
  ================================================================ */
  .au-meet {
    max-width: 1160px;
    margin: 0 auto;
    padding: 65px 24px 60px;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: start;
  }
  .au-meet h1 {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #111;
    margin: 0 0 24px;
    line-height: 1.3;
  }
  .au-p {
    font-size: 14.5px;
    color: #555;
    line-height: 1.9;
    margin-bottom: 16px;
  }
  .au-p:last-child { margin-bottom: 0; }
  /* Tall photo right */
  .au-meet-img {
    width: 100%;
/*	max-height: 430px;*/
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.13);
  }
  
  .au-meet-img img{width: 100%;}
  
  .au-meet-img svg { width: 100%; display: block; }

  /* ================================================================
     SECTION 2 — Heritage (navy full-width bg, image left, text right)
  ================================================================ */
  .au-heritage-band {
    background: #0d2a5e;
    padding: 20px 0;
  }
  .au-heritage-inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 50px;
    align-items: center;
    min-height: 320px;
  }
  .au-heritage-img {
    width: 100%;
	  /*  max-height: 350px;*/
    overflow: hidden;
    border-radius: 2px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  }
  
  .au-heritage-img img{width:100%;}
  
  .au-heritage-img svg { width: 100%; display: block; }
  .au-heritage-text h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 20px;
    line-height: 1.35;
  }
  .au-heritage-text p {
    font-size: 14px;
    color: rgba(255,255,255,0.88);
    line-height: 1.85;
    margin-bottom: 14px;
    text-align: center;
  }
  .au-heritage-text p:last-child { margin-bottom: 0; }
  .au-heritage-text a { color: #7cc8ff; text-decoration: none; }
  .au-heritage-text a:hover { text-decoration: underline; }

  /* ================================================================
     SECTION 3 — What Makes Us Different
     Big H2 centred, then 2-col grid of cards
  ================================================================ */
  .au-different {
    max-width: 1160px;
    margin: 0 auto;
    padding: 65px 24px 65px;
  }
  .au-different-heading {
    font-family: 'Open Sans', sans-serif;
    font-size: 38px;
    font-weight: 700;
    color: #0d2a5e;
    text-align: center;
    margin: 0 0 44px;
    line-height: 1.2;
  }
  .au-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .au-card {
    background: #f5f7fa;
    border: 1px solid #e8edf4;
    padding: 32px 30px 36px;
    text-align: center;
  }
  .au-card h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #111;
    margin: 0 0 20px;
    line-height: 1.3;
  }
  .au-card p {
    font-size: 14px;
    color: #555;
    line-height: 1.85;
    margin-bottom: 14px;
    text-align: center;
  }
  .au-card p:last-child { margin-bottom: 0; }

  /* Tailored card — left-aligned content, bullet list */
  .au-card.left-align { text-align: left; }
  .au-card.left-align h3 { text-align: left; }
  .au-card.left-align p  { text-align: left; }

  /* "Your tour can be tailored" card */
  .au-card.tailored-list h3 {
    color: #0d2a5e;
    text-align: left;
    margin-bottom: 20px;
  }
  .au-tailored-list {
    list-style: disc;
    padding-left: 20px;
    margin: 0 0 18px;
  }
  .au-tailored-list li {
    font-size: 14px;
    color: #555;
    line-height: 1.75;
    margin-bottom: 6px;
    text-align: left;
  }
  .au-tailored-italic {
    font-size: 13.5px;
    color: #1a6aaa;
    font-style: italic;
    text-align: left;
    margin: 0;
  }

  /* ================================================================
     RESPONSIVE
  ================================================================ */
  @media (max-width: 900px) {
    .au-meet          { grid-template-columns: 1fr; gap: 30px; }
    .au-heritage-inner{ grid-template-columns: 1fr; }
    .au-heritage-img  { max-width: 480px; margin: 0 auto; }
    .au-cards-grid    { grid-template-columns: 1fr; }
    .au-different-heading { font-size: 28px; }
  }
  @media (max-width: 540px) {
    .au-meet { padding: 40px 16px; }
    .au-different { padding: 40px 16px; }
    .au-different-heading { font-size: 24px; }
    .au-heritage-inner { padding: 0 16px; }
    .au-card { padding: 24px 20px 28px; }
  }
  
  
  
  /* ---- Content-only section ---- */
  .au-content-only {
    max-width: 1060px;
    margin: 0 auto;
    padding: 65px 24px 55px;
    text-align: center;
  }

  /* Experience heading — plain black, same size as screenshot */
  .au-co-h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 30px;
    font-weight: 700;
    color: #111;
    margin: 0 0 28px;
    line-height: 1.3;
  }

  /* Why Travel heading — blue, italic style */
  .au-co-h2-blue {
    font-family: 'Open Sans', sans-serif;
    font-size: 30px;
    font-weight: 700;
    color: #0d2a5e;
    margin: 50px 0 20px;
    line-height: 1.3;
  }

  .au-co-p {
    font-size: 14.5px;
    color: #555;
    line-height: 1.9;
    margin-bottom: 16px;
    text-align: center;
  }
  .au-co-p:last-child { margin-bottom: 0; }
  .au-co-p a { color: #1a5a9a; text-decoration: none; font-weight: 600; }
  .au-co-p a:hover { text-decoration: underline; }
  .au-co-p strong { color: #111; font-weight: 700; }

  /* Sub-heading "Discover the North" — bold, centred */
  .au-co-subhead {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin: 22px 0 12px;
    text-align: center;
  }

  /* Let's Plan box — light grey bg, 2-col inside */
  .au-plan-box {
    background: #f5f7fa;
    border: 1px solid #e8edf4;
    margin-top: 44px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 0;
    text-align: left;
  }
  .au-plan-left {
    padding: 44px 36px 44px 40px;
    border-right: 1px solid #e0e6f0;
    display: flex;
    align-items: center;
  }
  .au-plan-left h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 34px;
    font-weight: 700;
    color: #0d2a5e;
    line-height: 1.2;
    margin: 0;
  }
  .au-plan-right {
    padding: 44px 40px 44px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
  }
  .au-plan-right p {
    font-size: 14.5px;
    color: #555;
    line-height: 1.85;
    margin: 0;
    text-align: left;
  }

  @media (max-width: 860px) {
    .au-plan-box { grid-template-columns: 1fr; }
    .au-plan-left { border-right: none; border-bottom: 1px solid #e0e6f0; padding: 32px 28px; }
    .au-plan-right { padding: 28px; }
    .au-plan-left h2 { font-size: 26px; }
    .au-co-h2, .au-co-h2-blue { font-size: 24px; }
  }
  @media (max-width: 540px) {
    .au-content-only { padding: 40px 16px 40px; }
    .au-co-h2, .au-co-h2-blue { font-size: 20px; }
  }

  /* ---- About Us full-width bg section ---- */
  .au-about-band {
    position: relative;
    overflow: hidden;
    padding: 60px 20px 64px;
    background-color: #0d2a5e;
  background-image: url('../../images/about-us-mid.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
  }
  /* dark overlay so text stays readable */
  .au-about-band::before {
    content: '';
    position: absolute;
    inset: 0;
  }
  .au-about-band-inner {
    position: relative;
    z-index: 1;
    max-width: 1060px;
    margin: 0 auto;
  }

  /* "About Us" heading with lines either side */
  .au-band-heading-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 36px;
  }
  .au-band-line {
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,0.35);
    max-width: 280px;
  }
  /* Down-arrow triangle (same style as Our Guided Tours) */
  .au-band-arrow {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 16px solid #fff;
    opacity: 0.18;
  }
  .au-band-heading {
    font-family: 'Open Sans', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    padding: 0 28px;
    margin: 0;
    white-space: nowrap;
  }
  .au-band-p {
    font-size: 14.5px;
    color: rgba(255,255,255,0.88);
    line-height: 1.9;
    margin-bottom: 18px;
    text-align: center;
  }
  .au-band-p:last-of-type { margin-bottom: 36px; }

  /* VIEW OUR TOURS button — white border, white text */
  .au-band-btn {
    display: inline-block;
    border: 2px solid rgba(255,255,255,0.8);
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 14px 38px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    background: transparent;
  }
  .au-band-btn:hover {
    background: rgba(255,255,255,0.15);
  }

  @media (max-width: 600px) {
    .au-band-heading { font-size: 26px; padding: 0 16px; }
    .au-about-band { padding: 44px 16px 50px; }
  }
  
  /* ===== CONTACT SECTION ===== */
  .contact-section {
    max-width: 1160px;
    margin: 0 auto;
    padding: 60px 24px 80px;
  }

  /* ---- HEADING BLOCK ---- */
  .contact-heading {
    text-align: center;
    margin-bottom: 44px;
  }
  .contact-heading h1 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #0d2a5e;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  .contact-heading p {
    font-size: 14.5px;
    color: #555;
    line-height: 1.75;
    margin-bottom: 10px;
  }
  .contact-heading .phone-line {
    font-size: 14.5px;
    color: #555;
    margin-bottom: 10px;
  }
  .contact-heading .phone-line a {
    color: #0d2a5e;
    font-weight: 700;
    text-decoration: none;
  }
  .contact-heading .phone-line a:hover { text-decoration: underline; }
  .contact-heading .note {
    font-size: 14px;
    color: #555;
    line-height: 1.75;
  }

  /* ---- TWO-COLUMN LAYOUT ---- */
  .contact-body {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 60px;
    align-items: start;
  }

  /* ---- LEFT: Contact Info ---- */
  .contact-info h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #111;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 24px;
  }
  .contact-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  .contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }
  .contact-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #0d2a5e;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
  }
  .contact-icon svg {
    width: 18px;
    height: 18px;
    fill: #fff;
  }
  .contact-info-text {
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    padding-top: 8px;
  }
  .contact-info-text a {
    color: #333;
    text-decoration: none;
  }
  .contact-info-text a:hover { color: #0d2a5e; text-decoration: underline; }

  /* ---- RIGHT: Contact Form ---- */
  .contact-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  /* Two-column row */
  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  /* Input base */
  .form-input {
    width: 100%;
    border: 1px solid #ccd0d8;
    padding: 11px 14px;
    font-size: 13.5px;
    font-family: 'Open Sans', sans-serif;
    color: #333;
    background: #fff;
    outline: none;
    border-radius: 2px;
    transition: border-color 0.2s, box-shadow 0.2s;
    appearance: none;
  }
  .form-input::placeholder { color: #aab0bc; }
  .form-input:focus {
    border-color: #0d2a5e;
    box-shadow: 0 0 0 3px rgba(13,42,94,0.08);
  }

  /* Date + adults + children row */
  .form-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
  }
  input[type="date"].form-input {
    color: #555;
  }

  /* Travel Locations checkboxes */
  .form-checkboxes-label {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin-bottom: 10px;
    display: block;
  }
  .form-checkboxes-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .form-checkbox-item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    user-select: none;
  }
  .form-checkbox-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    border: 1px solid #ccd0d8;
    border-radius: 2px;
    cursor: pointer;
    accent-color: #0d2a5e;
    flex-shrink: 0;
  }

  /* Textarea */
  textarea.form-input {
    resize: vertical;
    min-height: 110px;
    line-height: 1.6;
  }

  /* Send button */
  .form-send-btn {
    display: inline-block;
    background: #e8760a;
    color: #fff;
    border: none;
    padding: 14px 36px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-family: 'Open Sans', sans-serif;
    cursor: pointer;
    border-radius: 2px;
    transition: background 0.2s;
    align-self: flex-start;
  }
  .form-send-btn:hover { background: #c96008; }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 860px) {
    .contact-body {
      grid-template-columns: 1fr;
      gap: 40px;
    }
    .form-row-3 {
      grid-template-columns: 1fr 1fr;
    }
    .form-row-3 input:first-child {
      grid-column: span 2;
    }
  }
  @media (max-width: 540px) {
    .contact-section { padding: 40px 16px 60px; }
    .form-row { grid-template-columns: 1fr; gap: 12px; }
    .form-row-3 { grid-template-columns: 1fr; }
    .form-row-3 input:first-child { grid-column: span 1; }
    .contact-heading h1 { font-size: 18px; letter-spacing: 1px; }
  }
  
  
    /* ===== TOURS SECTION ===== */
  .tours-section {
    max-width: 1160px;
    margin: 0 auto;
    padding: 55px 24px 70px;
  }

  /* Intro heading + text */
  .tours-intro-h1 {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    font-weight: 400;
    color: #111;
    margin-bottom: 14px;
    line-height: 1.35;
  }
  .tours-intro-p {
    font-size: 14px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 44px;
  }
  .tours-intro-p strong {
    font-weight: 700;
    color: #111;
    font-style: italic;
  }

  /* Three-column grid */
  /*.tours-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 0;
  }*/

  /* Each column */
  .tours-col {
    padding: 0 20px;
    border-right: 1px solid #e0e4ea;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .tours-col:first-child { padding-left: 0; }
  .tours-col:last-child  { padding-right: 0; border-right: none; }

  /* Icon */
  .tours-col-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .tours-col-icon img {
    width: 54px;
    height: 54px;
    object-fit: contain;
  }

  /* Column heading */
  .tours-col-heading {
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin-bottom: 12px;
    text-align: center;
  }

  /* Separator line under heading */
  .tours-col-divider {
    width: 100%;
    height: 1px;
    background: #d0d4da;
    margin-bottom: 18px;
  }

  /* List items */
  .tours-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .tours-list li {
    text-align: center;
    padding: 9px 0;
    border-bottom: 1px solid #eef0f3;
    font-size: 14px;
    color: #333;
    line-height: 1.4;
  }
  .tours-list li:last-child { border-bottom: none; }
  .tours-list li a {
    color: #333;
    text-decoration: none;
    transition: color 0.15s;
  }
  .tours-list li a:hover { color: #0d2a5e; }

  /* VIEW ALL button */
  .tours-view-all {
    display: inline-block;
    background: #0d2a5e;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 13px 28px;
    text-decoration: none;
    margin-top: auto;
    transition: background 0.2s;
    clip-path: polygon(10px 0%, 100% 0%, 100% 100%, 10px 100%, 0% 50%);
  }
  .tours-view-all:hover { background: #1a3a7a; }

  /* Responsive */
  @media (max-width: 860px) {
    .tours-grid { grid-template-columns: 1fr; gap: 40px; }
    .tours-col { border-right: none; border-bottom: 1px solid #e0e4ea; padding: 0 0 36px; }
    .tours-col:last-child { border-bottom: none; padding-bottom: 0; }
  }
  @media (max-width: 540px) {
    .tours-section { padding: 36px 16px 50px; }
    .tours-intro-h1 { font-size: 20px; }
  }
  /* ===== FULL WIDTH NAVY SECTION ===== */
  .luxury-band {
    background-color: #0d2a5e;
    width: 100%;
    padding: 60px 0 0;
  }

  .luxury-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
  }

  /* ---- LEFT COLUMN ---- */
  .lux-left {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }

  .lux-left h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin-bottom: 22px;
  }

  .lux-left p {
    font-size: 14.5px;
    color: rgba(255,255,255,0.88);
    line-height: 1.85;
    margin-bottom: 18px;
  }
  .lux-left p:last-of-type {
    margin-bottom: 0;
  }

  /* World image — sits flush to bottom of section */
  .lux-world-img {
    display: block;
    width: 100%;
    max-width: 440px;
    margin: 28px auto 0;
    /* nudge slightly below baseline so it bleeds into the band bottom */
  }

  /* ---- RIGHT COLUMN ---- */
  .lux-right {
    padding-bottom: 60px;
  }

  .lux-right h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin-bottom: 20px;
  }

  .lux-right h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin: 32px 0 16px;
  }

  .lux-right p {
    font-size: 14.5px;
    color: rgba(255,255,255,0.88);
    line-height: 1.85;
    margin-bottom: 14px;
  }
  .lux-right p:last-child {
    margin-bottom: 0;
  }

  /* Responsive */
  @media (max-width: 900px) {
    .luxury-inner {
      grid-template-columns: 1fr;
      gap: 36px;
      padding: 0 24px;
    }
    .lux-right { padding-bottom: 50px; }
    .lux-world-img { max-width: 340px; }
  }
  @media (max-width: 540px) {
    .luxury-band { padding: 40px 0 0; }
    .luxury-inner { padding: 0 16px; }
    .lux-left h2, .lux-right h2 { font-size: 20px; }
    .lux-right h3 { font-size: 18px; }
  }
   /* ===== ZIGZAG SECTION ===== */
  .zigzag-section {
    max-width: 1300px;
    margin: 0 auto;
    padding: 60px 24px 70px;
  }

  /* Main heading */
  .zigzag-main-heading {
    font-family: 'Open Sans', sans-serif;
    font-size: 32px;
    font-weight: 400;
    color: #111;
    margin-bottom: 52px;
    line-height: 1.3;
  }

  /* Each zigzag row */
  .zigzag-row {
    display: grid;
    grid-template-columns: 33% 67%;
    gap: 60px;
    align-items: center;
    margin-bottom: 70px;
    padding-bottom: 70px;
    border-bottom: 1px solid #eee;
  }

  .reverse {
    display: grid;
    grid-template-columns: 60% 40%;
  }

  .zigzag-row:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .zigzag-row .reverse {
  grid-template-columns: 30% 67%;
  }

  /* Image column */
  .zigzag-img {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .zigzag-img svg {
    width: 100%;
    max-width: 440px;
    height: auto;
    display: block;
  }

  /* Text column */
  .zigzag-text h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 400;
    color: #111;
    margin-bottom: 18px;
    line-height: 1.35;
  }
  .zigzag-text p {
    font-size: 14.5px;
    color: #666;
    line-height: 1.85;
    margin-bottom: 16px;
  }
  .zigzag-text p:last-child { margin-bottom: 0; }
  .zigzag-text strong { font-weight: 700; color: #222; }

  /* Row 2: content left, image right — image is the badge */
  .zigzag-badge-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* Responsive */
  @media (max-width: 760px) {
    .zigzag-row { grid-template-columns: 1fr; gap: 30px; }
    /* On mobile, image always goes on top */
    .zigzag-row.reverse .zigzag-img { order: -1; }
    .zigzag-main-heading { font-size: 24px; }
    .zigzag-text h2 { font-size: 19px; }
  }
  @media (max-width: 480px) {
    .zigzag-section { padding: 40px 16px 50px; }
    .zigzag-main-heading { font-size: 20px; }
  }
  
  
    /* ===== TRAVEL ADVICE TWO-COLUMN LAYOUT ===== */
  .ta-layout {
    max-width: 1160px;
    margin: 0 auto;
    padding: 60px 24px 70px;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 50px;
    align-items: start;
  }

  /* ---- LEFT COLUMN ---- */
  .ta-left h1 {
    font-family: 'Open Sans', sans-serif;
    font-size: 28px;
    font-weight: 400;
    color: #111;
    margin-bottom: 14px;
    line-height: 1.3;
  }
  .ta-intro {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 32px;
  }
  .ta-item {
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #eee;
  }
  .ta-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
  .ta-item h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin-bottom: 10px;
  }
  .ta-item p {
    font-size: 14px;
    color: #555;
    line-height: 1.85;
    margin-bottom: 10px;
  }
  .ta-item p:last-child { margin-bottom: 0; }
  .ta-item a { color: #1a5a9a; text-decoration: none; }
  .ta-item a:hover { text-decoration: underline; }

  /* ---- RIGHT COLUMN ---- */
  .ta-right {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: sticky;
    top: 80px;
  }

  /* Booking your tour card */
  .ta-card {
    background: #0d2a5e;
    color: #fff;
    padding: 0 0 28px;
    margin-bottom: 16px;
  }
  .ta-card-img {
    width: 100%;
    /*height: 180px;*/
    overflow: hidden;
    flex-shrink: 0;
  }
  
  .ta-card-img img{width:100%;}
  
  .ta-card-img svg { width: 100%; height: 100%; display: block; }
  .ta-card-body { padding: 22px 24px 0; text-align: center; }
  .ta-card-body h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
  }
  .ta-card-body p {
    font-size: 13.5px;
    color: rgba(255,255,255,0.85);
    line-height: 1.75;
    margin-bottom: 18px;
    text-align: center;
  }
  .ta-card-btn {
    display: inline-block;
    border: 2px solid rgba(255,255,255,0.7);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 11px 28px;
    text-decoration: none;
    transition: background 0.2s;
    background: transparent;
  }
  .ta-card-btn:hover { background: rgba(255,255,255,0.12); }

  /* Info cards (Child Friendly, Disabled Access, Keeping you connected) */
  .ta-info-card {
    padding: 24px 24px 26px;
    text-align: center;
    margin-bottom: 16px;
  }
  .ta-info-card:last-child { margin-bottom: 0; }
  .ta-info-card.navy { background: #0d2a5e; color: #fff; }
  .ta-info-card.navy h3 { color: #fff; }
  .ta-info-card.navy p { color: rgba(255,255,255,0.85); }
  .ta-info-card h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #111;
  }
  .ta-info-card p {
    font-size: 13px;
    line-height: 1.75;
    margin-bottom: 10px;
    text-align: center;
  }
  .ta-info-card p:last-child { margin-bottom: 0; }

  /* Responsive */
  @media (max-width: 900px) {
    .ta-layout { grid-template-columns: 1fr; gap: 40px; }
    .ta-right { position: static; }
  }
  @media (max-width: 540px) {
    .ta-layout { padding: 40px 16px 50px; }
    .ta-left h1 { font-size: 22px; }
  }
  
    /* ===== PAGE WRAPPER ===== */
  .tour-page {
    max-width: 1160px;
    margin: 0 auto;
    padding: 30px 24px 60px;
  }

  /* ===== TOP META BAR ===== */
  .tour-meta {
    display: flex;
    align-items: center;
    gap: 40px;
    padding-bottom: 16px;
    margin-bottom: 0;
  }
  .tour-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .tour-meta-item svg {
    width: 18px;
    height: 18px;
    fill: #e8860a;
  }

  /* ===== TWO-COLUMN LAYOUT ===== */
  .tour-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 36px;
    align-items: start;
  }

  /* ===== LEFT COLUMN ===== */
  .tour-left {}

  /* ---- MAIN SLIDER ---- */
  .main-slider {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    background: #111;
    margin-bottom: 10px;
  }
  .main-slides {
    display: flex;
    height: 100%;
    transition: transform 0.55s cubic-bezier(0.77,0,0.18,1);
    will-change: transform;
  }
  .main-slide {
    min-width: 100%;
    height: 100%;
    flex-shrink: 0;
    overflow: hidden;
  }
  .main-slide svg {
    width: 100%;
    height: 100%;
    display: block;
  }
  /* Prev/Next arrows */
  .slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(0,0,0,0.55);
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background 0.2s;
  }
  .slider-arrow:hover { background: rgba(0,0,0,0.8); }
  .slider-arrow.prev { left: 12px; }
  .slider-arrow.next { right: 12px; }

  /* ---- THUMBNAIL STRIP ---- */
  .thumb-strip {
    display: flex;
    gap: 6px;
    margin-bottom: 32px;
  }
  .thumb-item {
    width: calc(20% - 5px);
    height: 68px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s;
    flex-shrink: 0;
  }
  .thumb-item.active { border-color: #0d2a5e; }
  .thumb-item svg { width: 100%; height: 100%; display: block; }

  /* ---- CONTENT ---- */
  .tour-content h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 400;
    color: #111;
    margin: 0 0 22px;
    line-height: 1.3;
  }
  .tour-section {
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #f0f0f0;
  }
  .tour-section:last-of-type { border-bottom: none; }
  .tour-section h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #111;
    margin-bottom: 12px;
  }
  .tour-section p {
    font-size: 14px;
    color: #555;
    line-height: 1.85;
    margin-bottom: 10px;
  }
  .tour-section p:last-child { margin-bottom: 0; }
  .tour-section a { color: #1a5a9a; text-decoration: none; font-weight: 600; }
  .tour-section a:hover { text-decoration: underline; }
  .tour-section strong { font-weight: 700; color: #111; }

  /* ---- WHY WE ARE DIFFERENT checklist ---- */
  .why-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .why-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    padding: 6px 0;
  }
  .why-list li::before {
    content: '✔';
    color: #2a8a2a;
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 1px;
  }

  /* ---- Quote / highlight box ---- */
  .tour-quote-box {
    background: #e8f0f8;
    border-left: 4px solid #c0392b;
    padding: 20px 22px;
    margin: 24px 0;
    font-size: 14px;
    color: #444;
    line-height: 1.85;
  }
  .tour-quote-box strong { color: #111; font-weight: 700; }
  .tour-quote-box a { color: #1a5a9a; text-decoration: none; font-weight: 600; }

  /* ---- Cancellation note ---- */
  .tour-cancel-note {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #444;
    margin-top: 20px;
  }
  .tour-cancel-note .star { color: #c0392b; font-size: 18px; }

  /* ===== RIGHT COLUMN — PRICE + FORM ===== */
  .tour-right { position: sticky; top: 80px; }

  /* Price header */
  .price-header {
    background: #c07820;
    color: #fff;
    text-align: center;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
  }

  /* Price body */
  .price-body {
    background: #0d2a5e;
    padding: 20px 20px 0;
  }
  .price-from {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
    padding-bottom: 18px;
  }
  .price-from svg {
    width: 18px;
    height: 18px;
    stroke: rgba(255,255,255,0.7);
    fill: none;
    stroke-width: 1.8;
  }
  .price-from-label {
    font-size: 14px;
    color: rgba(255,255,255,0.75);
  }
  .price-amount {
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
  }
  .price-info-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: #fff;
    cursor: pointer;
    margin-left: 4px;
    flex-shrink: 0;
  }

  /* Tabs */
  .price-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .price-tab {
    padding: 13px 10px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: background 0.2s, color 0.2s;
    letter-spacing: 0.3px;
  }
  .price-tab.enquiry { background: #1a4a8a; color: #fff; }
  .price-tab.enquiry.active { background: #f5f7fb; color: #0d2a5e; }
  .price-tab.booknow { background: #c0392b; color: #fff; }
  .price-tab.booknow.active { background: #a02820; color: #fff; }
  .price-tab:hover { opacity: 0.9; }

  /* Form panel */
  .price-form-panel {
    background: #f5f7fb;
    padding: 20px 18px;
    border: 1px solid #e0e6f0;
    border-top: none;
  }
  .price-book-panel {
    background: #f5f7fb;
    padding: 24px 18px;
    border: 1px solid #e0e6f0;
    border-top: none;
    text-align: center;
    display: none;
  }
  .price-book-panel p {
    font-size: 14px;
    color: #555;
    line-height: 1.7;
  }
  .price-book-panel a {
    display: inline-block;
    margin-top: 16px;
    background: #c0392b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 12px 28px;
    text-decoration: none;
  }

  .form-group { margin-bottom: 14px; }
  .form-label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: #444;
    margin-bottom: 5px;
  }
  .form-label span { color: #c0392b; }
  .form-input {
    width: 100%;
    border: 1px solid #ccd4e0;
    padding: 9px 10px;
    font-size: 13px;
    font-family: 'Open Sans', sans-serif;
    color: #333;
    background: #fff;
    outline: none;
    transition: border-color 0.2s;
    border-radius: 0;
    appearance: none;
  }
  .form-input:focus { border-color: #0d2a5e; }
  .form-input-date { position: relative; }
  .form-input-date input { padding-right: 32px; }
  .form-input-date svg {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    fill: #888;
    pointer-events: none;
  }
  select.form-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px;
  }
  textarea.form-input { resize: vertical; min-height: 80px; }

  .form-submit {
    width: 100%;
    background: #0d2a5e;
    color: #fff;
    border: none;
    padding: 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    transition: background 0.2s;
    margin-top: 4px;
  }
  .form-submit:hover { background: #1a3a7a; }

  .admission-note {
    font-size: 12px;
    color: #888;
    text-align: center;
    margin-top: 12px;
    line-height: 1.5;
  }

  /* Wishlist / views row */
  .price-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    background: #f5f7fb;
    border: 1px solid #e0e6f0;
    border-top: 1px solid #e8edf4;
    font-size: 13px;
    color: #555;
  }
  .price-footer-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: #555;
    background: none;
    border: none;
    font-size: 13px;
    font-family: 'Open Sans', sans-serif;
  }
  .price-footer-btn svg { width: 16px; height: 16px; fill: none; stroke: #888; stroke-width: 1.8; }
  .price-footer-views {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #555;
  }
  .price-footer-views svg { width: 16px; height: 16px; fill: #888; }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 900px) {
    .tour-layout { grid-template-columns: 1fr; }
    .tour-right { position: static; }
    .main-slider { height: 220px; }
  }
  @media (max-width: 540px) {
    .tour-page { padding: 20px 14px 40px; }
    .main-slider { height: 180px; }
    .thumb-item { height: 52px; }
    .price-amount { font-size: 28px; }
  }
  
  /* ===== MAIN LAYOUT ===== */
  .blog-page {
    max-width: 1160px;
    margin: 0 auto;
    padding: 50px 24px 70px;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 50px;
    align-items: start;
  }

  /* ===========================
     LEFT — MAIN CONTENT
  =========================== */
  .blog-main {}

  /* --- Meta bar (date, author, comments) --- */
  .blog-meta {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 13px;
    color: #999;
    margin-bottom: 22px;
    flex-wrap: wrap;
  }
  .blog-meta span { display: flex; align-items: center; gap: 5px; }
  .blog-meta svg { width: 14px; height: 14px; fill: #bbb; flex-shrink: 0; }
  .blog-meta a { color: #0d2a5e; text-decoration: none; font-weight: 600; }
  .blog-meta a:hover { text-decoration: underline; }

  /* --- Feature image --- */
  .blog-feature-img {
    width: 100%;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.1);
  }
  .blog-feature-img svg {
    width: 100%;
    display: block;
  }

  /* --- Post title --- */
  .blog-post-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 30px;
    font-weight: 700;
    color: #111;
    line-height: 1.35;
    margin-bottom: 24px;
  }

  /* --- Body text --- */
  .blog-body p {
    font-size: 15px;
    color: #555;
    line-height: 1.9;
    margin-bottom: 18px;
  }
  .blog-body h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin: 36px 0 16px;
    line-height: 1.35;
    padding-bottom: 10px;
    border-bottom: 2px solid #eee;
  }
  .blog-body h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #0d2a5e;
    margin: 28px 0 12px;
    line-height: 1.35;
  }
  .blog-body h4 {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin: 20px 0 10px;
  }
  .blog-body a {
    color: #0d2a5e;
    text-decoration: none;
    font-weight: 600;
  }
  .blog-body a:hover { text-decoration: underline; }
  .blog-body strong { font-weight: 700; color: #222; }

  /* Inline image within post */
  .blog-inline-img {
    float: left;
    margin: 6px 24px 16px 0;
    max-width: 300px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
  }
  .blog-inline-img a { display: block; }
  .blog-inline-img svg { width: 100%; display: block; }
  .clearfix::after { content: ''; display: table; clear: both; }

  /* --- Social share row --- */
  .blog-share {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 36px 0 32px;
    flex-wrap: wrap;
  }
  .blog-share-label {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
  .share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    border: none;
    font-family: 'Open Sans', sans-serif;
    transition: opacity 0.2s;
  }
  .share-btn:hover { opacity: 0.88; }
  .share-btn svg { width: 14px; height: 14px; fill: #fff; }
  .share-fb    { background: #1877f2; }
  .share-tw    { background: #1da1f2; }
  .share-wa    { background: #25d366; }
  .share-pin   { background: #e60023; }
  .share-li    { background: #0a66c2; }
  .share-email { background: #555; }

  /* ===========================
     FAQ SECTION
  =========================== */
  .faq-section {
    margin-top: 44px;
    padding-top: 36px;
    border-top: 2px solid #eee;
  }
  .faq-section h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin-bottom: 24px;
    padding-bottom: 10px;
    border-bottom: 2px solid #eee;
  }
  .faq-item {
    border: 1px solid #e8edf4;
    border-radius: 3px;
    margin-bottom: 12px;
    overflow: hidden;
  }
  .faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    cursor: pointer;
    background: #f7f9fc;
    border: none;
    width: 100%;
    text-align: left;
    font-family: 'Open Sans', sans-serif;
    font-size: 14.5px;
    font-weight: 700;
    color: #0d2a5e;
    gap: 14px;
    transition: background 0.2s;
  }
  .faq-question:hover { background: #eef2f8; }
  .faq-icon {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #0d2a5e;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s;
  }
  .faq-icon svg { width: 12px; height: 12px; fill: #fff; }
  .faq-item.open .faq-icon { transform: rotate(45deg); }
  .faq-answer {
    padding: 0 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.3s ease;
  }
  .faq-item.open .faq-answer {
    max-height: 300px;
    padding: 16px 20px;
  }
  .faq-answer p {
    font-size: 14px;
    color: #555;
    line-height: 1.8;
  }

  /* ===========================
     PREV / NEXT NAVIGATION
  =========================== */
  .blog-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 44px;
    padding-top: 36px;
    border-top: 1px solid #eee;
  }
  .blog-nav-btn {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 18px 20px;
    background: #f7f9fc;
    border: 1px solid #e8edf4;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.2s, border-color 0.2s;
  }
  .blog-nav-btn:hover {
    background: #0d2a5e;
    border-color: #0d2a5e;
  }
  .blog-nav-btn:hover .nav-label,
  .blog-nav-btn:hover .nav-title { color: #fff; }
  .blog-nav-btn.next { text-align: right; align-items: flex-end; }
  .nav-label {
    font-size: 11px;
    font-weight: 700;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s;
  }
  .nav-label svg { width: 14px; height: 14px; fill: currentColor; }
  .nav-title {
    font-size: 14px;
    font-weight: 600;
    color: #0d2a5e;
    line-height: 1.4;
    transition: color 0.2s;
  }

  /* ===========================
     RIGHT SIDEBAR
  =========================== */
  .blog-sidebar { position: sticky; top: 80px; }

  /* About author card */
  .sidebar-card {
    background: #f7f9fc;
    border: 1px solid #e8edf4;
    padding: 24px 22px;
    margin-bottom: 24px;
    border-radius: 3px;
  }
  .sidebar-card-title {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #0d2a5e;
    display: inline-block;
  }

  /* Book Tour CTA card */
  .sidebar-cta {
    background: #0d2a5e;
    padding: 28px 22px;
    border-radius: 3px;
    margin-bottom: 24px;
    text-align: center;
  }
  .sidebar-cta h3 {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
    line-height: 1.4;
  }
  .sidebar-cta p {
    font-size: 13px;
    color: rgba(255,255,255,0.82);
    line-height: 1.7;
    margin-bottom: 18px;
  }
  .sidebar-cta-btn {
    display: inline-block;
    background: #c0392b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.2s;
  }
  .sidebar-cta-btn:hover { background: #a02820; }

  /* Recent posts list */
  .sidebar-recent-post {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
  }
  .sidebar-recent-post:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
  .sidebar-post-thumb {
    width: 70px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 2px;
    overflow: hidden;
  }
  .sidebar-post-thumb svg { width: 100%; height: 100%; display: block; }
  .sidebar-post-info {}
  .sidebar-post-date {
    font-size: 11px;
    color: #aaa;
    margin-bottom: 4px;
  }
  .sidebar-post-title {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
    text-decoration: none;
    display: block;
  }
  .sidebar-post-title:hover { color: #0d2a5e; }

  /* Tags cloud */
  .tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .tag-item {
    display: inline-block;
    padding: 5px 13px;
    background: #f0f4f8;
    border: 1px solid #dde4ee;
    font-size: 12px;
    color: #555;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.2s, color 0.2s;
  }
  .tag-item:hover { background: #0d2a5e; color: #fff; border-color: #0d2a5e; }

  /* ===========================
     RESPONSIVE
  =========================== */
  @media (max-width: 900px) {
    .blog-page { grid-template-columns: 1fr; gap: 40px; }
    .blog-sidebar { position: static; }
  }
  @media (max-width: 600px) {
    .blog-page { padding: 30px 16px 50px; }
    .blog-post-title { font-size: 22px; }
    .blog-nav { grid-template-columns: 1fr; }
    .blog-nav-btn.next { text-align: left; align-items: flex-start; }
    .blog-inline-img { float: none; max-width: 100%; margin: 16px 0; }
    .blog-body h2 { font-size: 19px; }
  }