/*!
 * Bootstrap v4.5.3 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
*,*::before,*::after{box-sizing:border-box;}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}article,figcaption,figure,footer,header,main,nav,section{display:block;}body{margin:0;font-family:"Poppins",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#656565;text-align:left;background-color:#F3F3F3;}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important;}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0.5rem;}p{margin-top:0;margin-bottom:1rem;}ol,ul{margin-top:0;margin-bottom:1rem;}ol ol,ul ul,ol ul,ul ol{margin-bottom:0;}strong{font-weight:bolder;}small{font-size:80%;}a{color:#7AB730;text-decoration:none;background-color:transparent;}a:hover{color:#527a20;text-decoration:underline;}a:not([href]):not([class]){color:inherit;text-decoration:none;}a:not([href]):not([class]):hover{color:inherit;text-decoration:none;}figure{margin:0 0 1rem;}img{vertical-align:middle;border-style:none;}svg{overflow:hidden;vertical-align:middle;}table{border-collapse:collapse;}th{text-align:inherit;text-align:-webkit-match-parent;}label{display:inline-block;margin-bottom:0.5rem;}button{border-radius:0;}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color;}input,button,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;}button,input{overflow:visible;}button,select{text-transform:none;}[role="button"]{cursor:pointer;}select{word-wrap:normal;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none;}input[type="radio"],input[type="checkbox"]{box-sizing:border-box;padding:0;}textarea{overflow:auto;resize:vertical;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{outline-offset:-2px;-webkit-appearance:none;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button;}summary{display:list-item;cursor:pointer;}[hidden]{display:none !important;}h1,h2,h3,h4,h5,h6,.h2,.h3,.h4,.h6{margin-bottom:0.5rem;font-weight:500;line-height:1.2;color:#212121;}h1{font-size:2.5rem;}@media (max-width: 1200px){h1{font-size:calc(1.375rem+1.5vw);}}h2,.h2{font-size:2rem;}@media (max-width: 1200px){h2,.h2{font-size:calc(1.325rem+0.9vw);}}h3,.h3{font-size:1.75rem;}@media (max-width: 1200px){h3,.h3{font-size:calc(1.3rem+0.6vw);}}h4,.h4{font-size:1.5rem;}@media (max-width: 1200px){h4,.h4{font-size:calc(1.275rem+0.3vw);}}h5{font-size:1.25rem;}h6,.h6{font-size:1rem;}small{font-size:80%;font-weight:400;}.img-fluid{max-width:100%;height:auto;}.container,.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;}@media (min-width: 576px){.container{max-width:540px;}}@media (min-width: 768px){.container{max-width:720px;}}@media (min-width: 992px){.container{max-width:960px;}}@media (min-width: 1200px){.container{max-width:1140px;}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px;}.col-12,.col-md-6,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-6,.col-lg-8{position:relative;width:100%;padding-right:15px;padding-left:15px;}.col-12{flex:0 0 100%;max-width:100%;}@media (min-width: 768px){.col-md-6{flex:0 0 50%;max-width:50%;}}@media (min-width: 992px){.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%;}.col-lg-3{flex:0 0 25%;max-width:25%;}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%;}.col-lg-6{flex:0 0 50%;max-width:50%;}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%;}}.fade{transition:opacity 0.15s linear;}@media (prefers-reduced-motion: reduce){.fade{transition:none;}}.fade:not(.show){opacity:0;}.collapse:not(.show){display:none;}.collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease;}@media (prefers-reduced-motion: reduce){.collapsing{transition:none;}}.navbar-brand{display:inline-block;padding-top:0.3125rem;padding-bottom:0.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap;}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none;}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem;}.card-link:hover{text-decoration:none;}.card-link + .card-link{margin-left:1.25rem;}.card-header{padding:0.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125);}.pagination{display:flex;padding-left:0;list-style:none;}.page-link{position:relative;display:block;padding:0.5rem 0.75rem;margin-left:-1px;line-height:1.25;color:#7AB730;background-color:#fff;border:1px solid #dee2e6;}.page-link:hover{z-index:2;color:#527a20;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6;}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 0.2rem rgba(122,183,48,0.25);}.page-item:first-child .page-link{margin-left:0;}.page-item.active .page-link{z-index:3;color:#fff;background-color:#7AB730;border-color:#7AB730;}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6;}.pagination-lg .page-link{padding:0.75rem 1.5rem;font-size:1.25rem;line-height:1.5;}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#e9ecef;}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#ffcc00;transition:width 0.6s ease;}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none;}}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.bg-dark{background-color:#212121 !important;}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#080808 !important;}.bg-white{background-color:#fff !important;}.border-top{border-top:1px solid #dee2e6 !important;}.d-flex{display:flex !important;}.flex-column{flex-direction:column !important;}.justify-content-start{justify-content:flex-start !important;}.justify-content-center{justify-content:center !important;}.float-right{float:right !important;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;}.w-100{width:100% !important;}.m-0{margin:0 !important;}.mb-0{margin-bottom:0 !important;}.mt-1{margin-top:0.25rem !important;}.mb-1{margin-bottom:0.25rem !important;}.mt-2{margin-top:0.5rem !important;}.mb-2{margin-bottom:0.5rem !important;}.mt-3{margin-top:1rem !important;}.mb-3{margin-bottom:1rem !important;}.mt-4{margin-top:1.5rem !important;}.mb-4{margin-bottom:1.5rem !important;}.ml-4{margin-left:1.5rem !important;}.mt-5{margin-top:3rem !important;}.mb-5{margin-bottom:3rem !important;}.ml-5{margin-left:3rem !important;}.py-0{padding-top:0 !important;}.pb-0,.py-0{padding-bottom:0 !important;}.py-2{padding-top:0.5rem !important;}.py-2{padding-bottom:0.5rem !important;}.px-3{padding-right:1rem !important;}.pb-3{padding-bottom:1rem !important;}.px-3{padding-left:1rem !important;}.p-4{padding:1.5rem !important;}.py-4{padding-top:1.5rem !important;}.py-4{padding-bottom:1.5rem !important;}.p-5{padding:3rem !important;}.pt-5,.py-5{padding-top:3rem !important;}.py-5{padding-bottom:3rem !important;}@media (min-width: 576px){.px-sm-3{padding-right:1rem !important;}.px-sm-3{padding-left:1rem !important;}}@media (min-width: 768px){.mb-md-0{margin-bottom:0 !important;}.px-md-5{padding-right:3rem !important;}.px-md-5{padding-left:3rem !important;}}@media (min-width: 992px){.px-lg-5{padding-right:3rem !important;}.px-lg-5{padding-left:3rem !important;}}.text-left{text-align:left !important;}.text-center{text-align:center !important;}@media (min-width: 768px){.text-md-left{text-align:left !important;}.text-md-right{text-align:right !important;}}.text-uppercase{text-transform:uppercase !important;}.text-white{color:#fff !important;}.text-primary{color:#7AB730 !important;}a.text-primary:hover,a.text-primary:focus{color:#527a20 !important;}.text-white-50{color:rgba(255,255,255,0.5) !important;}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important;}thead{display:table-header-group;}tr,img{page-break-inside:avoid;}p,h2,h3{orphans:3;widows:3;}h2,h3{page-break-after:avoid;}@page{size:a3;}body{min-width:992px !important;}.container{min-width:992px !important;}}h1,h2{font-weight:700 !important;}h3,h4{font-weight:600 !important;}h5,h6{font-weight:500 !important;}.back-to-top{position:fixed;display:none;right:45px;bottom:45px;z-index:11;}.package-item{transition:.5s;}.package-item:hover{box-shadow:0 0 30px #CCCCCC;}






/* Journey Collection */
:root{
  --bg:#f5f1ea;
  --surface:#fffdf9;
  --surface-soft:#f9f4ed;
  --text:#181512;
  --muted:#6f665d;
  --muted-soft:rgba(24,21,18,.58);
  --gold:#b89357;
  --gold-soft:#c9b183;
  --line:rgba(24,21,18,.08);
}

