/* ---- Modal shell (minimal) ---- */
   .fz-enq-dialog {
      max-width: 520px;
   }

   .fz-enq-content {
      border: 1px solid #e8e8e8;
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 16px 48px rgba(13, 27, 53, 0.12);
      background: #fff;
   }

   .fz-enq-header {
      background: #fff;
      padding: 24px 28px 20px;
      border-bottom: 1px solid #eee;
   }

   .fz-enq-eyebrow {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #888;
      margin: 0 0 6px;
   }

   .fz-enq-title {
      font-size: 1.35rem;
      font-weight: 400;
      color: #0d1b35;
      margin: 0;
      line-height: 1.3;
   }

   .fz-enq-subtitle {
      color: #666;
      font-size: 0.875rem;
      font-weight: 400;
      margin-top: 6px;
   }

   .fz-enq-close {
      opacity: 0.55;
      flex-shrink: 0;
   }

   .fz-enq-close:hover {
      opacity: 1;
   }

   .fz-enq-body {
      background: #fff;
      padding: 24px 28px 22px;
   }

   .fz-enq-label {
      font-size: 0.8125rem;
      font-weight: 600;
      color: #444;
      margin-bottom: 6px;
      display: block;
   }

   .fz-enq-label .req {
      color: #b33;
      font-weight: 500;
   }

   .fz-enq-input {
      height: 46px;
      border: 1px solid #ddd;
      border-radius: 8px !important;
      padding: 0 14px;
      font-size: 0.9375rem;
      color: #222;
      background: #fff;
      transition: border-color 0.2s, box-shadow 0.2s;
      box-shadow: none !important;
   }

   .fz-enq-input:focus {
      border-color: #0d1b35 !important;
      box-shadow: 0 0 0 3px rgba(13, 27, 53, 0.08) !important;
      outline: none;
   }

   .fz-enq-input::placeholder {
      color: #aaa;
      font-size: 0.9rem;
   }

   /* ---- Phone group ---- */
   .fz-enq-phone {
      border-radius: 0 10px 10px 0 !important;
   }

   /* ---- Custom country code dropdown ---- */
   .fz-cc-wrap {
      position: relative;
      flex-shrink: 0;
   }

   /* Phone row container, unified rounded pill */
   .fz-cc-wrap+.fz-enq-input.fz-enq-phone {
      border-left: none !important;
   }

   .input-group:has(.fz-cc-wrap) {
      border: 1px solid #ddd;
      border-radius: 8px;
      overflow: visible;
      background: #fff;
      transition: border-color 0.2s, box-shadow 0.2s;
   }

   .input-group:has(.fz-cc-wrap):focus-within {
      border-color: #0d1b35;
      box-shadow: 0 0 0 3px rgba(13, 27, 53, 0.08);
   }

   .fz-cc-trigger {
      height: 46px;
      min-width: 84px;
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 0 12px;
      background: #f5f5f5;
      border: none;
      border-right: 1px solid #e5e5e5;
      border-radius: 8px 0 0 8px;
      color: #333;
      font-weight: 600;
      font-size: 0.9rem;
      cursor: pointer;
      user-select: none;
      white-space: nowrap;
      transition: background 0.2s;
   }

   .fz-cc-trigger:hover {
      background: #eee;
   }

   .fz-cc-trigger .fz-cc-arrow {
      font-size: 0.6rem;
      color: #666;
      transition: transform 0.2s ease;
   }

   .fz-cc-trigger .fz-cc-val {
      font-size: 0.9rem;
      font-weight: 600;
      color: #333;
   }

    .fz-cc-wrap.open {
       z-index: 1051;
    }

    .fz-cc-wrap.open .fz-cc-trigger {
       background: #eee;
    }

    .fz-cc-wrap.open .fz-cc-arrow {
       transform: rotate(180deg);
    }

   /* override fz-enq-input inside an input-group with fz-cc-wrap, no double border */
   .input-group:has(.fz-cc-wrap) .fz-enq-input.fz-enq-phone {
      border: none !important;
      box-shadow: none !important;
      background: transparent !important;
      border-radius: 0 8px 8px 0 !important;
      height: 46px;
      font-size: 0.9375rem;
      color: #222;
   }

   .input-group:has(.fz-cc-wrap) .fz-enq-input.fz-enq-phone::placeholder {
      color: #aaa;
      font-size: 0.9rem;
   }

   .fz-cc-dropdown {
      display: none;
      position: absolute;
      top: calc(100% + 6px);
      left: 0;
      z-index: 9999;
      background: #fff;
      border: 1px solid #e5e5e5;
      border-radius: 10px;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
      width: 270px;
      overflow: hidden;
      animation: fzCcFadeIn .15s ease;
   }

   .fz-cc-drop-up .fz-cc-dropdown {
      top: auto;
      bottom: calc(100% + 6px);
      animation: fzCcFadeInUp .15s ease;
   }

   @keyframes fzCcFadeInUp {
      from {
         opacity: 0;
         transform: translateY(6px);
      }

      to {
         opacity: 1;
         transform: translateY(0);
      }
   }

   @keyframes fzCcFadeIn {
      from {
         opacity: 0;
         transform: translateY(-6px);
      }

      to {
         opacity: 1;
         transform: translateY(0);
      }
   }

   .fz-cc-wrap.open .fz-cc-dropdown {
      display: block;
   }

   .fz-cc-search-wrap {
      padding: 10px 12px 8px;
      border-bottom: 1px solid #eee;
      display: flex;
      align-items: center;
      gap: 8px;
      background: #fafafa;
   }

   .fz-cc-search-wrap i {
      color: #888;
      font-size: 0.85rem;
      flex-shrink: 0;
   }

   .fz-cc-search {
      border: none;
      outline: none;
      background: transparent;
      font-size: 0.9rem;
      color: #333;
      width: 100%;
   }

   .fz-cc-search::placeholder {
      color: #aaa;
   }

   .fz-cc-list {
      max-height: 240px;
      overflow-y: auto;
      overscroll-behavior: contain;
   }

   .fz-cc-list::-webkit-scrollbar {
      width: 5px;
   }

   .fz-cc-list::-webkit-scrollbar-thumb {
      background: #d1d9e6;
      border-radius: 4px;
   }

   .fz-cc-item {
      display: flex;
      align-items: center;
      gap: 0;
      padding: 9px 14px;
      cursor: pointer;
      font-size: 0.9rem;
      color: #333;
      transition: background 0.15s;
   }

   .fz-cc-item:hover {
      background: #f5f5f5;
   }

   .fz-cc-item.selected {
      background: #eee;
   }

   .fz-cc-item .fz-cc-check {
      width: 18px;
      flex-shrink: 0;
      color: #0d1b35;
      font-size: 0.8rem;
   }

   .fz-cc-item .fz-cc-dial {
      width: 46px;
      flex-shrink: 0;
      font-weight: 600;
      color: #333;
      font-size: 0.9rem;
   }

   .fz-cc-item .fz-cc-name {
      flex: 1;
      color: #555;
      font-size: 0.875rem;
   }

   .fz-enq-divider {
      border: none;
      border-top: 1px solid #eee;
      margin: 18px 0 20px;
   }

   .fz-enq-btn-cancel {
      flex: 1;
      height: 46px;
      border-radius: 8px !important;
      border: 1px solid #ddd !important;
      color: #444 !important;
      font-weight: 600;
      font-size: 0.9rem;
      background: #fff !important;
      transition: border-color 0.2s, background 0.2s;
   }

   .fz-enq-btn-cancel:hover {
      border-color: #bbb !important;
      background: #f9f9f9 !important;
      color: #222 !important;
   }

   .fz-enq-btn-send {
      flex: 1;
      height: 46px;
      border-radius: 8px !important;
      border: none !important;
      background: #0d1b35 !important;
      color: #fff !important;
      font-weight: 600;
      font-size: 0.9rem;
      transition: background 0.2s;
   }

   .fz-enq-btn-send:hover {
      background: #1a2f55 !important;
      color: #fff !important;
   }

   .fz-enq-note {
      text-align: center;
      font-size: 0.8125rem;
      color: #888;
      margin: 16px 0 0;
   }

   /* ---- Bootstrap validation (service enquiry modals) ---- */
   .fz-srv-enquiry-form.was-validated .fz-enq-input:valid,
   #iotEnquiryForm.was-validated .fz-enq-input:valid {
      border-color: #198754;
      background-image: none;
   }

   .fz-srv-enquiry-form.was-validated .fz-enq-input:invalid,
   #iotEnquiryForm.was-validated .fz-enq-input:invalid,
   .fz-srv-enquiry-form .fz-enq-input.is-invalid,
   #iotEnquiryForm .fz-enq-input.is-invalid {
      border-color: #dc3545;
      background-image: none;
   }

   .fz-srv-enquiry-form.was-validated input[type="date"].fz-enq-input:invalid,
   #iotEnquiryForm.was-validated input[type="date"].fz-enq-input:invalid {
      border-color: #ddd;
   }

   .fz-srv-enquiry-form .invalid-feedback,
   #iotEnquiryForm .invalid-feedback {
      display: none;
      font-size: 0.8125rem;
   }

   .fz-srv-enquiry-form.was-validated .fz-enq-input:invalid ~ .invalid-feedback,
   #iotEnquiryForm.was-validated .fz-enq-input:invalid ~ .invalid-feedback,
   .fz-srv-enquiry-form .fz-enq-input.is-invalid ~ .invalid-feedback,
   #iotEnquiryForm .fz-enq-input.is-invalid ~ .invalid-feedback {
      display: block;
   }

   .fz-srv-enquiry-form.was-validated .fz-enq-phone-group.is-invalid .invalid-feedback,
   #iotEnquiryForm.was-validated .fz-enq-phone-group.is-invalid .invalid-feedback {
      display: block;
      width: 100%;
      margin-top: 6px;
   }

   .fz-srv-enquiry-form.was-validated .fz-enq-phone-group.is-invalid,
   #iotEnquiryForm.was-validated .fz-enq-phone-group.is-invalid {
      border-color: #dc3545;
      box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.12);
   }

   .fz-srv-enquiry-form.was-validated .fz-enq-phone-group:has(.fz-enq-input:valid:not(:placeholder-shown)),
   #iotEnquiryForm.was-validated .fz-enq-phone-group:has(.fz-enq-input:valid:not(:placeholder-shown)) {
      border-color: #198754;
   }

   .fz-srv-enquiry-form.was-validated .fz-enq-input.fz-enq-phone,
   #iotEnquiryForm.was-validated .fz-enq-input.fz-enq-phone {
      background-image: none !important;
   }

   .fz-enq-phone-group > .invalid-feedback {
      order: 10;
      flex: 0 0 100%;
   }

   .fz-enq-phone-group {
      flex-wrap: wrap;
   }

