/* Fragrant Travel homepage — isolated styles; does not overwrite itinerary CSS */
:root{--ft-primary:#28659e;--ft-primary-dark:#1f527f;--ft-deep:#173f61;--ft-ink:#203344;--ft-gold:#bd945b;--ft-gold-light:#d8bc91;--ft-cream:#f7f5ef;--ft-paper:#f7f5ef;--ft-muted:#687783;--ft-border:#e8e5dc;--ft-white:#ffffff;--ft-radius:22px}
.ft-home{margin:0;background:#fff}
/* Keep the shared headermain.php completely untouched by homepage resets. */
.ft-home main{color:var(--ft-ink);font-family:Inter,"Segoe UI",Arial,sans-serif}
.ft-home main *{box-sizing:border-box}.ft-home main img{display:block;max-width:100%}.ft-home main a{text-decoration:none}
.ft-container{width:min(1240px,calc(100% - 56px));margin-inline:auto}
.ft-hero{height:calc(100svh - 0px);min-height:620px;max-height:1000px;position:relative;overflow:hidden;background:#173f61;color:#fff}
.ft-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease;isolation:isolate}
.ft-hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.ft-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.ft-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,35,51,.76) 0%,rgba(18,35,51,.42) 45%,rgba(18,35,51,.05) 100%),linear-gradient(0deg,rgba(18,35,51,.58),transparent 40%)}
.ft-hero-content{position:absolute;left:max(7vw,calc((100vw - 1240px)/2));top:50%;transform:translateY(-43%);width:min(700px,78%);padding-bottom:55px}
.ft-eyebrow{display:inline-block;font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--ft-gold);margin-bottom:20px}
.ft-hero h1{font-size:clamp(42px,6.1vw,86px);line-height:.99;letter-spacing:-.055em;max-width:760px;margin:0 0 24px;font-weight:750}
.ft-hero-content p{font-size:clamp(16px,1.6vw,20px);line-height:1.65;max-width:550px;color:rgba(255,255,255,.88);margin:0 0 30px}
.ft-button{display:inline-flex;align-items:center;gap:24px;background:var(--ft-gold);color:#203344;padding:15px 21px;border-radius:99px;font-size:14px;font-weight:800;transition:transform .2s,background .2s}
.ft-button:hover{transform:translateY(-2px);background:#d8bc91;color:#203344}.ft-button span{font-size:18px}
.ft-button-light{background:#fff;color:#203344}.ft-button-light:hover{background:var(--ft-gold)}
.ft-hero-controls{position:absolute;z-index:3;bottom:94px;left:max(7vw,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:16px}
.ft-hero-arrow{border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.12);color:white;width:38px;height:38px;border-radius:50%;font-size:18px;cursor:pointer}
.ft-hero-dots{display:flex;gap:7px}.ft-hero-dot{width:7px;height:7px;border:0;padding:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}.ft-hero-dot.is-active{width:27px;border-radius:8px;background:var(--ft-gold)}
.ft-section{padding:96px 0}.ft-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.ft-section-heading h2,.ft-ambassador h2,.ft-guide h2{font-size:clamp(30px,4vw,50px);line-height:1.06;letter-spacing:-.045em;margin:0 0 13px;font-weight:750}.ft-section-heading h2 em,.ft-ambassador h2 em{font-style:normal;color:var(--ft-primary)}.ft-section-heading p{color:var(--ft-muted);margin:0;line-height:1.6;font-size:15px}.ft-eyebrow-dark{color:var(--ft-primary);margin-bottom:13px}.ft-text-link{display:inline-flex;align-items:center;gap:10px;color:var(--ft-primary);font-size:13px;font-weight:800;white-space:nowrap}.ft-text-link span{font-size:18px}
.ft-destinations{background:#fff}.ft-destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ft-destination-card{position:relative;display:block;min-height:300px;border-radius:var(--ft-radius);overflow:hidden;background:#e8e5dc;color:#fff;isolation:isolate}.ft-destination-card:nth-child(3n+2){transform:none}.ft-destination-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s}.ft-destination-card:hover img,.ft-theme-card:hover img,.ft-international-card:hover img{transform:scale(1.055)}.ft-card-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(23,39,54,.88),rgba(23,39,54,0) 72%)}.ft-destination-copy{position:absolute;left:20px;right:16px;bottom:22px}.ft-destination-copy small{display:block;font-size:9px;letter-spacing:.15em;color:var(--ft-gold);font-weight:800;margin-bottom:9px}.ft-destination-copy strong{display:block;font-size:23px;letter-spacing:-.03em;margin-bottom:6px}.ft-destination-copy>span{font-size:12px;line-height:1.4;color:rgba(255,255,255,.82)}.ft-card-arrow{position:absolute;right:16px;top:16px;background:rgba(255,255,255,.92);color:var(--ft-ink);border-radius:50%;width:35px;height:35px;display:grid;place-items:center}
.ft-packages{background:var(--ft-paper)}.ft-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.ft-package-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #e8e5dc;transition:transform .25s,box-shadow .25s}.ft-package-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px #20334412}.ft-package-image{height:220px;display:block;position:relative;overflow:hidden;background:#e8e5dc}.ft-package-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.ft-package-card:hover .ft-package-image img{transform:scale(1.04)}.ft-package-image>span{position:absolute;top:14px;left:14px;background:var(--ft-gold);color:var(--ft-ink);font-size:9px;letter-spacing:.1em;font-weight:900;padding:8px 10px;border-radius:99px}.ft-package-body{padding:20px}.ft-package-meta{font-size:11px;color:var(--ft-muted);margin-bottom:13px}.ft-package-body h3{font-size:20px;letter-spacing:-.03em;margin:0 0 10px}.ft-package-body h3 a{color:var(--ft-ink)}.ft-package-body p{font-size:13px;line-height:1.55;color:var(--ft-muted);min-height:42px;margin:0 0 19px}
.ft-themes{padding-top:82px}.ft-theme-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr 1fr;gap:14px}.ft-theme-card{height:240px;position:relative;overflow:hidden;border-radius:17px;background:#e8e5dc;color:#fff}.ft-theme-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.ft-theme-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.ft-theme-card span{position:absolute;z-index:1;left:16px;right:14px;bottom:16px;font-weight:800;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.ft-international{padding-top:70px;background:#fff}.ft-international-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.ft-international-card{position:relative;height:210px;border-radius:15px;overflow:hidden;background:#e8e5dc;color:#fff}.ft-international-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.ft-international-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.ft-international-card span{position:absolute;z-index:1;bottom:14px;left:13px;right:13px;display:flex;justify-content:space-between;font-weight:800;font-size:14px}
.ft-promo{min-height:430px;position:relative;display:flex;align-items:center;overflow:hidden;background:#173f61;color:white;isolation:isolate}.ft-promo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.ft-promo-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(23,63,97,.92),rgba(23,63,97,.68) 48%,rgba(23,63,97,.1))}.ft-promo-content{padding-block:75px}.ft-promo h2{font-size:clamp(36px,5vw,62px);line-height:1.03;letter-spacing:-.05em;max-width:650px;margin:0 0 18px}.ft-promo p{max-width:520px;line-height:1.7;color:rgba(255,255,255,.82);margin:0 0 26px}
.ft-ambassador{background:#fff}.ft-ambassador-wrap{display:grid;grid-template-columns:minmax(240px,390px) 1fr;align-items:center;gap:70px}.ft-ambassador-wrap>img{width:100%;max-height:430px;object-fit:cover;border-radius:22px}.ft-ambassador blockquote{margin:22px 0;color:#586762;font-size:17px;line-height:1.8;max-width:720px}.ft-ambassador strong,.ft-ambassador small{display:block}.ft-ambassador strong{font-size:15px}.ft-ambassador small{font-size:12px;color:var(--ft-muted);margin-top:5px}
.ft-testimonials{background:#203344;color:#fff}.ft-testimonials .ft-section-heading h2{color:#fff}.ft-testimonials .ft-section-heading p{color:#c9d2da}.ft-testimonials .ft-eyebrow{color:var(--ft-gold)}.ft-testimonials .ft-section-heading h2 em{color:var(--ft-gold)}.ft-testimonial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.ft-testimonial{padding:26px;border:1px solid #ffffff20;border-radius:18px;background:#ffffff08}.ft-stars{color:var(--ft-gold);letter-spacing:3px;font-size:14px}.ft-testimonial p{font-size:14px;line-height:1.75;color:#e5e9ed;min-height:100px}.ft-testimonial strong,.ft-testimonial small{display:block}.ft-testimonial strong{font-size:14px}.ft-testimonial small{font-size:12px;color:#c0ccd6;margin-top:4px}
.ft-why{background:#f7f5ef}.ft-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ft-why-card{padding:25px;border-radius:16px;background:#fff}.ft-why-card>span{font-size:12px;color:var(--ft-primary);font-weight:900;letter-spacing:.12em}.ft-why-card h3{font-size:18px;margin:24px 0 10px}.ft-why-card p{font-size:13px;line-height:1.7;color:var(--ft-muted);margin:0}
.ft-guide{padding:75px 0;background:#f7f5ef}.ft-guide-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.ft-guide-wrap p{font-size:15px;line-height:1.8;color:var(--ft-muted);max-width:680px}.ft-guide-wrap img{width:100%;height:300px;object-fit:cover;border-radius:20px}
@media(max-width:1000px){.ft-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-international-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ft-theme-slider{grid-auto-columns:calc((100% - 28px)/3)}.ft-testimonial-grid,.ft-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-destination-card:nth-child(3n+2){transform:none}}
@media(max-width:640px){.ft-container{width:calc(100% - 32px)}.ft-hero{height:88svh;min-height:610px;max-height:850px}.ft-hero-image{object-position:center}.ft-hero-shade{background:linear-gradient(0deg,rgba(18,35,51,.82),rgba(18,35,51,.28) 65%,rgba(18,35,51,.12))}.ft-hero-content{left:22px;right:22px;top:auto;bottom:145px;transform:none;width:auto;padding:0}.ft-eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:14px}.ft-hero h1{font-size:clamp(39px,11vw,58px);line-height:1.02;margin-bottom:16px;max-width:520px}.ft-hero-content p{font-size:14px;line-height:1.55;margin-bottom:21px;max-width:430px}.ft-button{padding:13px 17px;font-size:12px}.ft-hero-controls{left:22px;bottom:92px}.ft-section{padding:62px 0}.ft-section-heading{display:block;margin-bottom:24px}.ft-section-heading h2,.ft-ambassador h2,.ft-guide h2{font-size:34px}.ft-section-heading p{font-size:13px}.ft-section-heading>.ft-text-link{margin-top:17px}.ft-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ft-destination-card{min-height:225px;border-radius:14px}.ft-destination-copy{left:13px;right:10px;bottom:14px}.ft-destination-copy strong{font-size:17px}.ft-destination-copy small{font-size:8px}.ft-destination-copy>span{font-size:10px}.ft-card-arrow{width:28px;height:28px;right:10px;top:10px}.ft-package-grid{grid-template-columns:1fr;gap:14px}.ft-package-card{display:grid;grid-template-columns:42% 1fr}.ft-package-image{height:100%;min-height:220px}.ft-package-body{padding:16px 14px}.ft-package-body h3{font-size:17px}.ft-package-body p{font-size:12px;min-height:0}.ft-package-body .ft-text-link{font-size:11px}.ft-theme-slider{grid-auto-columns:78%;gap:10px}.ft-theme-card{height:210px}.ft-international-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ft-international-card{height:190px}.ft-promo{min-height:440px}.ft-promo-content{padding-block:58px}.ft-promo h2{font-size:40px}.ft-promo p{font-size:14px}.ft-ambassador-wrap,.ft-guide-wrap{grid-template-columns:1fr;gap:25px}.ft-ambassador-wrap>img{max-height:330px;object-position:center 30%}.ft-ambassador blockquote{font-size:15px}.ft-testimonial-grid,.ft-why-grid{grid-template-columns:1fr}.ft-testimonial{padding:22px}.ft-testimonial p{min-height:0}.ft-guide{padding:55px 0}.ft-guide-wrap img{height:220px}}
@media(prefers-reduced-motion:reduce){.ft-home *, .ft-home *:before,.ft-home *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* FIX: preserve the original destination-card appearance while making the
   "Choose your kind of adventure" section a real horizontal slider. */
.ft-destination-carousel-section .ft-theme-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.ft-destination-carousel-section .ft-theme-slider{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch;
  gap:16px;
  width:100%;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#bd945b #e8e5dc;
  padding:2px 2px 14px;
}
.ft-destination-carousel-section .ft-theme-slider::-webkit-scrollbar{height:6px}
.ft-destination-carousel-section .ft-theme-slider::-webkit-scrollbar-track{background:#e8e5dc;border-radius:20px}
.ft-destination-carousel-section .ft-theme-slider::-webkit-scrollbar-thumb{background:#bd945b;border-radius:20px}
.ft-destination-carousel-section .ft-theme-slider>.ft-destination-card{
  flex:0 0 calc((100% - 48px)/4)!important;
  width:calc((100% - 48px)/4)!important;
  min-width:0!important;
  height:300px!important;
  min-height:300px!important;
  margin:0!important;
  transform:none!important;
  scroll-snap-align:start;
}
.ft-destination-carousel-section .ft-theme-slider>.ft-destination-card img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.ft-destination-carousel-section .ft-theme-slider>.ft-destination-card .ft-card-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(23,39,54,.9),rgba(23,39,54,0) 72%)}
.ft-destination-carousel-section .ft-theme-slider>.ft-destination-card .ft-destination-copy{position:absolute;left:20px;right:16px;bottom:22px}
.ft-destination-carousel-section .ft-theme-slider>.ft-destination-card .ft-destination-copy small{display:block;font-size:9px;letter-spacing:.15em;color:var(--ft-gold);font-weight:800;margin-bottom:9px}
.ft-destination-carousel-section .ft-theme-slider>.ft-destination-card .ft-destination-copy strong{display:block;font-size:23px;line-height:1.15;letter-spacing:-.03em;margin-bottom:6px;color:#fff}
.ft-destination-carousel-section .ft-theme-slider>.ft-destination-card .ft-destination-copy>span{font-size:12px;line-height:1.4;color:rgba(255,255,255,.88)}
.ft-destination-carousel-section .ft-slider-controls{display:flex;gap:9px;flex:0 0 auto}
.ft-destination-carousel-section .ft-slider-arrow{width:42px;height:42px;flex:0 0 42px;border:1px solid #d8dee5;border-radius:50%;background:#fff;color:#28659e;font-size:21px;line-height:1;cursor:pointer}
.ft-destination-carousel-section .ft-slider-arrow:hover{background:#28659e;color:#fff;border-color:#28659e}
.ft-destination-carousel-section .ft-slider-arrow:focus-visible{outline:3px solid #bd945b;outline-offset:3px}
@media(max-width:1000px){
 .ft-destination-carousel-section .ft-theme-slider>.ft-destination-card{flex-basis:calc((100% - 16px)/2)!important;width:calc((100% - 16px)/2)!important}
}
@media(max-width:640px){
 .ft-destination-carousel-section .ft-theme-heading{display:flex;align-items:flex-end;gap:10px}
 .ft-destination-carousel-section .ft-theme-heading>div:first-child{min-width:0}
 .ft-destination-carousel-section .ft-theme-heading h2{font-size:34px}
 .ft-destination-carousel-section .ft-slider-controls{gap:6px}
 .ft-destination-carousel-section .ft-slider-arrow{width:34px;height:34px;flex-basis:34px;font-size:18px}
 .ft-destination-carousel-section .ft-theme-slider{gap:12px;padding-bottom:12px}
 .ft-destination-carousel-section .ft-theme-slider>.ft-destination-card{flex:0 0 82%!important;width:82%!important;height:245px!important;min-height:245px!important}
 .ft-destination-carousel-section .ft-theme-slider>.ft-destination-card .ft-destination-copy{left:15px;right:13px;bottom:17px}
 .ft-destination-carousel-section .ft-theme-slider>.ft-destination-card .ft-destination-copy strong{font-size:20px}
}


/* Destination discovery slider: cards follow the /destinations/ page card design.
   The slider stays horizontal at every viewport, including small mobile screens. */
.ft-destination-carousel-section .ft-destination-slider{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:stretch;gap:18px;width:100%;max-width:100%;
  overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:#bd945b #e8e5dc;
  padding:2px 2px 14px;box-sizing:border-box;
}
.ft-destination-carousel-section .ft-destination-slider::-webkit-scrollbar{height:6px}
.ft-destination-carousel-section .ft-destination-slider::-webkit-scrollbar-track{background:#e8e5dc;border-radius:20px}
.ft-destination-carousel-section .ft-destination-slider::-webkit-scrollbar-thumb{background:#bd945b;border-radius:20px}
.ft-destination-carousel-section .ft-real-destination-card{
  display:flex!important;flex:0 0 calc((100% - 54px)/4)!important;
  flex-direction:column;min-width:0!important;width:auto!important;max-width:none!important;
  min-height:0!important;height:auto!important;margin:0!important;padding:0!important;
  position:relative;border:1px solid #e8ebe7;border-radius:4px;overflow:hidden;
  background:#fff;color:#203344;text-decoration:none!important;
  scroll-snap-align:start;transition:transform .25s,box-shadow .25s;
}
.ft-destination-carousel-section .ft-real-destination-card:hover,
.ft-destination-carousel-section .ft-real-destination-card:focus-visible{
  color:#203344;text-decoration:none!important;transform:translateY(-4px)!important;
  box-shadow:0 18px 36px #20334415;
}
.ft-real-destination-image{height:190px;position:relative;overflow:hidden;background:#e8e5dc;flex:0 0 auto}
.ft-real-destination-image:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(0deg,#102e2d75,transparent);pointer-events:none}
.ft-real-destination-image img{position:static!important;inset:auto!important;display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .55s;z-index:auto!important}
.ft-real-destination-card:hover .ft-real-destination-image img{transform:scale(1.05)}
.ft-real-destination-tag{position:absolute;z-index:1;top:12px;left:12px;max-width:calc(100% - 56px);padding:7px 9px;background:#ffffffed;color:#28659e;font-size:8px;line-height:1.25;letter-spacing:1px;font-weight:800;border-radius:2px}
.ft-real-destination-image-label{position:absolute;z-index:1;bottom:12px;left:14px;right:12px;color:#fff;font-size:10px;letter-spacing:.6px;text-shadow:0 1px 4px #000}
.ft-real-destination-body{display:flex;flex:1;flex-direction:column;padding:15px 15px 14px;min-width:0}
.ft-real-destination-location{font-size:9px;line-height:1.4;letter-spacing:.8px;text-transform:uppercase;color:#687783;margin-bottom:8px}
.ft-real-destination-body>strong{display:block;color:#203344;font-size:17px;line-height:1.3;letter-spacing:-.3px;margin-bottom:8px}
.ft-real-destination-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.6;color:#53636d;margin:0 0 13px;min-height:53px}
.ft-real-destination-link{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:11px;border-top:1px solid #eef0ed;color:#28659e;font-size:10px;font-weight:800}
.ft-real-destination-link b{font-size:16px}
.ft-destination-slider-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;color:#687783;font-size:11px}
@media(max-width:1000px){
  .ft-destination-carousel-section .ft-real-destination-card{flex-basis:calc((100% - 36px)/3)!important}
  .ft-real-destination-image{height:180px}
}
@media(max-width:640px){
  .ft-destination-carousel-section .ft-theme-heading{display:flex;align-items:flex-end;gap:12px}
  .ft-destination-carousel-section .ft-theme-heading>div:first-child{min-width:0;flex:1}
  .ft-destination-carousel-section .ft-theme-heading h2{font-size:31px;line-height:1.1}
  .ft-destination-carousel-section .ft-theme-heading p{font-size:12px;line-height:1.55}
  .ft-destination-carousel-section .ft-slider-controls{display:flex;gap:6px;flex:0 0 auto}
  .ft-destination-carousel-section .ft-slider-arrow{width:34px;height:34px}
  .ft-destination-carousel-section .ft-destination-slider{gap:12px}
  .ft-destination-carousel-section .ft-real-destination-card{flex:0 0 78%!important;width:78%!important}
  .ft-real-destination-image{height:185px}
  .ft-real-destination-body{padding:13px 13px 12px}
  .ft-real-destination-body>strong{font-size:16px}
  .ft-real-destination-body p{font-size:11px;min-height:0}
  .ft-destination-slider-footer{align-items:flex-start;font-size:10px}
}


/* Brand Ambassador section: positioned immediately after the trust strip. */
.ft-brand-ambassador{background:#fff;padding:70px 0}
.ft-brand-ambassador-wrap{display:grid;grid-template-columns:minmax(220px,310px) minmax(0,1fr);align-items:center;gap:44px}
.ft-brand-ambassador-photo{display:block;box-sizing:border-box;overflow:hidden;border:1px solid #e5e9ee;border-radius:18px;background:#fff;padding:6px;max-width:310px;width:100%;box-shadow:0 10px 28px rgba(24,43,61,.08)}
.ft-brand-ambassador-photo img{display:block;width:100%;height:296px;border-radius:12px;object-fit:cover;object-position:center 24%}
.ft-brand-ambassador-content h2{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.04em;margin:0 0 13px;color:var(--ft-ink);font-weight:750}
.ft-brand-ambassador-intro{font-size:16px;line-height:1.65;color:var(--ft-muted);margin:0 0 20px}
.ft-brand-ambassador-name{display:block;color:var(--ft-primary);font-size:18px;line-height:1.5;font-weight:800;margin:0 0 5px}
.ft-brand-ambassador-role{color:var(--ft-muted);font-size:14px;line-height:1.6;margin:0 0 19px}
.ft-brand-ambassador-content blockquote{margin:0;padding:0 0 0 22px;border-left:4px solid #e9edf1;color:#586762;font-size:16px;line-height:1.85}
@media(max-width:900px){.ft-brand-ambassador-wrap{grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:30px}.ft-brand-ambassador-photo{max-width:280px}.ft-brand-ambassador-photo img{height:266px}}
@media(max-width:640px){.ft-brand-ambassador{padding:36px 0}.ft-brand-ambassador-wrap{grid-template-columns:minmax(0,1fr);gap:14px}.ft-brand-ambassador-photo{max-width:240px;width:100%;margin:0 auto;padding:5px}.ft-brand-ambassador-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center 24%;border-radius:12px}.ft-brand-ambassador-content h2{font-size:32px}.ft-brand-ambassador-intro{font-size:14px;margin-bottom:16px}.ft-brand-ambassador-name{font-size:16px}.ft-brand-ambassador-role{font-size:13px}.ft-brand-ambassador-content blockquote{font-size:14px;line-height:1.75;padding-left:15px}}

/* Keep white overlay text readable when image-card links are hovered/focused.
   These overrides are scoped to image-backed cards so ordinary text links on
   white backgrounds retain their existing theme colour. */
.ft-home main a.ft-destination-card:hover,
.ft-home main a.ft-destination-card:focus-visible,
.ft-home main a.ft-theme-card:hover,
.ft-home main a.ft-theme-card:focus-visible,
.ft-home main a.ft-international-card:hover,
.ft-home main a.ft-international-card:focus-visible{
  color:#fff!important;
}
.ft-home main a.ft-destination-card:hover .ft-destination-copy strong,
.ft-home main a.ft-destination-card:focus-visible .ft-destination-copy strong,
.ft-home main a.ft-theme-card:hover span,
.ft-home main a.ft-theme-card:focus-visible span,
.ft-home main a.ft-international-card:hover span,
.ft-home main a.ft-international-card:focus-visible span{
  color:#fff!important;
}
/* Preserve the existing gold eyebrow labels and dark arrow-chip icon. */
.ft-home main a.ft-destination-card:hover .ft-destination-copy small,
.ft-home main a.ft-destination-card:focus-visible .ft-destination-copy small{
  color:var(--ft-gold)!important;
}
.ft-home main a.ft-destination-card:hover .ft-card-arrow,
.ft-home main a.ft-destination-card:focus-visible .ft-card-arrow{
  color:var(--ft-ink)!important;
}


/* Banner typography: keep primary banner headings and supporting copy white
   across every slide and promotional banner, including hover/focus states. */
.ft-home main .ft-hero-content,
.ft-home main .ft-hero-content h1,
.ft-home main .ft-hero-content p,
.ft-home main .ft-promo-content,
.ft-home main .ft-promo-content h2,
.ft-home main .ft-promo-content p{color:#fff!important}
.ft-home main .ft-hero-content a:not(.ft-button),
.ft-home main .ft-promo-content a:not(.ft-button){color:#fff!important}
.ft-home main .ft-destination-card .ft-destination-copy strong,
.ft-home main .ft-destination-card .ft-destination-copy>span,
.ft-home main .ft-theme-card span,
.ft-home main .ft-international-card span{color:#fff!important}
.ft-home main .ft-destination-card:hover .ft-destination-copy strong,
.ft-home main .ft-destination-card:focus-visible .ft-destination-copy strong,
.ft-home main .ft-theme-card:hover span,
.ft-home main .ft-international-card:hover span{color:#fff!important}

/* ==========================================================
   PREMIUM HOLIDAY OFFERS MARQUEE
   Single row, brand blue, white text, gold accents.
   Scoped to this component to avoid changing other sections.
========================================================== */
.ft-home main .ft-promo-marquee {
  --ft-marquee-gold: #e8cb8a;
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 42px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #28659e !important;
  background-image: none !important;
  color: #fff;
  border-top: 1px solid rgba(232, 203, 138, .7);
  border-bottom: 1px solid rgba(232, 203, 138, .7);
  white-space: nowrap;
  isolation: isolate;
}

.ft-home main .ft-promo-track {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  width: max-content;
  min-width: max-content;
  height: 100%;
  animation: ftPromoScroll 42s linear infinite;
  will-change: transform;
}

.ft-home main .ft-promo-group {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row nowrap;
  align-items: center;
  height: 100%;
  background: transparent;
}

.ft-home main .ft-promo-item {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  height: 100%;
  padding: 0 26px;
  color: #fff !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .25px;
  white-space: nowrap;
}

.ft-home main .ft-promo-star {
  flex: 0 0 auto;
  color: var(--ft-marquee-gold) !important;
  font-size: 17px;
  line-height: 1;
}

@keyframes ftPromoScroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

@media (hover: hover) and (pointer: fine) {
  .ft-home main .ft-promo-marquee:hover .ft-promo-track {
    animation-play-state: paused;
  }
}

@media (max-width: 767px) {
  .ft-home main .ft-promo-marquee {
    height: 36px;
  }

  .ft-home main .ft-promo-track {
    animation-duration: 36s;
  }

  .ft-home main .ft-promo-item {
    gap: 7px;
    padding-inline: 15px;
    font-size: 12px;
    letter-spacing: .1px;
  }

  .ft-home main .ft-promo-star {
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ft-home main .ft-promo-track {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }

  .ft-home main .ft-promo-group[aria-hidden="true"] {
    display: none;
  }
}


/* Mobile compatibility patch: preserve the established design while ensuring
   current mobile browsers receive the intended hero and offers-strip styles. */
.ft-home main .ft-hero-content,
.ft-home main .ft-hero-content h1,
.ft-home main .ft-hero-content p,
.ft-home main .ft-hero-content .ft-eyebrow {
  color: #fff !important;
}
.ft-home main .ft-hero-content .ft-eyebrow {
  color: var(--ft-gold-light) !important;
}
.ft-home main .ft-promo-marquee {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #28659e !important;
  color: #fff !important;
  white-space: nowrap !important;
  line-height: normal !important;
}
.ft-home main .ft-promo-track,
.ft-home main .ft-promo-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  height: 100% !important;
  white-space: nowrap !important;
}
.ft-home main .ft-promo-track {
  width: max-content !important;
  min-width: max-content !important;
  animation: ftPromoScroll 42s linear infinite !important;
  will-change: transform;
}
.ft-home main .ft-promo-group { flex: 0 0 auto !important; }
.ft-home main .ft-promo-item {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 7px !important;
  height: 100% !important;
  padding: 0 15px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.ft-home main .ft-promo-star { color: #e8cb8a !important; flex: 0 0 auto !important; }

@media (max-width: 767px) {
  .ft-home main .ft-hero { height: 88svh; min-height: 610px; max-height: 850px; }
  .ft-home main .ft-hero-content h1 { color: #fff !important; }
  .ft-home main .ft-promo-marquee { height: 36px !important; }
  .ft-home main .ft-promo-track { animation-duration: 36s !important; }
  .ft-home main .ft-promo-item { font-size: 12px !important; padding-inline: 15px !important; }
  .ft-home main .ft-promo-star { font-size: 14px !important; }
  .ft-home main .ft-destination-grid,
  .ft-home main .ft-package-grid,
  .ft-home main .ft-international-grid,
  .ft-home main .ft-testimonial-grid,
  .ft-home main .ft-why-grid { min-width: 0; }
  .ft-home main .ft-section-heading h2 { overflow-wrap: anywhere; }
}