/* RESET */
.journey-collection,
.journey-collection *{
  box-sizing:border-box;
}

.journey-collection a{
  color:inherit;
  text-decoration:none;
}

/* SECTION */
.journey-collection{
  padding:118px 0;
  background:var(--bg);
  color:var(--text);
}

/* INTRO */
.section-intro{
  max-width:1040px;
  margin:0 auto 70px;
  padding:0 24px;
  text-align:center;
}

.section-eyebrow{
  margin:0 0 18px;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted-soft);
}

.section-title{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(2.2rem,3.8vw,3.45rem);
  line-height:1;
}

.section-lead{
  max-width:620px;
  margin:0 auto;
  font-size:17px;
  line-height:1.82;
  color:var(--muted);
}

/* CARD BASE */
.journey-feature,
.journey-card{
  height:100%;
  overflow:hidden;
  border-radius:18px;
  transition:
    transform .55s ease,
    box-shadow .55s ease,
    border-color .55s ease;
}

.journey-feature{
  background:var(--surface);
  box-shadow:
    0 2px 8px rgba(0,0,0,.025),
    0 24px 54px rgba(0,0,0,.035);
}

.journey-card{
  background:var(--surface-soft);
  border:1px solid var(--line);
}

/* MEDIA */
.journey-media,
.journey-card-media{
  position:relative;
  overflow:hidden;
  background:#ddd4c8;
}

.journey-media{
  aspect-ratio:3/2;
}

.journey-card-media{
  aspect-ratio:10/7;
}

.journey-media::after,
.journey-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.38),
      rgba(0,0,0,.12) 46%,
      rgba(0,0,0,0) 78%
    );
  pointer-events:none;
}

.journey-media img,
.journey-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .85s ease;
}

/* KICKER */
.journey-kicker{
  position:absolute;
  left:24px;
  bottom:16px;
  z-index:2;

  margin:0;
  max-width:calc(100% - 48px);

  font-size:10.5px;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;

  color:#fff;
  background:rgba(0,0,0,.42);
  padding:6px 10px;
  border-radius:2px;
  backdrop-filter:blur(4px);
}

/* CONTENT */
.journey-content{
  padding:40px 42px 42px;
}

.journey-card-content{
  padding:26px 26px 28px;
}

.journey-title{
  max-width:640px;
  margin:0 0 18px;
  font-size:clamp(1.95rem,2.45vw,2.75rem);
  line-height:1.05;
  letter-spacing:-.026em;
  font-weight:300;
}

.journey-card-title{
  margin:0 0 18px;
  font-size:1.42rem;
  line-height:1.18;
  letter-spacing:-.018em;
  font-weight:300;
}

.journey-description{
  max-width:610px;
  margin:0 0 24px;
  font-size:17px;
  line-height:1.72;
  color:#514940;
}

/* BULLETS */
.journey-bullets{
  list-style:none;
  padding:0;
  margin:0 0 22px;
}

.journey-bullets li{
  position:relative;
  margin-bottom:9px;
  padding-left:17px;
  font-size:15px;
  line-height:1.62;
  color:var(--muted);
}

.journey-bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:7px;
  height:1px;
  background:var(--gold);
}

.journey-assurance{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 14px;

  max-width:760px;
  margin:28px auto 0;

  font-size:11px;
  line-height:1.6;
  letter-spacing:.12em;
  text-transform:uppercase;

  color:#7a7066;
}

.journey-assurance span{
  display:inline-flex;
  align-items:center;
}

.journey-assurance span + span::before{
  content:"";
  display:inline-block;

  width:4px;
  height:4px;

  margin-right:14px;

  border-radius:50%;
  background:var(--gold);
}

/* META */
.journey-price{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.65;
  color:#786f66;
}

.journey-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 18px;

  margin:0 0 30px;
  font-size:13.5px;
  line-height:1.65;
  color:#786f66;
}

.journey-proof{
  max-width:520px;
}

.review-film{
  display:inline-flex;
  align-items:center;
  gap:10px;

  position:relative;

  font-size:11.5px;
  line-height:1.4;
  letter-spacing:.15em;
  text-transform:uppercase;

  color:#1d1a16;
  transition:opacity .25s ease,color .25s ease;
}

.review-film .line{
  display:inline-block;
  width:20px;
  height:1px;
  background:var(--gold-soft);
  transition:width .3s ease;
}

.review-film::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:0;
  height:1px;
  background:var(--gold);
  transition:width .3s ease;
}

/* CTA */
.tour-card__cta{
  display:inline-flex;
  align-items:center;
  gap:7px;

  position:relative;
  padding-bottom:5px;

  font-size:11.5px;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;

  color:#1f1b17;
  transition:color .25s ease;
}

.tour-card__cta::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:rgba(24,21,18,.26);
  transition:background .3s ease;
}

/* STACK */
.journey-stack{
  display:flex;
  flex-direction:column;
  gap:28px;
  height:100%;
}

/* DESKTOP INTERACTION ONLY */
@media (hover:hover) and (pointer:fine){
  .journey-feature:hover,
  .journey-card:hover{
    transform:translateY(-6px);
    box-shadow:
      0 4px 12px rgba(0,0,0,.03),
      0 30px 70px rgba(0,0,0,.055);
  }

  .journey-feature:hover img,
  .journey-card:hover img{
    transform:scale(1.035);
  }

  .review-film:hover{
    opacity:.72;
  }

  .review-film:hover .line{
    width:34px;
  }

  .review-film:hover::after{
    width:100%;
  }

  .tour-card__cta:hover{
    color:var(--gold);
  }

  .tour-card__cta:hover::after{
    background:var(--gold);
  }
}

/* TABLET */
@media (max-width:991px){
  .journey-collection{
    padding:92px 0;
  }

  .section-intro{
    margin-bottom:58px;
  }

  .section-title{
    font-size:clamp(2.15rem,5.6vw,3rem);
    line-height:1.02;
  }

  .section-lead{
    font-size:16px;
    line-height:1.76;
  }

  .journey-content{
    padding:34px;
  }

  .journey-card-content{
    padding:25px;
  }

  .journey-title{
    max-width:36ch;
    font-size:clamp(1.9rem,4vw,2.35rem);
    line-height:1.08;
  }

  .journey-card-title{
    font-size:1.34rem;
  }
}