.fz-why-choose-sec {
                  background: linear-gradient(180deg, #f8f9fc 0%, #ffffff 100%);
                  padding: 100px 0 110px !important;
                  position: relative;
                  overflow: hidden;
               }

               .fz-why-choose-heading {
                  text-align: center;
                  margin-bottom: 60px;
                  position: relative;
                  z-index: 2;
               }

               .fz-why-subtitle {
                  display: inline-block;
                  font-family: 'Facebook Sans', sans-serif;
                  color: #bfa15f;
                  font-size: 0.85rem;
                  font-weight: 700;
                  text-transform: uppercase;
                  letter-spacing: 0.25em;
                  margin-bottom: 16px;
                  background: rgba(191, 161, 95, 0.1);
                  padding: 6px 16px;
                  border-radius: 50px;
               }

                .fz-why-choose-heading h2 {
                   color: #002147;
                   font-family: 'Facebook Sans', sans-serif;
                   font-weight: 800;
                   font-size: clamp(32px, 4vw, 46px);
                   line-height: 1.2;
                   margin-bottom: 0;
                   letter-spacing: -0.02em;
                }

               .fz-why-heading-line {
                  width: 60px;
                  height: 3px;
                  background: linear-gradient(90deg, #bfa15f, #d4af37);
                  margin: 24px auto 0;
                  border-radius: 2px;
               }

               .fz-why-card {
                  position: relative;
                  height: 100%;
                  padding: 48px 36px;
                  border-radius: 24px;
                  background: #ffffff;
                  border: 1px solid rgba(0, 33, 71, 0.04);
                  display: flex;
                  flex-direction: column;
                  align-items: center;
                  text-align: center;
                  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
                  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
                  z-index: 1;
               }

               .fz-why-card::before {
                  content: "";
                  position: absolute;
                  top: 0;
                  left: 0;
                  right: 0;
                  bottom: 0;
                  border-radius: 24px;
                  background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
                  opacity: 0;
                  transition: opacity 0.4s ease;
                  z-index: -1;
               }

               .fz-why-card:hover {
                  transform: translateY(-10px);
                  border-color: rgba(191, 161, 95, 0.3);
                  box-shadow: 0 20px 40px rgba(0, 33, 71, 0.08), 0 1px 3px rgba(0,0,0,0.05);
               }

               .fz-why-card:hover::before {
                  opacity: 1;
               }

               .fz-why-icon-wrap {
                  width: 72px;
                  height: 72px;
                  border-radius: 50%;
                  background: linear-gradient(135deg, rgba(191, 161, 95, 0.1) 0%, rgba(191, 161, 95, 0.2) 100%);
                  color: #bfa15f;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  margin-bottom: 30px;
                  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
                  position: relative;
               }

               .fz-why-icon-wrap::after {
                  content: '';
                  position: absolute;
                  top: -4px;
                  left: -4px;
                  right: -4px;
                  bottom: -4px;
                  border-radius: 50%;
                  border: 1px solid rgba(191, 161, 95, 0.3);
                  opacity: 0;
                  transform: scale(0.8);
                  transition: all 0.4s ease;
               }

               .fz-why-icon-wrap i {
                  font-size: 28px;
                  line-height: 1;
                  color: #bfa15f;
                  transition: all 0.4s ease;
               }

               .fz-why-card:hover .fz-why-icon-wrap {
                  background: #002147;
                  transform: scale(1.1);
                  box-shadow: 0 10px 20px rgba(0, 33, 71, 0.2);
               }

               .fz-why-card:hover .fz-why-icon-wrap::after {
                  opacity: 1;
                  transform: scale(1);
               }

               .fz-why-card:hover .fz-why-icon-wrap i {
                  color: #ffffff;
               }

                .fz-why-card h3 {
                   font-family: 'Facebook Sans', sans-serif;
                   color: #002147;
                   font-weight: 700;
                   font-size: 1.35rem;
                   line-height: 1.4;
                   margin-bottom: 16px;
                   transition: color 0.3s ease;
                }

               .fz-why-card:hover h3 {
                  color: #002147;
               }

               .fz-why-card p {
                  color: #64748b;
                  font-size: 0.95rem;
                  line-height: 1.7;
                  margin: 0;
                  font-weight: 400;
               }

               @media (max-width: 1199.98px) {
                  .fz-why-choose-sec {
                     padding: 80px 0 90px !important;
                  }

                  .fz-why-card {
                     padding: 40px 24px;
                  }
               }

               @media (max-width: 767.98px) {
                  .fz-why-choose-sec {
                     padding: 60px 0 70px !important;
                  }

                  .fz-why-choose-heading {
                     margin-bottom: 40px;
                  }

                  .fz-why-card {
                     padding: 32px 24px;
                  }

                  .fz-why-icon-wrap {
                     margin-bottom: 24px;
                     width: 60px;
                     height: 60px;
                  }

                  .fz-why-icon-wrap i {
                     font-size: 24px;
                  }

                  .fz-why-card h3 {
                     font-size: 1.2rem;
                  }

                  .fz-why-card p {
                     font-size: 0.9rem;
                  }
               }

.togo-services-grid-v2 {
                  display: grid;
                  grid-template-columns: repeat(3, 1fr);
                  gap: 30px;
               }

               .togo-service-card-v2 {
                  background: #fff;
                  border: 1px solid #eee;
                  padding: 24px;
                  border-radius: 12px;
                  display: flex;
                  align-items: center;
                  gap: 20px;
                  transition: all 0.3s ease;
                  cursor: pointer;
                  height: 100%;
               }

               .togo-service-card-v2:hover {
                  border-color: #002147;
                  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
                  transform: translateY(-5px);
               }

               .togo-service-icon-v2 {
                  width: 60px;
                  height: 60px;
                  background: #fdfaf0;
                  border-radius: 10px;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  color: #002147;
                  font-size: 32px;
                  flex-shrink: 0;
               }

               .togo-service-title-v2 {
                  font-family: var(--togo-ff-outfit, 'Facebook Sans', sans-serif);
                  font-weight: 600;
                  font-size: 19px;
                  line-height: 1.3;
                  margin: 0;
                  color: #0f172a;
               }

               @media (max-width: 1199px) {
                  .togo-services-grid-v2 {
                     gap: 20px;
                  }
               }

               @media (max-width: 991px) {
                  .togo-services-grid-v2 {
                     grid-template-columns: repeat(2, 1fr);
                  }
               }

               @media (max-width: 767px) {
                  .togo-services-grid-v2 {
                     grid-template-columns: 1fr;
                  }

                  .togo-service-card-v2 {
                     padding: 20px;
                  }
               }

.fz-budget-sec {
                  background: #ffffff;
               }

               .fz-budget-heading {
                  text-align: center;
                  margin-bottom: 48px;
               }

               .fz-budget-heading h2,
               .fz-budget-heading h2 span {
                  font-family: var(--togo-ff-playfair, "Emilie Display", serif) !important;
                  font-size: clamp(26px, 3vw, 46px);
                  line-height: 1.2;
                  font-weight: 400;
                  font-style: normal;
                  font-synthesis: none;
               }

               .fz-budget-heading h2 {
                  color: #0d0d0d;
               }

               .fz-budget-heading h2 span {
                  color: #002147;
               }

               .fz-tier-card-link {
                  display: block;
                  text-decoration: none;
                  color: inherit;
                  height: 100%;
               }

               .fz-tier-card-link:hover .fz-tier-card {
                  transform: translateY(-8px);
                  background: #002147;
                  border-color: #002147;
                  box-shadow: 0 22px 45px rgba(0, 0, 0, 0.25);
               }

               .fz-tier-card {
                  display: flex;
                  flex-direction: column;
                  justify-content: space-between;
                  padding: 30px 26px 22px;
                  border-radius: 16px;
                  background: #001a38;
                  border: 1px solid #001a38;
                  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.14);
                  min-height: 180px;
                  color: #fff;
                  transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease, border-color 0.28s ease;
                  cursor: pointer;
               }

               .fz-tier-card:hover {
                  transform: translateY(-8px);
                  background: #002147;
                  border-color: #002147;
                  box-shadow: 0 22px 45px rgba(0, 0, 0, 0.25);
                  color: #fff;
               }

               .fz-tier-label {
                  font-size: 18px;
                  color: rgba(255,255,255,0.7);
                  font-weight: 400;
                  margin-bottom: 4px;
                  display: block;
                  transition: color 0.28s ease;
               }

               .fz-tier-card:hover .fz-tier-label {
                  color: rgba(255,255,255,0.7);
               }

               .fz-tier-name {
                  font-size: 22px;
                  font-weight: 700;
                  color: #fff;
                  display: block;
                  margin-bottom: 22px;
                  transition: color 0.28s ease;
               }

               .fz-tier-card:hover .fz-tier-name {
                  color: #fff;
               }

               .fz-tier-arrow {
                  display: inline-flex;
                  align-items: center;
                  justify-content: center;
                  width: 40px;
                  height: 40px;
                  border-radius: 50%;
                  border: 1.5px solid #fff;
                  color: #fff;
                  text-decoration: none;
                  font-size: 18px;
                  align-self: flex-end;
                  transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease;
               }

               .fz-tier-card:hover .fz-tier-arrow {
                  border-color: #fff;
                  color: #002147;
                  background: #fff;
               }

               @media (max-width: 767.98px) {
                  .fz-budget-sec {
                     padding-top: 50px;
                     padding-bottom: 50px;
                  }

                  .fz-tier-card {
                     min-height: 160px;
                     padding: 24px 20px 18px;
                  }
               }

.fz-itinerary-sec {
                  background: #f7f7f7;
               }

               .fz-itinerary-figure {
                  border-radius: 14px;
                  overflow: hidden;
                  box-shadow: 0 12px 40px rgba(13, 27, 53, 0.1);
               }

               .fz-itinerary-img {
                  width: 100%;
                  height: auto;
                  display: block;
                  aspect-ratio: 4 / 3;
                  object-fit: cover;
               }

               .fz-itinerary-content {
                  padding-left: clamp(0px, 2vw, 40px);
               }

               .fz-itinerary-content h2 {
                  font-size: clamp(28px, 3vw, 42px);
                  line-height: 1.2;
                  color: #0d1b35;
               }

               .fz-itinerary-lead {
                  font-size: 17px;
                  line-height: 1.5;
                  color: #3d4a5c;
                  margin: 14px 0 22px;
               }

               .fz-itinerary-btns {
                  display: flex;
                  flex-wrap: wrap;
                  gap: 12px;
                  margin-bottom: 22px;
               }

               .fz-btn-dark {
                  display: inline-flex;
                  align-items: center;
                  gap: 8px;
                  padding: 11px 22px;
                  border-radius: 50px;
                  background: #0d1b35;
                  color: #fff;
                  font-size: 15px;
                  font-weight: 500;
                  text-decoration: none;
                  transition: background 0.22s ease;
               }

               .fz-btn-dark:hover {
                  background: #1a2f55;
                  color: #fff;
               }

               .fz-btn-whatsapp {
                  display: inline-flex;
                  align-items: center;
                  gap: 8px;
                  padding: 11px 22px;
                  border-radius: 50px;
                  background: #25a461;
                  color: #fff;
                  font-size: 15px;
                  font-weight: 500;
                  text-decoration: none;
                  transition: background 0.22s ease;
               }

               .fz-btn-whatsapp:hover {
                  background: #1e8f54;
                  color: #fff;
               }

               .fz-itinerary-desc {
                  font-size: 15px;
                  line-height: 1.75;
                  color: #4a4a4a;
                  margin-bottom: 24px;
               }

               .fz-trust-strip {
                  display: flex;
                  flex-wrap: wrap;
                  gap: 10px 20px;
                  padding: 16px 20px;
                  background: #fff;
                  border: 1px solid #e8e8e8;
                  border-radius: 12px;
               }

               .fz-trust-strip-item {
                  display: flex;
                  align-items: center;
                  gap: 8px;
                  font-size: 14px;
                  color: #333;
                  margin: 0;
               }

               .fz-trust-strip-item i {
                  font-size: 17px;
                  color: #0d1b35;
                  flex-shrink: 0;
               }

               .fz-trust-strip-item--accent {
                  color: #a8842a;
                  font-weight: 500;
               }

               .fz-trust-strip-item--accent i {
                  color: #c9a040;
               }

               .fz-how-it-works {
                  margin-top: 56px;
                  padding-top: 48px;
                  border-top: 1px solid #e0e0e0;
               }

               .fz-how-heading {
                  font-size: clamp(32px, 4vw, 46px);
                  color: #0d1b35;
                  margin-bottom: 36px;
               }

               .fz-how-step {
                  text-align: center;
                  height: 100%;
                  padding: 8px 6px;
               }

               .fz-step-icon {
                  width: 56px;
                  height: 56px;
                  border-radius: 50%;
                  background: #0d1b35;
                  color: #fff;
                  display: inline-flex;
                  align-items: center;
                  justify-content: center;
                  font-size: 22px;
                  margin: 0 auto 14px;
               }

               .fz-step-title {
                  font-size: 15px;
                  font-weight: 700;
                  color: #0d1b35;
                  margin-bottom: 8px;
                  line-height: 1.35;
               }

               .fz-step-desc {
                  font-size: 13px;
                  color: #666;
                  line-height: 1.5;
                  margin-bottom: 0;
                  max-width: 220px;
                  margin-left: auto;
                  margin-right: auto;
               }

               @media (max-width: 991.98px) {
                  .fz-itinerary-content {
                     padding-left: 0;
                  }

                  .fz-how-it-works {
                     margin-top: 40px;
                     padding-top: 36px;
                  }
               }

               @media (max-width: 575.98px) {
                  .fz-trust-strip {
                     flex-direction: column;
                     gap: 12px;
                  }

                  .fz-how-it-works {
                     margin-top: 32px;
                     padding-top: 28px;
                  }

                  .fz-how-heading {
                     margin-bottom: 24px;
                  }
               }

/* Travel plan modal, minimal */
                  .fz-plan-modal {
                     display: none;
                     position: fixed;
                     inset: 0;
                     z-index: 100310;
                     background: rgba(0, 0, 0, 0.45);
                     align-items: center;
                     justify-content: center;
                     padding: 16px;
                  }

                  .fz-plan-modal.is-open {
                     display: flex !important;
                  }

                  html.fz-modal-scroll-lock {
                     overflow: hidden;
                  }

                  .fz-plan-modal__dialog {
                     background: #fff;
                     border: 1px solid #e8e8e8;
                     border-radius: 14px;
                     width: 100%;
                     max-width: 520px;
                     max-height: 92vh;
                     overflow-y: auto;
                     padding: 28px 28px 24px;
                     position: relative;
                     box-shadow: 0 16px 48px rgba(13, 27, 53, 0.14);
                  }

                  .fz-plan-modal__close {
                     position: absolute;
                     top: 16px;
                     right: 18px;
                     background: none;
                     border: none;
                     font-size: 1.5rem;
                     line-height: 1;
                     color: #888;
                     cursor: pointer;
                     padding: 0;
                  }

                  .fz-plan-modal__close:hover {
                     color: #333;
                  }

                  .fz-plan-modal__title {
                     font-size: 1.35rem;
                     font-weight: 400;
                     color: #0d1b35;
                     margin: 0 32px 6px 0;
                     line-height: 1.3;
                  }

                  .fz-plan-modal__step {
                     font-size: 0.8125rem;
                     color: #888;
                     margin: 0 0 16px;
                  }

                  .fz-plan-modal__progress {
                     display: flex;
                     gap: 6px;
                     margin-bottom: 22px;
                  }

                  .fz-plan-modal__bar {
                     flex: 1;
                     height: 3px;
                     border-radius: 2px;
                     background: #e8e8e8;
                     transition: background 0.25s;
                  }

                  .fz-plan-modal__bar.active {
                     background: #0d1b35;
                  }

                  .fz-plan-modal__sec-title {
                     font-size: 0.8125rem;
                     font-weight: 600;
                     letter-spacing: 0.04em;
                     text-transform: uppercase;
                     color: #666;
                     margin: 0 0 16px;
                  }

                  .fz-plan-modal__two-col {
                     display: grid;
                     grid-template-columns: 1fr 1fr;
                     gap: 12px;
                  }

                  .fz-plan-modal__footer {
                     display: flex;
                     gap: 10px;
                     margin-top: 8px;
                  }

                  .fz-plan-modal__footer .btn-primary {
                     flex: 1;
                     background: #0d1b35;
                     border-color: #0d1b35;
                  }

                  .fz-plan-modal__footer .btn-primary:hover {
                     background: #1a2f55;
                     border-color: #1a2f55;
                  }

                  #fz-travel-modal .form-label {
                     font-size: 0.8125rem;
                     font-weight: 600;
                     color: #444;
                  }

                  #fz-travel-modal .form-control {
                     border-radius: 8px;
                     border-color: #ddd;
                     font-size: 0.9375rem;
                  }

                  #fz-travel-modal .form-control:focus {
                     border-color: #0d1b35;
                     box-shadow: 0 0 0 3px rgba(13, 27, 53, 0.08);
                  }

                  #fz-travel-modal .input-group {
                     border: 1px solid #ddd;
                     border-radius: 8px;
                     flex-wrap: wrap;
                  }

                  #fz-travel-modal .input-group:focus-within {
                     border-color: #0d1b35;
                     box-shadow: 0 0 0 3px rgba(13, 27, 53, 0.08);
                  }

                  #fz-travel-modal .input-group .form-control {
                     border: none;
                     box-shadow: none;
                     height: 46px;
                  }

                  #fz-travel-modal .fz-cc-trigger {
                     height: 46px;
                     min-width: 84px;
                     border-radius: 8px 0 0 8px;
                  }

                  .fz-chip-group {
                     display: flex;
                     flex-wrap: wrap;
                     gap: 8px;
                  }

                  .fz-chip {
                     padding: 8px 14px;
                     border-radius: 8px;
                     border: 1px solid #ddd;
                     background: #fff;
                     font-size: 0.8125rem;
                     font-weight: 500;
                     color: #444;
                     cursor: pointer;
                     transition: border-color 0.2s, background 0.2s;
                  }

                  .fz-chip:hover {
                     border-color: #999;
                     background: #fafafa;
                  }

                  .fz-chip.selected {
                     background: #0d1b35;
                     border-color: #0d1b35;
                     color: #fff;
                  }

                  #fz-budget-field.is-invalid .fz-chip-group {
                     outline: 1px solid #dc3545;
                     outline-offset: 2px;
                     border-radius: 8px;
                  }

                  #fz-budget-field.is-invalid .invalid-feedback {
                     display: block;
                  }

                  .fz-counter {
                     display: flex;
                     align-items: stretch;
                     border: 1px solid #ddd;
                     border-radius: 8px;
                     overflow: hidden;
                  }

                  .fz-counter-btn {
                     width: 42px;
                     border: none;
                     background: #fafafa;
                     font-size: 1.1rem;
                     color: #444;
                     cursor: pointer;
                  }

                  .fz-counter-btn:hover {
                     background: #eee;
                  }

                  .fz-counter-val {
                     flex: 1;
                     text-align: center;
                     border: none;
                     border-left: 1px solid #eee;
                     border-right: 1px solid #eee;
                     font-size: 1rem;
                     font-weight: 600;
                     background: #fff;
                     -moz-appearance: textfield;
                  }

                  .fz-counter-val::-webkit-inner-spin-button,
                  .fz-counter-val::-webkit-outer-spin-button {
                     -webkit-appearance: none;
                  }

                  .fz-plan-modal__summary {
                     background: #fafafa;
                     border: 1px solid #eee;
                     border-radius: 8px;
                     padding: 14px 16px;
                     margin-bottom: 16px;
                     font-size: 0.875rem;
                  }

                  .fz-plan-summary-dl {
                     margin: 0;
                     display: grid;
                     grid-template-columns: auto 1fr;
                     gap: 6px 16px;
                  }

                  .fz-plan-summary-dl dt {
                     color: #888;
                     font-weight: 500;
                     margin: 0;
                  }

                  .fz-plan-summary-dl dd {
                     margin: 0;
                     color: #333;
                  }

                  .fz-plan-modal__success {
                     text-align: center;
                     padding: 20px 0;
                  }

                  .fz-plan-modal__success i {
                     font-size: 2.5rem;
                     color: #0d1b35;
                     display: block;
                     margin-bottom: 12px;
                  }

                  .fz-plan-modal__success h3 {
                     font-size: 1.25rem;
                     color: #0d1b35;
                     margin-bottom: 8px;
                  }

                  .fz-plan-modal__success p {
                     color: #666;
                     margin: 0;
                     line-height: 1.5;
                  }

                  /* Step validation */
                  .fz-step.was-validated .form-control:invalid {
                     border-color: #dc3545;
                  }

                  .fz-step.was-validated .form-control:valid:not(:placeholder-shown) {
                     border-color: #198754;
                  }

                  .fz-step.was-validated .form-control:invalid ~ .invalid-feedback {
                     display: block;
                     font-size: 0.8125rem;
                  }

                  .fz-step.was-validated .fz-enq-phone-group.is-invalid {
                     border-color: #dc3545;
                  }

                  .fz-step.was-validated .fz-enq-phone-group.is-invalid .invalid-feedback {
                     display: block;
                     width: 100%;
                     flex: 0 0 100%;
                     margin-top: 6px;
                  }

                  @media (max-width: 480px) {
                     .fz-plan-modal__two-col {
                        grid-template-columns: 1fr;
                     }

                     .fz-plan-modal__dialog {
                        padding: 22px 18px 18px;
                     }
                  }