/* MOBILE */
@media (max-width:767px){
  .journey-collection{
    padding:76px 0;
  }

  .section-intro{
    margin-bottom:50px;
    padding:0 22px;
  }

  .section-eyebrow{
    font-size:10px;
    letter-spacing:.16em;
  }

  .section-title{
    font-size:2.05rem;
    line-height:1.06;
    letter-spacing:-.026em;
  }

  .section-lead{
    font-size:15.8px;
    line-height:1.72;
  }

  .journey-feature,
  .journey-card{
    border-radius:16px;
  }

  .journey-media,
  .journey-card-media{
    aspect-ratio:4/3;
  }

  .journey-kicker{
    left:18px;
    bottom:16px;
    max-width:calc(100% - 36px);
    font-size:9.8px;
    letter-spacing:.15em;
  }

  .journey-content{
    padding:29px 24px 32px;
  }

  .journey-card-content{
    padding:24px 22px 27px;
  }

  .journey-title{
    max-width:34ch;
    margin-bottom:17px;
    font-size:1.86rem;
    line-height:1.1;
  }

  .journey-card-title{
    margin-bottom:15px;
    font-size:1.28rem;
    line-height:1.22;
  }

  .journey-description{
    margin-bottom:23px;
    font-size:15.8px;
    line-height:1.72;
  }

  .journey-price{
    font-size:13.8px;
  }

  .journey-meta{
    display:block;
    margin-bottom:26px;
    font-size:13.8px;
  }

  .journey-proof{
    display:block;
    margin-bottom:14px;
  }

  .review-film{
    font-size:11px;
    letter-spacing:.12em;
  }

  .review-film .line{
    width:18px;
  }

  .tour-card__cta{
    font-size:13.5px;
    letter-spacing:.035em;
    text-transform:none;
    font-weight:500;
  }

  .journey-stack{
    gap:24px;
  }
}

/* SMALL MOBILE */
@media (max-width:480px){
  .journey-collection{
    padding:66px 0;
  }

  .section-intro{
    padding:0 18px;
  }

  .section-title{
    font-size:1.86rem;
  }

  .journey-content{
    padding:27px 20px 30px;
  }

  .journey-card-content{
    padding:22px 20px 25px;
  }

  .journey-title{
    font-size:1.72rem;
  }

  .journey-card-title{
    font-size:1.18rem;
  }

  .journey-description{
    font-size:15.4px;
  }

  .journey-price,
  .journey-meta{
    font-size:13.4px;
  }
}
 

/* Luxury tour list */
:root{
  --bg:#f3efe8;
  --surface:#fffdfa;
  --text:#181512;
  --muted:#6f665d;
  --muted-soft:rgba(24,21,18,.56);
  --gold:#b89357;
  --line:rgba(24,21,18,.08);

  --shadow:
    0 1px 3px rgba(0,0,0,.012),
    0 14px 32px rgba(0,0,0,.026);

  --shadow-hover:
    0 2px 8px rgba(0,0,0,.018),
    0 22px 44px rgba(0,0,0,.036);

  --radius:18px;
}

.luxury-tour-list,
.luxury-tour-list *{
  box-sizing:border-box;
}

.luxury-tour-list a{
  color:inherit;
  text-decoration:none;
}

.luxury-tour-list{
  position:relative;
  padding:104px 0;
  background:var(--bg);
  color:var(--text);
  overflow:hidden;
}

.luxury-tour-list::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(255,255,255,.30),
    rgba(255,255,255,0) 36%
  );
}

/* SECTION INTRO */
.section-intro{
  position:relative;
  z-index:2;

  max-width:820px;
  margin:0 auto 64px;
  padding:0 24px;

  text-align:center;
}

.section-eyebrow{
  margin:0 0 16px;

  font-size:11px;
  line-height:1.4;
  letter-spacing:.2em;
  text-transform:uppercase;

  color:var(--muted-soft);
}

.section-title{
  margin:0 0 18px;

  font-family:"Bodoni Moda", Georgia, serif;
  font-size:clamp(2.2rem,4.6vw,4rem);
  line-height:.98;
  letter-spacing:-.035em;
  font-weight:400;
}

.section-lead{
  max-width:640px;
  margin:0 auto;

  font-size:16.8px;
  line-height:1.78;

  color:var(--muted);
}

/* GRID */
.tour-grid{
  position:relative;
  z-index:2;

  max-width:1500px;
  margin:0 auto;
  padding:0 clamp(24px,4vw,72px);

  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

/* CARD */
.tour-card{
  min-width:0;

  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);

  overflow:hidden;
  box-shadow:var(--shadow);

  transition:
    transform .45s ease,
    box-shadow .45s ease;
}

.tour-card__link{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* IMAGE */
.tour-card__media{
  position:relative;

  aspect-ratio:16/10;
  margin:0;

  overflow:hidden;
  background:#d9d0c3;
}

.tour-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;

  background:linear-gradient(
    to top,
    rgba(0,0,0,.52),
    rgba(0,0,0,.12) 55%,
    transparent 85%
  );

  pointer-events:none;
}

.tour-card__media img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .85s ease;
}

/* OVERLAY */
.tour-card__overlay{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;

  color:#fff;
}

.tour-card__duration{
  display:block;

  margin-bottom:5px;

  font-size:10.5px;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;

  opacity:.9;
}

.tour-card__group{
  display:block;

  font-size:14px;
  line-height:1.4;
}

/* CONTENT */
.tour-card__content{
  display:flex;
  flex-direction:column;
  flex:1;

  padding:24px;
}

.tour-card__title{
  margin:0 0 10px;

  font-family:"Bodoni Moda", Georgia, serif;
  font-size:1.52rem;
  line-height:1.16;
  letter-spacing:-.018em;
  font-weight:400;

  color:var(--text);
}

.tour-card__summary{
  margin:0 0 14px;

  font-size:15.5px;
  line-height:1.62;

  color:#554d45;
}

/* HIGHLIGHTS */
.tour-card__highlights{
  list-style:none;

  padding:0;
  margin:0 0 16px;
}

.tour-card__highlights li{
  position:relative;

  margin-bottom:6px;
  padding-left:16px;

  font-size:14.3px;
  line-height:1.52;

  color:var(--muted);
}

.tour-card__highlights li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;

  width:7px;
  height:1px;

  background:var(--gold);
}

/* TRUST */
.tour-card__trust{
  margin:0 0 14px;
  padding:10px 0;

  border-top:1px solid rgba(24,21,18,.06);
  border-bottom:1px solid rgba(24,21,18,.06);

  font-size:12.4px;
  line-height:1.45;

  color:#746b63;
}

.tour-card__trust strong{
  display:block;

  color:#221d19;
  font-weight:600;
}

/* FOOTER */
.tour-card__footer{
  margin-top:auto;

  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
}

.tour-card__price-label{
  margin-bottom:4px;

  font-size:10.5px;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--muted-soft);
}

.tour-card__price{
  font-family:"Bodoni Moda", Georgia, serif;
  font-size:1.2rem;
  line-height:1.2;
  font-weight:400;

  color:var(--text);
}

.tour-card__price-note{
  margin-top:3px;

  font-size:12.4px;
  line-height:1.42;

  color:var(--muted);
}

/* CTA */
.tour-card__cta{
  position:relative;

  display:inline-flex;
  align-items:center;
  gap:8px;

  padding-bottom:4px;

  font-size:11.5px;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;

  color:#1d1a16;
  white-space:nowrap;

  transition:color .25s ease;
}

.tour-card__cta::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;

  width:100%;
  height:1px;

  background:rgba(24,21,18,.25);

  transition:background .25s ease;
}

.tour-card__cta span{
  transition:transform .25s ease;
}

/* HOVER */
@media (hover:hover) and (pointer:fine){
  .tour-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-hover);
  }

  .tour-card:hover .tour-card__media img{
    transform:scale(1.03);
  }

  .tour-card:hover .tour-card__cta{
    color:var(--gold);
  }

  .tour-card:hover .tour-card__cta::after{
    background:var(--gold);
  }

  .tour-card:hover .tour-card__cta span{
    transform:translateX(4px);
  }
}

/* TABLET */
@media (max-width:1024px){
  .luxury-tour-list{
    padding:90px 0;
  }

  .section-intro{
    margin-bottom:54px;
  }

  .section-title{
    font-size:clamp(2.1rem,5vw,3.1rem);
  }

  .tour-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px;
    padding:0 38px;
  }

  .tour-card__media{
    aspect-ratio:3/2;
  }
}

/* MOBILE */
@media (max-width:640px){
  .luxury-tour-list{
    padding:72px 0;
  }

  .section-intro{
    margin-bottom:42px;
    padding:0 20px;
  }

  .section-eyebrow{
    font-size:10px;
    letter-spacing:.16em;
  }

  .section-title{
    font-size:2rem;
    line-height:1.05;
  }

  .section-lead{
    font-size:15.8px;
    line-height:1.72;
  }

  .tour-grid{
    grid-template-columns:1fr;
    gap:28px;
    padding:0 20px;
  }

  .tour-card{
    border-radius:16px;
  }

  .tour-card__media{
    aspect-ratio:4/3;
  }

  .tour-card__content{
    padding:22px;
  }

  .tour-card__title{
    font-size:1.42rem;
    line-height:1.18;
  }

  .tour-card__summary{
    font-size:15px;
  }

  .tour-card__footer{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }

  .tour-card__cta{
    font-size:13.5px;
    letter-spacing:.04em;
    text-transform:none;
  }
}
 

/* ULTRA LUXURY EDITORIAL PROCESS - 3steps to tailor tours */
.bespoke-process {
  background: #f6f1ea;
  color: #171512;
  padding: 140px 8% 130px;
  overflow: hidden;
}

.process-header {
  max-width: 880px;
  margin-bottom: 96px;
}

.process-kicker {
  display: block;
  margin-bottom: 24px;
  font-family: "Cormorant Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  letter-spacing: 0.1em;
  color: #a87a4f;
}

.process-header h2 {
  margin: 0;
  max-width: 920px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3rem, 5.4vw, 5.6rem);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.process-header p {
  margin: 34px 0 0;
  max-width: 620px;
  font-family: "Inter", sans-serif;
  font-size: 1.05rem;
  font-weight: 300;
  line-height: 1.9;
  color: rgba(23, 21, 18, 0.68);
}

.process-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 72px;
  border-top: 1px solid rgba(168, 122, 79, 0.24);
  padding-top: 54px;
}

.process-step {
  position: relative;
  padding-right: 32px;
}

.step-index {
  margin-bottom: 30px;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.45rem;
  font-style: italic;
  color: #a87a4f;
}

.step-rule {
  width: 42px;
  height: 1px;
  margin-bottom: 34px;
  background: rgba(168, 122, 79, 0.46);
  transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.process-step h3 {
  margin: 0 0 22px;
  max-width: 360px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.75rem, 2.3vw, 2.35rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.process-step p {
  margin: 0;
  max-width: 360px;
  font-family: "Inter", sans-serif;
  font-size: 0.98rem;
  font-weight: 300;
  line-height: 1.95;
  color: rgba(23, 21, 18, 0.68);
}

.process-step:hover .step-rule {
  width: 76px;
}

@media (max-width: 1024px) {
  .bespoke-process {
    padding: 110px 7%;
  }

  .process-header {
    margin-bottom: 76px;
  }

  .process-steps {
    grid-template-columns: 1fr;
    gap: 64px;
  }

  .process-step {
    padding-right: 0;
  }

  .process-step h3,
  .process-step p {
    max-width: 680px;
  }
}

@media (max-width: 640px) {
  .bespoke-process {
    padding: 88px 24px;
  }

  .process-header h2 {
    font-size: 2.65rem;
    line-height: 1.06;
  }

  .process-header p {
    font-size: 1rem;
    line-height: 1.8;
  }

  .process-steps {
    padding-top: 42px;
    gap: 56px;
  }

  .process-step h3 {
    font-size: 1.75rem;
  }
}

/* =========================
   PROCESS CTA
========================= */

.process-cta {
  margin-top: 86px;
  text-align: center;
}

.process-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: min(100%, 425px);
  min-height: 66px;
  padding: 0 42px;

  border-radius: 999px;
  background: #b98d45;
  color: #fff;

  font-family: "Inter", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;

  box-shadow: 0 18px 42px rgba(185, 141, 69, 0.18);

  transition:
    background-color 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.process-cta-button:hover {
  background: #9f7435;
  transform: translateY(-2px);
  box-shadow: 0 22px 50px rgba(185, 141, 69, 0.24);
}

.process-cta-button:focus-visible {
  outline: 2px solid #171512;
  outline-offset: 5px;
}

.process-cta-note {
  margin: 28px 0 0;

  font-family: "Inter", sans-serif;
  font-size: 0.98rem;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(23, 21, 18, 0.62);
}

.process-cta-note span {
  margin: 0 7px;
  color: rgba(168, 122, 79, 0.85);
}

@media (max-width: 640px) {
  .process-cta {
    margin-top: 68px;
  }

  .process-cta-button {
    width: 100%;
    min-width: 0;
    min-height: 62px;
    padding: 0 24px;

    font-size: 0.82rem;
    letter-spacing: 0.1em;
  }

  .process-cta-note {
    max-width: 280px;
    margin: 24px auto 0;
    font-size: 0.92rem;
  }
}


/* Reviews Section */
:root {
  --bg: #fbf7f2;
  --surface: #fffdf9;

  --text: #1d1814;
  --muted: #746b62;
  --soft: #9a8f84;

  --gold: #b99149;
  --line: rgba(29, 24, 20, .08);

  --radius: 28px;
  --container: 1320px;
}

/* SECTION */

.traveler-reviews {
  position: relative;
  padding: 140px 24px;
  background: var(--bg);
  overflow: hidden;
}

.reviews-shell {
  position: relative;
  z-index: 1;
  max-width: var(--container);
  margin: auto;
}

.traveler-reviews::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(0, 0, 0, .018) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity: .14;
  pointer-events: none;
}

/* INTRO */

.reviews-intro {
  max-width: 790px;
  margin-bottom: 72px;
}

.reviews-eyebrow {
  display: inline-block;
  margin-bottom: 22px;

  font-size: .72rem;
  letter-spacing: .24em;
  text-transform: uppercase;

  color: var(--gold);
}

.reviews-intro h2 {
  margin: 0;

  font-family: "Playfair Display", serif;
  font-size: clamp(2.8rem, 5vw, 5.5rem);
  line-height: .98;
  letter-spacing: -.04em;

  color: var(--text);
}

.reviews-intro p {
  max-width: 660px;
  margin: 30px 0 0;

  font-size: 1.05rem;
  line-height: 1.95;

  color: var(--muted);
}

/* VIDEO */

.reviews-media {
  margin-bottom: 48px;
}

.youtube-lite {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 8.2;

  overflow: hidden;
  cursor: pointer;

  border-radius: var(--radius);
  background: #000;
}

.youtube-lite:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 6px;
}