/* Featured Section handled in homepage_content.php */

               .fz-logo-tb .tb-top {
                  display: block;
                  font-family: Georgia, serif;
                  font-size: clamp(11px, 1vw, 15px);
                  font-style: italic;
                  letter-spacing: 0.06em;
               }

               .fz-logo-tb .tb-sub {
                  display: block;
                  font-family: Arial, Helvetica, sans-serif;
                  font-size: clamp(6px, 0.55vw, 9px);
                  letter-spacing: 0.2em;
                  text-transform: uppercase;
                  opacity: 0.6;
                  margin-top: 2px;
               }

               .fz-logo-tb .tb-stars {
                  display: block;
                  font-size: clamp(6px, 0.55vw, 9px);
                  letter-spacing: 0.12em;
                  opacity: 0.5;
                  margin-top: 3px;
               }

               @media (max-width: 767.98px) {
                  .fz-feat-cell {
                     min-height: 70px;
                     padding: 14px 12px;
                  }
               }

               @media (max-width: 479.98px) {
                  .fz-featured-grid {
                     grid-template-columns: repeat(2, 1fr);
                  }
               }

.fz-services-sec {
                  background: #fff;
               }

               .fz-services-heading {
                  text-align: center;
                  max-width: 520px;
                  margin: 0 auto 40px;
               }

               .fz-services-heading h2 {
                  font-size: clamp(32px, 4vw, 46px);
                  color: #0d1b35;
                  font-weight: 400;
                  margin-bottom: 10px;
               }

               .fz-services-lead {
                  font-size: 15px;
                  line-height: 1.5;
                  color: #666;
                  margin: 0;
               }

               .fz-srv-card {
                  display: flex;
                  flex-direction: column;
                  align-items: center;
                  justify-content: center;
                  gap: 12px;
                  width: 100%;
                  min-height: 132px;
                  padding: 20px 14px;
                  background: #fafafa;
                  border: 1px solid #e8e8e8;
                  border-radius: 10px;
                  text-align: center;
                  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
                  cursor: pointer;
               }

               .fz-srv-card:hover {
                  background: #fff;
                  border-color: #ccc;
                  box-shadow: 0 4px 16px rgba(13, 27, 53, 0.06);
               }

               .fz-srv-card:focus-visible {
                  outline: 2px solid #0d1b35;
                  outline-offset: 2px;
               }

               .fz-srv-icon {
                  flex-shrink: 0;
                  width: 44px;
                  height: 44px;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  border-radius: 50%;
                  background: #fff;
                  border: 1px solid #e5e5e5;
                  color: #0d1b35;
               }

               .fz-srv-icon i {
                  font-size: 1.15rem;
                  line-height: 1;
               }

               .fz-srv-title {
                  font-size: 13px;
                  font-weight: 600;
                  color: #333;
                  line-height: 1.35;
               }

               @media (max-width: 575.98px) {
                  .fz-srv-card {
                     min-height: 118px;
                     padding: 16px 10px;
                  }

                  .fz-srv-title {
                     font-size: 12px;
                  }
               }