.youtube-lite img {
  width: 100%;
  height: 100%;

  display: block;
  object-fit: cover;

  transform: scale(1.01);

  transition:
    transform 1.8s cubic-bezier(.16, 1, .3, 1),
    filter .8s ease;
}

.youtube-lite:hover img {
  transform: scale(1.04);
}

.video-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to top,
      rgba(0, 0, 0, .42),
      rgba(0, 0, 0, .08) 45%,
      rgba(0, 0, 0, .14)
    );
}

/* PLAY BUTTON */

.play-button {
  position: absolute;
  right: 54px;
  bottom: 54px;

  width: 84px;
  height: 84px;

  border-radius: 50%;

  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22);

  backdrop-filter: blur(4px);

  display: flex;
  align-items: center;
  justify-content: center;

  transition:
    transform .45s ease,
    background .45s ease;
}

.youtube-lite:hover .play-button {
  transform: scale(1.05);
  background: rgba(255, 255, 255, .16);
}

.play-button span {
  width: 0;
  height: 0;
  margin-left: 4px;

  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 17px solid #fff;
}

/* VIDEO META */

.video-meta {
  position: absolute;
  left: 48px;
  bottom: 42px;

  display: flex;
  flex-direction: column;
  gap: 10px;
}

.video-meta span {
  font-family: "Playfair Display", serif;
  font-size: 1.7rem;
  line-height: 1.1;
  letter-spacing: -.03em;

  color: #fff;
}

.video-meta small {
  font-size: .78rem;
  letter-spacing: .18em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, .72);
}

/* TRUST SIGNALS */

.reviews-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;

  margin-bottom: 72px;

  font-size: .74rem;
  letter-spacing: .11em;
  text-transform: uppercase;

  color: var(--soft);
}

.reviews-trust span {
  position: relative;
}

.reviews-trust span:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -16px;

  width: 4px;
  height: 4px;

  border-radius: 50%;
  background: rgba(185, 145, 73, .4);

  transform: translateY(-50%);
}

/* REVIEWS WITH EDITORIAL AVATARS */

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px;
}

.review-card {
  position: relative;
  padding: 42px 34px 0;

  border-top: 1px solid var(--line);

  background:
    linear-gradient(
      to bottom,
      rgba(255, 255, 255, .2),
      rgba(255, 255, 255, 0)
    );

  transition: transform .5s cubic-bezier(.16, 1, .3, 1);
}

.review-card:hover {
  transform: translateY(-3px);
}

.review-card p {
  margin: 0;

  font-size: 1rem;
  line-height: 2;

  color: var(--muted);
}

.review-author {
  display: flex;
  align-items: center;
  gap: 16px;

  margin-top: 36px;
}

.review-avatar {
  flex: 0 0 auto;

  width: 54px;
  height: 54px;

  border-radius: 50%;
  overflow: hidden;

  background: #eee7dd;
  border: 1px solid rgba(185, 145, 73, .24);
  box-shadow: 0 10px 24px rgba(29, 24, 20, .06);
}

.review-avatar img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  filter: saturate(.9) contrast(.98);
}

.review-author-text strong {
  display: block;

  font-size: .95rem;
  font-weight: 600;
  line-height: 1.2;

  color: var(--text);
}

.review-author-text span {
  display: block;
  margin-top: 8px;

  font-size: .7rem;
  letter-spacing: .17em;
  text-transform: uppercase;
  line-height: 1.4;

  color: var(--soft);
}

/* CTA */

.reviews-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;

  margin-top: 78px;
  padding-top: 38px;

  border-top: 1px solid var(--line);
}

.reviews-cta p {
  max-width: 560px;
  margin: 0;

  font-family: "Playfair Display", serif;
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -.03em;

  color: var(--text);
}

.reviews-button {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding-bottom: 8px;

  color: var(--text);
  text-decoration: none;
  white-space: nowrap;

  font-size: .76rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.reviews-button::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;

  width: 100%;
  height: 1px;

  background: var(--text);
  transform-origin: left center;

  transition:
    transform .45s cubic-bezier(.16, 1, .3, 1),
    opacity .3s ease;
}

.reviews-button:hover::after {
  transform: scaleX(.55);
}

/* RESPONSIVE */

@media (max-width: 1100px) {
  .reviews-grid {
    grid-template-columns: 1fr 1fr;
  }

  .review-card:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 680px;
  }
}

@media (max-width: 980px) {
  .traveler-reviews {
    padding: 100px 22px;
  }

  .reviews-intro {
    margin-bottom: 52px;
  }

  .reviews-intro h2 {
    line-height: 1.02;
  }

  .youtube-lite {
    aspect-ratio: 16 / 11;
    border-radius: 22px;
  }

  .play-button {
    width: 74px;
    height: 74px;

    right: 24px;
    bottom: 24px;
  }

  .play-button span {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid #fff;
  }

  .video-meta {
    left: 24px;
    right: 112px;
    bottom: 24px;
  }

  .video-meta span {
    font-size: 1.18rem;
  }

  .reviews-trust {
    margin-bottom: 56px;
    gap: 12px 22px;
  }

  .reviews-trust span:not(:last-child)::after {
    display: none;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .review-card,
  .review-card:nth-child(3) {
    grid-column: auto;
    max-width: none;
    padding: 34px 0 0;
  }

  .reviews-cta {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 58px;
  }
}

@media (max-width: 560px) {
  .traveler-reviews {
    padding: 82px 18px;
  }

  .reviews-intro p {
    font-size: 1rem;
    line-height: 1.8;
  }

  .youtube-lite {
    aspect-ratio: 4 / 5;
  }

  .video-meta {
    right: 24px;
    bottom: 112px;
  }

  .play-button {
    left: 24px;
    right: auto;
    bottom: 24px;
  }

  .review-author {
    gap: 14px;
  }

  .review-avatar {
    width: 50px;
    height: 50px;
  }

  .review-card p {
    font-size: .98rem;
    line-height: 1.9;
  }

  .reviews-button {
    width: 100%;
    min-height: 52px;
    padding: 0 22px;

    border: 1px solid var(--text);
  }

  .reviews-button::after {
    display: none;
  }
}
 

/*  EXPERT SEASONAL GUIDANCE */

.season-guidance{
  padding:110px 0;
  background:#f8f4ee;
}

/* ===== INTRO ===== */

.season-intro{
  max-width:760px;
  margin:0 auto 64px;
  text-align:center;
}

.season-eyebrow{
  margin:0 0 18px;

  font-size:13px;
  line-height:1.5;
  letter-spacing:.08em;

  color:rgba(28,24,21,.68);
  font-weight:500;

  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.season-title{
  margin:0 0 20px;

  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.08;
  letter-spacing:-.03em;

  color:#1c1815;
  font-weight:500;
}

.season-lead{
  max-width:650px;
  margin:0 auto;

  font-size:18px;
  line-height:1.85;

  color:#5f564d;
}

/* ===== GRID ===== */

.season-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:stretch;
}
/* ===== MAP ===== */

.season-map{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  height:100%;
  min-height:100%;

  padding:24px;

  border-radius:18px;

  background:#efe7dc;
  border:1px solid rgba(28,24,21,.06);
}

.season-map img{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;
  object-position:center;
}

/* ===== RIGHT CONTENT ===== */

.season-content{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.season-card{
  padding:30px;

  background:rgba(255,255,255,.72);

  border:1px solid rgba(28,24,21,.06);
  border-radius:16px;

  backdrop-filter:blur(4px);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.season-card:hover{
  transform:translateY(-2px);

  box-shadow:
    0 16px 34px rgba(28,24,21,.05);
}

.season-card-period{
  margin:0 0 12px;

  font-size:12px;
  letter-spacing:.08em;

  color:rgba(28,24,21,.56);
  font-weight:500;
}

.season-card-title{
  margin:0 0 14px;

  font-size:1.35rem;
  line-height:1.22;
  letter-spacing:-.01em;

  color:#1c1815;
  font-weight:500;
}

.season-card-text{
  margin:0;

  font-size:15px;
  line-height:1.8;

  color:#5f564d;
}

/* ===== EDITORIAL NOTE ===== */

.season-editorial{
  max-width:980px;
  margin:72px auto 0;

  text-align:center;
}

.season-note{
  max-width:760px;
  margin:0 auto 34px;
}

.season-note p{
  margin:0;

  font-size:17px;
  line-height:1.9;

  color:#5f564d;
}

/* ===== CTA ===== */

.season-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding-bottom:6px;

  border-bottom:1px solid rgba(157,112,64,.55);

  color:#1c1815;
  text-decoration:none;

  font-size:15px;
  font-weight:500;

  transition:
    color .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.season-cta:hover{
  color:#9d7040;
  border-color:rgba(157,112,64,.95);

  transform:translateX(2px);
}

/* ===== MOBILE ===== */

@media (max-width:991px){

  .season-guidance{
    padding:84px 0;
  }

  .season-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .season-map{
    border-radius:16px;
  }

}

@media (max-width:768px){

  .season-guidance{
    padding:72px 0;
  }

  .season-intro{
    margin-bottom:48px;
  }

  .season-title{
    line-height:1.12;
  }

  .season-lead{
    font-size:16px;
    line-height:1.8;
  }

  .season-card{
    padding:24px;
  }

  .season-card-title{
    font-size:1.22rem;
  }

  .season-note p{
    font-size:16px;
    line-height:1.85;
  }

}

@media (max-width:575px){

  .season-map{
    border-radius:14px;
  }

  .season-card{
    border-radius:14px;
  }

}

/* Authentic Experiences */
:root{
  --exp-bg:#fbf7f2;
  --exp-surface:#fffdf9;
  --exp-text:#1d1814;
  --exp-muted:#746b62;
  --exp-line:rgba(29,24,20,.09);
  --exp-gold:#b99149;
  --exp-gold-hover:#a88444;
}

.journey-experiences{
  padding:112px 20px;
  background:var(--exp-bg);
}

.journey-experiences-container{
  max-width:1320px;
  margin:0 auto;
}

.journey-experiences-heading{
  max-width:860px;
  margin:0 auto 72px;
  text-align:center;
}

.journey-experiences-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
  font-size:.72rem;
  line-height:1.4;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--exp-gold);
  font-weight:600;
}

.journey-experiences-eyebrow::before,
.journey-experiences-eyebrow::after{
  content:"";
  width:34px;
  height:1px;
  background:rgba(185,145,73,.4);
}

.journey-experiences-title{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.015em;
  color:var(--exp-text);
}

.journey-experiences-subtitle{
  max-width:760px;
  margin:28px auto 0;
  font-size:1.06rem;
  line-height:1.9;
  color:var(--exp-muted);
}

.journey-experiences-grid{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
  gap:34px;
  align-items:stretch;
}

.experience-featured{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:22px;
  background:var(--exp-surface);
  border:1px solid var(--exp-line);
  box-shadow:0 18px 50px rgba(29,24,20,.045);
}

.experience-featured-image{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#eee5d9;
}

.experience-featured-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .7s ease;
}

.experience-featured:hover img{
  transform:scale(1.025);
}

.experience-featured-content{
  padding:38px 38px 42px;
}

.experience-label{
  display:inline-block;
  margin-bottom:16px;
  font-size:.72rem;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--exp-gold);
  font-weight:600;
}

.experience-featured h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:2rem;
  line-height:1.2;
  font-weight:500;
  color:var(--exp-text);
}

.experience-featured p{
  margin:22px 0 0;
  font-size:1rem;
  line-height:1.9;
  color:var(--exp-muted);
}

.experience-list{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}

.experience-card{
  padding:34px 32px;
  border-radius:18px;
  background:var(--exp-surface);
  border:1px solid var(--exp-line);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.experience-card:hover{
  transform:translateY(-3px);
  border-color:rgba(185,145,73,.22);
  box-shadow:0 14px 30px rgba(29,24,20,.05);
}

.experience-card h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:1.42rem;
  line-height:1.3;
  font-weight:500;
  color:var(--exp-text);
}

.experience-card p{
  margin:16px 0 0;
  font-size:.98rem;
  line-height:1.85;
  color:var(--exp-muted);
}

.journey-experiences-action{
  margin-top:52px;
  text-align:center;
}

.journey-experiences-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:18px 34px;
  background:var(--exp-gold);
  color:#fff;
  text-decoration:none;
  border-radius:999px;
  font-size:.88rem;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
  box-shadow:0 10px 25px rgba(185,145,73,.18);
  transition:background .28s ease, transform .28s ease, box-shadow .28s ease;
}

.journey-experiences-btn:hover{
  background:var(--exp-gold-hover);
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(185,145,73,.24);
}

.journey-experiences-btn:focus-visible{
  outline:2px solid rgba(185,145,73,.55);
  outline-offset:4px;
}

.journey-experiences-note{
  margin:24px 0 0;
  font-size:.82rem;
  line-height:1.7;
  letter-spacing:.04em;
  color:#8b8177;
}

@media (prefers-reduced-motion:reduce){
  .experience-featured-image img,
  .experience-card,
  .journey-experiences-btn{
    transition:none;
  }

  .experience-featured:hover img,
  .experience-card:hover,
  .journey-experiences-btn:hover{
    transform:none;
  }
}

@media (max-width:1024px){
  .journey-experiences-grid{
    grid-template-columns:1fr;
  }

  .experience-list{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:768px){
  .journey-experiences{
    padding:84px 16px;
  }

  .journey-experiences-heading{
    margin-bottom:52px;
  }

  .journey-experiences-eyebrow{
    gap:10px;
    font-size:.68rem;
    letter-spacing:.18em;
  }

  .journey-experiences-eyebrow::before,
  .journey-experiences-eyebrow::after{
    width:24px;
  }

  .journey-experiences-title{
    font-size:clamp(2rem,9vw,3rem);
    line-height:1.12;
  }

  .journey-experiences-subtitle{
    font-size:1rem;
    line-height:1.8;
  }

  .experience-featured{
    border-radius:20px;
  }

  .experience-featured-content{
    padding:30px 26px 34px;
  }

  .experience-featured h3{
    font-size:1.7rem;
  }

  .experience-list{
    grid-template-columns:1fr;
  }

  .experience-card{
    padding:28px 24px;
    border-radius:16px;
  }

  .experience-card h3{
    font-size:1.28rem;
  }

  .journey-experiences-action{
    margin-top:44px;
  }

  .journey-experiences-btn{
    width:100%;
    padding:18px 22px;
  }
}
 

/* Key Destinations */
@font-face{
  font-family:"Playfair Display";
  src:url("/fonts/PlayfairDisplay-Regular.woff2") format("woff2");
  font-display:swap;
}

@font-face{
  font-family:"Playfair Display";
  src:url("/fonts/PlayfairDisplay-SemiBold.woff2") format("woff2");
  font-weight:600;
  font-display:swap;
}

:root{
  --lj-bg:#f7f3ed;
  --lj-surface:#fffdf8;
  --lj-text:#171411;
  --lj-muted:#62594f;
  --lj-soft:#90857a;
  --lj-line:rgba(23,20,17,.12);
  --lj-gold:#a77f3e;
  --lj-gold-hover:#c49c55;
  --lj-dark:#14100c;
}

.lj-section,
.lj-section *{
  box-sizing:border-box;
}

.lj-section{
  position:relative;
  overflow:hidden;
  background:var(--lj-bg);
  color:var(--lj-text);
  padding:clamp(82px,10vw,136px) clamp(18px,5vw,72px);
  content-visibility:auto;
  contain-intrinsic-size:1000px;
}

.lj-inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,430px) minmax(0,1fr);
  gap:clamp(46px,7vw,108px);
  align-items:center;
}

.lj-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
  color:var(--lj-soft);
  font-size:.7rem;
  line-height:1.4;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.lj-kicker::before{
  content:"";
  width:46px;
  height:1px;
  background:rgba(23,20,17,.25);
}

.lj-title{
  max-width:10ch;
  margin:0 0 28px;
  font-family:"Playfair Display", Georgia, serif;
  font-size:clamp(2.6rem,5vw,5.25rem);
  line-height:.94;
  font-weight:600;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.lj-copy{
  max-width:42ch;
  margin:0 0 34px;
  color:var(--lj-muted);
  font-size:1rem;
  line-height:1.9;
}

.lj-trust{
  display:grid;
  gap:15px;
  margin:0 0 36px;
  padding:22px 0;
  border-top:1px solid var(--lj-line);
  border-bottom:1px solid var(--lj-line);
}

.lj-trust-item{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:18px;
  align-items:start;
}

.lj-trust-item strong{
  color:var(--lj-text);
  font-size:.84rem;
  font-weight:600;
  letter-spacing:.02em;
}

.lj-trust-item span{
  color:var(--lj-muted);
  font-size:.9rem;
  line-height:1.6;
}

.lj-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

.lj-btn{
  min-height:54px;
  padding:0 26px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:.92rem;
  line-height:1.2;
  letter-spacing:.02em;
  transition:
    transform .45s cubic-bezier(.16,1,.3,1),
    background .45s cubic-bezier(.16,1,.3,1),
    border-color .45s cubic-bezier(.16,1,.3,1);
}

.lj-btn-primary{
  background:var(--lj-gold);
  color:#fff;
}

.lj-btn-primary:hover{
  background:var(--lj-gold-hover);
  transform:translateY(-2px);
}

.lj-btn-secondary{
  border:1px solid var(--lj-line);
  background:rgba(255,253,248,.68);
  color:var(--lj-text);
}

.lj-btn-secondary:hover{
  border-color:rgba(23,20,17,.24);
  transform:translateY(-2px);
}

.lj-note{
  max-width:36ch;
  margin-top:16px;
  color:var(--lj-muted);
  font-size:.82rem;
  line-height:1.6;
}

.lj-media{
  position:relative;
}

.lj-slider{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  aspect-ratio:1.4/1;
  border-radius:24px;
  background:var(--lj-dark);
  border:1px solid rgba(23,20,17,.08);
  box-shadow:
  0 8px 24px rgba(0,0,0,.05),
  0 24px 60px rgba(0,0,0,.08);
}

.lj-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:
    opacity 950ms cubic-bezier(.16,1,.3,1),
    visibility 950ms cubic-bezier(.16,1,.3,1);
}

.lj-slide.is-active{
  opacity:1;
  visibility:visible;
}

.lj-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform 7200ms cubic-bezier(.16,1,.3,1);
}

.lj-slide.is-active img{
  transform:scale(1.04);
}

.lj-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,.2) 58%, rgba(0,0,0,.04)),
    linear-gradient(to right, rgba(0,0,0,.2), transparent 58%);
  pointer-events:none;
}

.lj-caption{
  position:absolute;
  left:clamp(24px,3.4vw,44px);
  right:clamp(24px,3.4vw,170px);
  bottom:clamp(88px,6vw,44px);
  z-index:2;
  max-width:500px;
}

.lj-caption-label{
  display:block;
  margin-bottom:12px;
  color:rgba(255,255,255,.68);
  font-size:.68rem;
  line-height:1.4;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.lj-caption h3{
  margin:0 0 13px;
  color:#fff;
  font-family:"Playfair Display", Georgia, serif;
  font-size:clamp(1.7rem,2.4vw,2.85rem);
  line-height:1.04;
  font-weight:600;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.lj-caption p{
  max-width:38ch;
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:.95rem;
  line-height:1.75;
}

.lj-caption-short{
  display:none;
}

.lj-controls{
  position:absolute;
  right:24px;
  bottom:24px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:14px;
}

.lj-count{
  min-width:54px;
  color:rgba(255,255,255,.72);
  font-size:.72rem;
  letter-spacing:.18em;
}

.lj-arrows{
  display:flex;
  gap:8px;
}

.lj-arrow{
  position:relative;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:50%;
  background:rgba(18,15,12,.42);
  color:#fff;
  cursor:pointer;
  opacity:.92;
  transition:
    opacity .35s cubic-bezier(.16,1,.3,1),
    background .35s cubic-bezier(.16,1,.3,1),
    border-color .35s cubic-bezier(.16,1,.3,1);
}

.lj-arrow:hover{
  opacity:1;
  background:rgba(18,15,12,.62);
  border-color:rgba(255,255,255,.38);
}

.lj-arrow::before{
  content:"";
  position:absolute;
  left:14px;
  top:21px;
  width:16px;
  height:1px;
  background:currentColor;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}

.lj-arrow::after{
  content:"";
  position:absolute;
  left:24px;
  top:17px;
  width:7px;
  height:7px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:rotate(45deg);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}

.lj-arrow:hover::before{
  transform:translateX(2px);
}

.lj-arrow:hover::after{
  transform:translateX(2px) rotate(45deg);
}

.lj-arrow-prev::before{
  left:14px;
  transform:rotate(180deg);
}

.lj-arrow-prev::after{
  left:13px;
  transform:rotate(225deg);
}

.lj-arrow-prev:hover::before{
  transform:translateX(-2px) rotate(180deg);
}

.lj-arrow-prev:hover::after{
  transform:translateX(-2px) rotate(225deg);
}

.lj-dots{
  display:flex;
  gap:7px;
  align-items:center;
}

.lj-dot{
  width:6px;
  height:6px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.4);
  cursor:pointer;
  transition:
    width .35s cubic-bezier(.16,1,.3,1),
    background .35s cubic-bezier(.16,1,.3,1);
}

.lj-dot.is-active{
  width:24px;
  background:#fff;
}

.lj-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.lj-badge{
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--lj-line);
  border-radius:999px;
  background:rgba(255,253,248,.78);
  display:inline-flex;
  align-items:center;
  color:var(--lj-muted);
  font-size:.8rem;
}

@media(max-width:980px){
  .lj-inner{
    grid-template-columns:1fr;
  }

  .lj-title{
    max-width:12ch;
  }

  .lj-trust{
    max-width:640px;
  }

  .lj-slider{
    aspect-ratio:.92/1;
    border-radius:22px;
  }
}

@media(max-width:640px){
  .lj-section{
    padding:72px 18px;
  }

  .lj-trust-item{
    grid-template-columns:1fr;
    gap:5px;
  }

  .lj-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .lj-btn{
    width:100%;
  }

  .lj-caption{
    bottom:92px;
  }

  .lj-caption h3{
    font-size:clamp(1.55rem,9vw,2.2rem);
  }

  .lj-caption-full{
    display:none;
  }

  .lj-caption-short{
    display:block;
  }

  .lj-controls{
    left:22px;
    right:22px;
    justify-content:space-between;
  }

  .lj-count{
    min-width:auto;
  }

  .lj-badges{
    gap:8px;
  }

  .lj-badge{
    min-height:36px;
    font-size:.78rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .lj-slide,
  .lj-slide img,
  .lj-btn,
  .lj-arrow,
  .lj-arrow::before,
  .lj-arrow::after,
  .lj-dot{
    transition:none !important;
  }
}
 

/* =========================
   REVIEW SECTION
========================= */  
:root{
  --bg:#f5f1ea;
  --surface:#fffdf9;
  --text:#181512;
  --muted:#6e655d;
  --line:rgba(24,21,18,.08);

  --gold:#b89357;
  --gold-soft:#d6c19a;

  --shadow:
    0 2px 10px rgba(0,0,0,.025),
    0 24px 60px rgba(0,0,0,.04);
}

/* =========================
   REVIEW SECTION
========================= */

.review-editorial{
  padding:110px 0 90px;
  
  color:var(--text);
}

.review-shell{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:34px;
  align-items:stretch; padding:110px 0 90px;
}

/* =========================
   CARDS
========================= */

.review-summary,
.review-breakdown{
  background:var(--surface);

  border:1px solid var(--line);
  border-radius:24px;

  box-shadow:var(--shadow);
}

/* =========================
   LEFT SIDE
========================= */

.review-summary{
  padding:54px 44px;
  text-align:center;
}

.review-label{
  margin:0 0 18px;

  font-size:11px;
  line-height:1.5;
  letter-spacing:.22em;
  text-transform:uppercase;

  color:rgba(24,21,18,.55);
}

.review-score{
  display:flex;
  align-items:flex-end;
  justify-content:center;

  margin-bottom:18px;
}

.review-score strong{
  font-size:5.1rem;
  line-height:.9;
  font-weight:300;
  letter-spacing:-.05em;

  color:#181512;
}

.review-score span{
  margin-left:6px;

  font-size:1.4rem;
  line-height:1.2;

  color:#9d948a;
}

.review-stars{
  display:flex;
  justify-content:center;
  gap:8px;

  margin-bottom:24px;
}

.review-stars svg{
  width:20px;
  height:20px;

  fill:var(--gold);
}

.review-meta{
  margin:0;

  font-size:15px;
  line-height:1.8;

  color:var(--muted);
}

/* =========================
   RIGHT SIDE
========================= */

.review-breakdown{
  padding:48px 44px;
}

.review-row{
  margin-bottom:26px;
}

.review-row:last-child{
  margin-bottom:0;
}

.review-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  margin-bottom:10px;
}

.review-type{
  font-size:14px;
  line-height:1.4;
  color:#181512;
}

.review-count{
  font-size:14px;
  line-height:1.4;
  color:#7d7369;
}

.review-bar{
  position:relative;

  width:100%;
  height:7px;

  overflow:hidden;

  border-radius:999px;
  background:#ebe3d8;
}

.review-fill{
  position:absolute;
  inset:0 auto 0 0;

  height:100%;
  border-radius:999px;

  background:linear-gradient(
    90deg,
    #b89357,
    #d3bc92
  );
}

/* =========================
   CTA
========================= */

.review-cta{
  margin-top:14px;
  text-align:center;
}

.review-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:54px;
  padding:0 34px;

  border:1px solid rgba(24,21,18,.12);
  border-radius:999px;

  background:#fffdf9;
  color:#181512;

  font-size:12px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;

  text-decoration:none;

  transition:
    transform .3s ease,
    background .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.review-button:hover{
  transform:translateY(-2px);

  border-color:rgba(184,147,87,.35);

  box-shadow:
    0 10px 30px rgba(0,0,0,.06);
}

/* =========================
   TABLET
========================= */

@media (max-width:991px){

  .review-editorial{
    padding:92px 0 74px;
  }

  .review-shell{
    grid-template-columns:1fr;
    gap:26px;
  }

  .review-summary,
  .review-breakdown{
    padding:42px 34px;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width:767px){

  .review-editorial{
    padding:74px 0 64px;
  }

  .review-summary,
  .review-breakdown{
    padding:32px 24px;

    border-radius:20px;
  }

  .review-label{
    font-size:10px;
    letter-spacing:.18em;
  }

  .review-score strong{
    font-size:4rem;
  }

  .review-score span{
    font-size:1.15rem;
  }

  .review-stars{
    gap:6px;
  }

  .review-stars svg{
    width:18px;
    height:18px;
  }

  .review-meta{
    font-size:14px;
    line-height:1.75;
  }

  .review-topline{
    gap:14px;
  }

  .review-type,
  .review-count{
    font-size:13.5px;
  }

  .review-row{
    margin-bottom:22px;
  }

  .review-button{
    width:100%;
    min-height:52px;

    font-size:11.5px;
    letter-spacing:.14em;
  }

}
 