/* Scoped to this page only — LucianStyle brand palette */
.lstl-speedboat{--ink:#212121;--ink-soft:#54595F;--muted:#7A7A7A;--brand:#040942;--brand-blue:#1863dc;--brand-blue-deep:#0056a7;--brand-green:#005538;--brand-green-soft:#E3F0EB;--accent:#7471BF;--accent-soft:#EEEDF8;--carib-teal:#007A6B;--carib-coral:#FF6B4A;--carib-gold:#FFB703;--surface:#FFFFFF;--surface-soft:#F5F5F5;--surface-cool:#FBFBFB;--line:#E5E7EB;--shadow:rgba(4,9,66,.2);color:var(--ink);line-height:1.65;font-size:17px}
.lstl-speedboat *{box-sizing:border-box}
.lstl-speedboat h1,.lstl-speedboat h2,.lstl-speedboat h3{font-family:Georgia,'Playfair Display',serif;color:var(--brand);letter-spacing:-.01em;line-height:1.2}
.lstl-speedboat h2{font-size:2rem;margin:3rem 0 1rem;position:relative;padding-bottom:.5rem}
.lstl-speedboat h2::after{content:"";display:block;width:72px;height:3px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-green) 40%,var(--accent) 100%);margin-top:.6rem;border-radius:2px}
.lstl-speedboat h3{font-size:1.25rem;margin:1.6rem 0 .6rem;color:var(--brand)}
.lstl-speedboat p{margin:0 0 1rem}
.lstl-speedboat a{color:var(--brand-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
.lstl-speedboat a:hover,.lstl-speedboat a:focus{color:var(--brand-blue-deep);text-decoration-thickness:2px}
.lstl-speedboat .lead{font-size:1.18rem;color:var(--ink-soft);border-left:4px solid var(--brand-blue);padding:.25rem 0 .25rem 1.25rem;margin:0 0 2rem}

/* Hero — 6-slide rotator with Ken Burns on each slide */
.lstl-hero{position:relative;border-radius:18px;overflow:hidden;margin:0 0 2.5rem;box-shadow:0 28px 60px -28px var(--shadow);width:100%;aspect-ratio:16/9;background:var(--brand)}
.lstl-hero__slide{position:absolute;inset:0;opacity:0;animation:lstl-slideshow 36s linear infinite;will-change:opacity}
.lstl-hero__slide img{width:100%;height:100%;object-fit:cover;display:block;animation:lstl-kenburnsHero 36s linear infinite;will-change:transform}
.lstl-hero__slide:nth-child(1){animation-delay:0s}  .lstl-hero__slide:nth-child(1) img{animation-delay:0s}
.lstl-hero__slide:nth-child(2){animation-delay:6s}  .lstl-hero__slide:nth-child(2) img{animation-delay:6s}
.lstl-hero__slide:nth-child(3){animation-delay:12s} .lstl-hero__slide:nth-child(3) img{animation-delay:12s}
.lstl-hero__slide:nth-child(4){animation-delay:18s} .lstl-hero__slide:nth-child(4) img{animation-delay:18s}
.lstl-hero__slide:nth-child(5){animation-delay:24s} .lstl-hero__slide:nth-child(5) img{animation-delay:24s}
.lstl-hero__slide:nth-child(6){animation-delay:30s} .lstl-hero__slide:nth-child(6) img{animation-delay:30s}
.lstl-hero:hover .lstl-hero__slide,.lstl-hero:hover .lstl-hero__slide img{animation-play-state:paused}
@keyframes lstl-slideshow{
  0%    {opacity:0}
  2.8%  {opacity:1}
  16.67%{opacity:1}
  19.44%{opacity:0}
  100%  {opacity:0}
}
@keyframes lstl-kenburnsHero{
  0%    {transform:scale(1.02);transform-origin:50% 50%}
  19.44%{transform:scale(1.1); transform-origin:60% 40%}
  100%  {transform:scale(1.1); transform-origin:60% 40%}
}
.lstl-hero__dots{position:absolute;bottom:12px;right:18px;z-index:3;display:flex;gap:6px}
.lstl-hero__dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);transition:background .3s}
.lstl-hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,85,56,.12) 0%,rgba(116,113,191,.14) 35%,rgba(4,9,66,.82) 100%);z-index:2;pointer-events:none}
.lstl-hero .caption{position:absolute;left:0;right:0;bottom:0;padding:1.5rem 1.75rem;color:#fff;z-index:2}
.lstl-hero .caption .eyebrow{display:inline-block;background:var(--brand-blue);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .7rem;border-radius:3px;margin-bottom:.6rem;box-shadow:0 4px 12px -6px rgba(0,0,0,.4)}
.lstl-hero .caption h1{color:#fff;font-size:2.25rem;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.35)}

/* Stat grid */
.lstl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:2rem 0 2.5rem;list-style:none;padding:0}
.lstl-stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden}
.lstl-stat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--_acc,var(--brand-blue));transition:height .3s ease}
.lstl-stat:hover{transform:translateY(-4px);box-shadow:0 16px 36px -22px var(--shadow);border-color:var(--_acc,var(--brand-blue))}
.lstl-stat:hover::before{height:5px}
.lstl-stat:nth-child(6n+1){--_acc:var(--brand)}
.lstl-stat:nth-child(6n+2){--_acc:var(--brand-green)}
.lstl-stat:nth-child(6n+3){--_acc:var(--accent)}
.lstl-stat:nth-child(6n+4){--_acc:var(--brand-blue)}
.lstl-stat:nth-child(6n+5){--_acc:var(--brand-green)}
.lstl-stat:nth-child(6n+6){--_acc:var(--brand)}
.lstl-stat .label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--_acc,var(--brand-blue));font-weight:700;margin-bottom:.35rem}
.lstl-stat .value{font-size:1.05rem;font-weight:600;color:var(--ink)}

/* Pricing card */
.lstl-priceCard{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-blue-deep) 100%);color:#fff;border-radius:16px;padding:2rem;margin:1.5rem 0;align-items:center;box-shadow:0 20px 48px -24px var(--shadow)}
.lstl-priceCard .pc-left .eye{color:#7471BF;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.lstl-priceCard .pc-left h3{color:#fff;font-size:1.4rem;margin:.3rem 0 .5rem}
.lstl-priceCard .pc-left p{color:rgba(255,255,255,.82);margin:0}
.lstl-priceCard .pc-right{text-align:right}
.lstl-priceCard .pc-right .big{font-size:3rem;font-weight:700;line-height:1;color:#fff;font-family:Georgia,serif}
.lstl-priceCard .pc-right .tiny{color:rgba(255,255,255,.78);font-size:.85rem;margin-top:.35rem}

/* Pros / cons */
.lstl-procons{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.5rem 0}
.lstl-pro,.lstl-con{border-radius:14px;padding:1.5rem;border:1px solid var(--line);background:var(--surface)}
.lstl-pro{background:var(--brand-green-soft);border-color:#C8DFD5}
.lstl-con{background:var(--accent-soft);border-color:#DAD5ED}
.lstl-pro h3,.lstl-con h3{margin-top:0}
.lstl-pro h3{color:var(--brand-green)}
.lstl-con h3{color:var(--accent)}
.lstl-pro ul,.lstl-con ul{list-style:none;padding:0;margin:0}
.lstl-pro li,.lstl-con li{padding:.45rem 0 .45rem 1.75rem;position:relative;border-bottom:1px dashed rgba(0,0,0,.07)}
.lstl-pro li:last-child,.lstl-con li:last-child{border-bottom:none}
.lstl-pro li::before{content:"✓";position:absolute;left:0;top:.45rem;color:var(--brand-green);font-weight:700}
.lstl-con li::before{content:"—";position:absolute;left:0;top:.45rem;color:var(--accent);font-weight:700}

/* Inline CTA (TripAdvisor link) */
.lstl-cta{background:linear-gradient(135deg,var(--surface) 0%,var(--accent-soft) 100%);border:1px solid #DAD7EE;border-left:5px solid var(--accent);border-radius:12px;padding:1.35rem 1.5rem;margin:2rem 0}
.lstl-cta .ct{display:block;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brand);font-weight:700;margin-bottom:.35rem}
.lstl-cta p{margin:0}
.lstl-cta a.btn{display:inline-block;margin-top:.9rem;background:var(--brand);color:#fff!important;padding:.7rem 1.2rem;border-radius:6px;text-decoration:none;font-weight:600;letter-spacing:.02em;transition:background .2s,transform .2s}
.lstl-cta a.btn:hover{background:var(--brand-blue);transform:translateY(-1px)}

/* Amenities grid */
.lstl-amenities{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:1rem 0 0;list-style:none;padding:0}
.lstl-amenities li{background:var(--surface);border:1px solid var(--line);padding:.8rem 1rem;border-radius:10px;font-size:.95rem;display:flex;gap:.6rem;align-items:flex-start;transition:border-color .25s,background .25s}
.lstl-amenities li::before{content:"●";color:var(--brand-blue);line-height:1;margin-top:.35rem}
.lstl-amenities li:hover{border-color:var(--brand-blue);background:var(--surface-cool)}

/* Pricing table */
.lstl-priceTable{width:100%;border-collapse:separate;border-spacing:0;margin:1rem 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.lstl-priceTable caption{text-align:left;padding:.9rem 1.1rem;background:var(--brand);color:#fff;font-weight:600;caption-side:top}
.lstl-priceTable th,.lstl-priceTable td{padding:.85rem 1.1rem;text-align:left;border-top:1px solid var(--line)}
.lstl-priceTable thead th{background:var(--surface-soft);color:var(--brand);font-weight:700;letter-spacing:.02em;border-top:none}
.lstl-priceTable tbody th{font-weight:600;color:var(--ink);width:44%}

/* Internal link cards */
.lstl-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;list-style:none;padding:0;margin:1.5rem 0}
.lstl-links li a{display:block;background:var(--surface);border:1px solid var(--line);padding:1rem 1.1rem;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;transition:all .3s cubic-bezier(.22,1,.36,1);position:relative}
.lstl-links li a::after{content:"→";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--brand-blue);transition:transform .3s}
.lstl-links li a:hover{border-color:var(--brand-blue);color:var(--brand);box-shadow:0 12px 26px -18px var(--shadow);transform:translateY(-2px)}
.lstl-links li a:hover::after{transform:translateY(-50%) translateX(4px)}

/* FAQ accordion */
.lstl-faq details{border:1px solid var(--line);border-radius:10px;padding:.2rem 1.1rem;margin:.6rem 0;background:var(--surface);transition:border-color .2s,box-shadow .2s}
.lstl-faq details[open]{border-color:var(--brand-blue);box-shadow:0 8px 20px -18px var(--shadow)}
.lstl-faq summary{cursor:pointer;padding:.9rem 0;font-weight:600;color:var(--brand);font-family:Georgia,serif;font-size:1.05rem;list-style:none;position:relative;padding-right:2rem}
.lstl-faq summary::-webkit-details-marker{display:none}
.lstl-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--brand-blue);font-weight:400;transition:transform .3s}
.lstl-faq details[open] summary::after{content:"−"}
.lstl-faq details p{padding-bottom:1rem;margin:0;color:var(--ink-soft)}

/* Gallery — fixed 4-col x 2-row, Caribbean accent rotation, staggered reveal, silky hover */
.lstl-gallery__lede{max-width:820px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.15rem;color:var(--ink);margin:0 0 1.6rem;line-height:1.55}
.lstl-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:1.5rem 0 2.5rem;list-style:none;padding:0}
.lstl-gallery__item{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 18px 36px -22px rgba(4,9,66,.4);background:var(--brand);display:flex;flex-direction:column;margin:0;opacity:0;animation:lstl-rise .9s cubic-bezier(.22,1,.36,1) forwards;isolation:isolate;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease}
.lstl-gallery__item:nth-child(1){animation-delay:.05s;--_acc:var(--carib-coral)}
.lstl-gallery__item:nth-child(2){animation-delay:.10s;--_acc:var(--carib-teal)}
.lstl-gallery__item:nth-child(3){animation-delay:.15s;--_acc:var(--carib-gold)}
.lstl-gallery__item:nth-child(4){animation-delay:.20s;--_acc:var(--brand-blue)}
.lstl-gallery__item:nth-child(5){animation-delay:.25s;--_acc:var(--brand-green)}
.lstl-gallery__item:nth-child(6){animation-delay:.30s;--_acc:var(--accent)}
.lstl-gallery__item:nth-child(7){animation-delay:.35s;--_acc:var(--brand)}
.lstl-gallery__item:nth-child(8){animation-delay:.40s;--_acc:var(--carib-coral)}
.lstl-gallery__item:nth-child(9){animation-delay:.45s;--_acc:var(--carib-teal)}
.lstl-gallery__item:nth-child(10){animation-delay:.50s;--_acc:var(--carib-gold)}
.lstl-gallery__item:nth-child(11){animation-delay:.55s;--_acc:var(--brand-blue)}
.lstl-gallery__item:nth-child(12){animation-delay:.60s;--_acc:var(--brand-green)}
@keyframes lstl-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.lstl-gallery__img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;width:100%;isolation:isolate}
.lstl-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.lstl-gallery__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,9,66,.15) 0%,rgba(4,9,66,.05) 40%,rgba(4,9,66,.7) 100%),radial-gradient(ellipse at 80% 0%,color-mix(in srgb,var(--_acc,var(--brand)) 35%,transparent),transparent 55%);pointer-events:none;transition:background .5s ease}
.lstl-gallery__tag{position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.96);color:var(--brand);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:.32rem .65rem;border-radius:999px;box-shadow:0 6px 18px -8px rgba(0,0,0,.45);border-left:3px solid var(--_acc,var(--carib-coral))}
.lstl-gallery__tag-icon{font-size:.95rem;line-height:1}
.lstl-gallery__num{position:absolute;top:10px;right:12px;z-index:3;font-family:'Playfair Display',Georgia,serif;font-size:1.4rem;font-weight:800;color:rgba(255,255,255,.85);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.5);letter-spacing:-.02em}
.lstl-gallery__num::before{content:'';display:inline-block;width:14px;height:2px;background:var(--_acc,var(--carib-gold));border-radius:2px;vertical-align:middle;margin-right:.3rem;transform:translateY(-2px)}
.lstl-gallery__wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:22px;z-index:2;display:block;pointer-events:none;filter:drop-shadow(0 -2px 4px rgba(4,9,66,.15))}
.lstl-gallery__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.1rem 1rem 1rem;font-family:'Playfair Display',Georgia,serif;font-size:.95rem;line-height:1.4;color:#fff;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.5);transform:translateY(14px);opacity:0;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s ease}
.lstl-gallery__cap::before{content:'';display:block;width:32px;height:3px;background:var(--_acc,var(--carib-gold));border-radius:3px;margin:0 0 .55rem}
.lstl-gallery__item:hover{transform:translateY(-6px);box-shadow:0 30px 52px -22px rgba(4,9,66,.55)}
.lstl-gallery__item:hover img{transform:scale(1.09)}
.lstl-gallery__item:hover .lstl-gallery__overlay{background:linear-gradient(180deg,rgba(4,9,66,.25) 0%,rgba(4,9,66,.15) 40%,rgba(4,9,66,.88) 100%),radial-gradient(ellipse at 80% 0%,color-mix(in srgb,var(--_acc,var(--brand)) 45%,transparent),transparent 55%)}
.lstl-gallery__item:hover .lstl-gallery__cap{transform:translateY(0);opacity:1}
.lstl-gallery__item:focus-within{outline:3px solid var(--_acc,var(--brand));outline-offset:3px}
.lstl-gallery__item:focus-within .lstl-gallery__cap{transform:translateY(0);opacity:1}
@media (max-width:980px){.lstl-gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){.lstl-gallery{grid-template-columns:repeat(2,1fr)}.lstl-gallery__cap{transform:translateY(0);opacity:1;font-size:.85rem;padding:.85rem .85rem .9rem}.lstl-gallery__tag{font-size:.62rem;padding:.25rem .5rem}.lstl-gallery__num{font-size:1.1rem}}
@media (max-width:420px){.lstl-gallery{grid-template-columns:1fr}.lstl-gallery__img-wrap{aspect-ratio:16/10}}
@media (prefers-reduced-motion:reduce){.lstl-gallery__cap{transform:none;opacity:1}}
/* Verified TripAdvisor reviews — spotlight + compact grid */
.lstl-rev-summary{display:flex;align-items:center;gap:1.25rem;background:linear-gradient(135deg,var(--accent-soft),#FFF7E6);border:1px solid var(--line);border-left:5px solid var(--carib-gold);border-radius:16px;padding:1.2rem 1.5rem;margin:1.5rem 0 1.5rem;flex-wrap:wrap;box-shadow:0 10px 30px -22px var(--shadow);position:relative;overflow:hidden}
.lstl-rev-summary::before{content:'';position:absolute;right:-30px;top:-30px;width:140px;height:140px;background:radial-gradient(circle,rgba(255,183,3,.35),transparent 60%);pointer-events:none}
.lstl-rev-summary__score{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;position:relative;z-index:1}
.lstl-rev-summary__num{font-family:'Playfair Display',Georgia,serif;font-size:2.6rem;font-weight:800;color:var(--brand);line-height:1}
.lstl-rev-summary__out{font-size:1rem;color:var(--ink-soft);font-weight:600;margin-left:2px}
.lstl-rev-summary__stars{color:#FFB703;font-size:1.5rem;letter-spacing:3px}
.lstl-rev-summary__badge{display:inline-block;background:var(--brand-green);color:#fff;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;padding:.35rem .7rem;border-radius:4px;margin-left:.4rem;box-shadow:0 4px 10px -4px rgba(0,85,56,.5)}
.lstl-rev-summary__txt{color:var(--ink-soft);font-size:.95rem;flex:1;min-width:240px;position:relative;z-index:1}

.lstl-reviews-wrap{margin:1.75rem 0 2rem}
.lstl-reviews__spotlight-wrap{margin:0 0 1.25rem}
.lstl-reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}

.lstl-review{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.4rem 1.4rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;box-shadow:0 10px 28px -24px var(--shadow);transition:box-shadow .35s ease,transform .35s ease,border-color .35s ease;overflow:hidden;isolation:isolate}
.lstl-review::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--_rev-color,var(--carib-coral));z-index:1}
.lstl-review::after{content:'';position:absolute;right:-30px;bottom:-30px;width:140px;height:140px;background:radial-gradient(circle,color-mix(in srgb,var(--_rev-color,var(--carib-coral)) 18%,transparent),transparent 62%);pointer-events:none;z-index:0}
.lstl-review>*{position:relative;z-index:1}
.lstl-review__quote-mark{position:absolute;top:-18px;right:10px;font-family:Georgia,serif;font-size:7rem;line-height:1;color:var(--_rev-color,var(--carib-coral));opacity:.14;font-weight:900;pointer-events:none;z-index:0;user-select:none}
.lstl-review:hover{box-shadow:0 24px 44px -24px var(--shadow);transform:translateY(-4px);border-color:var(--_rev-color,var(--accent))}
.lstl-review:hover .lstl-review__quote-mark{opacity:.22;transform:scale(1.08);transition:opacity .4s ease,transform .6s ease}
.lstl-review__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}
.lstl-review__who{display:flex;align-items:center;gap:.65rem}
.lstl-review__avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--_rev-color,var(--brand)),color-mix(in srgb,var(--_rev-color,var(--brand)) 60%,var(--brand)));color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:.92rem;flex-shrink:0;box-shadow:0 5px 14px -6px color-mix(in srgb,var(--_rev-color,var(--brand)) 70%,transparent);letter-spacing:.02em}
.lstl-review__name{font-weight:700;color:var(--ink);font-size:.98rem;line-height:1.2}
.lstl-review__meta{font-size:.78rem;color:var(--muted);margin-top:2px;line-height:1.3}
.lstl-review__month{color:var(--ink-soft);font-weight:600}
.lstl-review__trip{color:var(--_rev-color,var(--brand-green));font-weight:700}
.lstl-review__rate{text-align:right}
.lstl-review__stars{color:#FFB703;font-size:1rem;letter-spacing:2px;display:inline-block;text-shadow:0 2px 6px rgba(255,183,3,.3)}
.lstl-review__title{margin:.3rem 0 .1rem;font-family:'Playfair Display',Georgia,serif;font-size:1.08rem;color:var(--ink);font-weight:700;line-height:1.3}
.lstl-review__body{margin:0;color:var(--ink-soft);font-size:.94rem;line-height:1.6}
.lstl-review__foot{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem;padding-top:.55rem;border-top:1px dashed var(--line);gap:.5rem;flex-wrap:wrap}
.lstl-review__date{font-size:.75rem;color:var(--muted)}
.lstl-review__verified{font-size:.72rem;color:var(--brand-green);font-weight:700;letter-spacing:.04em;background:var(--brand-green-soft);padding:.2rem .55rem;border-radius:999px}

/* Spotlight — featured longest review, spans full width with richer styling */
.lstl-review--spotlight{padding:1.9rem 1.9rem 1.5rem;background:linear-gradient(135deg,#fff 0%,var(--accent-soft) 100%);border:1px solid var(--line);border-left:6px solid var(--_rev-color,var(--carib-coral));box-shadow:0 20px 48px -28px var(--shadow)}
.lstl-review--spotlight::before{display:none}
.lstl-review--spotlight .lstl-review__quote-mark{font-size:11rem;top:-30px;right:20px;opacity:.16}
.lstl-review--spotlight .lstl-review__title{font-size:1.4rem;line-height:1.25;margin:.5rem 0 .3rem}
.lstl-review--spotlight .lstl-review__body{font-size:1.04rem;line-height:1.7}
.lstl-review--spotlight .lstl-review__avatar{width:54px;height:54px;font-size:1.1rem}
.lstl-review--spotlight .lstl-review__name{font-size:1.08rem}
.lstl-review--spotlight::after{width:240px;height:240px;right:-60px;bottom:-60px}

@media (max-width:980px){.lstl-reviews__grid{grid-template-columns:repeat(2,1fr)}.lstl-review--spotlight .lstl-review__title{font-size:1.25rem}}
@media (max-width:640px){.lstl-reviews__grid{grid-template-columns:1fr}.lstl-review--spotlight .lstl-review__quote-mark{font-size:8rem}}

/* Traveller sentiment cards */
.lstl-sentiment{margin:1.75rem 0 2rem}
.lstl-sentiment__intro{background:var(--surface-cool);border:1px solid var(--line);border-left:4px solid var(--brand-blue);padding:1rem 1.2rem;border-radius:10px;font-size:.95rem;color:var(--ink-soft);margin:0 0 1.25rem}
.lstl-sentiment__intro strong{color:var(--brand)}
.lstl-sentiment__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:1rem}
.lstl-quote{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.75rem 1.35rem 1.1rem;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s;display:flex;flex-direction:column}
.lstl-quote::before{content:"201C";position:absolute;top:-14px;left:16px;background:var(--_acc,var(--brand-blue));color:#fff;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:Georgia,serif;font-size:2rem;line-height:1;padding-top:.55rem;box-shadow:0 8px 18px -8px var(--shadow)}
.lstl-quote:hover{transform:translateY(-4px);box-shadow:0 22px 42px -24px var(--shadow);border-color:var(--_acc,var(--brand-blue))}
.lstl-quote:nth-child(8n+1){--_acc:var(--brand)}
.lstl-quote:nth-child(8n+2){--_acc:var(--brand-green)}
.lstl-quote:nth-child(8n+3){--_acc:var(--accent)}
.lstl-quote:nth-child(8n+4){--_acc:var(--brand-blue)}
.lstl-quote:nth-child(8n+5){--_acc:var(--brand-green)}
.lstl-quote:nth-child(8n+6){--_acc:var(--accent)}
.lstl-quote:nth-child(8n+7){--_acc:var(--brand)}
.lstl-quote:nth-child(8n+8){--_acc:var(--brand-green)}
.lstl-quote .stars{color:#FFB703;letter-spacing:.1em;font-size:.95rem;margin-bottom:.35rem;display:block}
.lstl-quote p{font-style:italic;color:var(--ink);margin:.25rem 0 .9rem;line-height:1.55;font-size:.95rem;flex:1}
.lstl-quote .attr{display:flex;align-items:center;gap:.55rem;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.7rem;margin-top:auto}
.lstl-quote .attr strong{color:var(--_acc,var(--brand));font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.lstl-quote .attr .dot{width:4px;height:4px;border-radius:50%;background:var(--_acc,var(--accent))}

/* Big CTA banner */
.lstl-bigcta{position:relative;margin:2.5rem 0;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-green) 55%,var(--accent) 100%);box-shadow:0 32px 64px -28px var(--shadow);min-height:420px;isolation:isolate}
.lstl-bigcta .bc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:.85;transform:scale(1.03);transition:transform 8s ease}
.lstl-bigcta:hover .bc-bg{transform:scale(1.08)}
.lstl-bigcta .bc-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(4,9,66,.92) 0%,rgba(4,9,66,.78) 38%,rgba(0,85,56,.55) 70%,rgba(255,107,74,.28) 100%)}
.lstl-bigcta .bc-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:0;min-height:420px}
.lstl-bigcta .bc-copy{padding:3.2rem 2.8rem;color:#fff;text-shadow:0 2px 10px rgba(4,9,66,.4)}
.lstl-bigcta .bc-eye{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);color:#fff;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;padding:.4rem .85rem;border-radius:4px;margin-bottom:.95rem;backdrop-filter:blur(6px)}
.lstl-bigcta .bc-copy h2{color:#fff;font-size:2.05rem;margin:0 0 .85rem;line-height:1.18;text-shadow:0 4px 18px rgba(4,9,66,.5)}
.lstl-bigcta .bc-copy h2::after{display:none}
.lstl-bigcta .bc-copy p{color:rgba(255,255,255,.95);margin:0 0 1.4rem;font-size:1.05rem;line-height:1.6}
.lstl-bigcta .bc-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:1.05rem}
.lstl-bigcta .bc-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.55rem;border-radius:10px;font-weight:800;text-decoration:none;letter-spacing:.02em;transition:transform .25s,box-shadow .25s,background .25s;font-size:1rem}
.lstl-bigcta .bc-btn-primary{background:#fff;color:var(--brand)!important;box-shadow:0 12px 28px -10px rgba(0,0,0,.5)}
.lstl-bigcta .bc-btn-primary:hover{transform:translateY(-3px);background:var(--carib-gold);color:var(--brand)!important;box-shadow:0 18px 34px -10px rgba(0,0,0,.55)}
.lstl-bigcta .bc-btn-ghost{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.7)}
.lstl-bigcta .bc-btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;transform:translateY(-3px)}
.lstl-bigcta .bc-fine{color:rgba(255,255,255,.85);font-size:.84rem;margin:0;text-shadow:0 1px 4px rgba(4,9,66,.4)}
@media (max-width:780px){.lstl-bigcta .bc-inner{grid-template-columns:1fr;min-height:480px}.lstl-bigcta .bc-copy{padding:2rem 1.4rem}.lstl-bigcta .bc-copy h2{font-size:1.6rem}}

/* Breadcrumb */
.lstl-breadcrumb{font-size:.85rem;color:var(--ink-soft);margin:0 0 1.25rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.lstl-breadcrumb li{display:inline-flex;align-items:center;gap:.3rem}
.lstl-breadcrumb li+li::before{content:"›";color:var(--brand-blue);margin-right:.3rem;font-weight:700}
.lstl-breadcrumb a{color:var(--brand-blue);text-decoration:none}
.lstl-breadcrumb a:hover{text-decoration:underline}
.lstl-breadcrumb [aria-current="page"]{color:var(--ink);font-weight:600}

@media (max-width:1100px){
  .lstl-gallery{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(170px,1fr))}
  .lstl-sentiment__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .lstl-speedboat{font-size:16.5px}
  .lstl-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
  .lstl-gallery{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(140px,1fr));gap:10px}
}
@media (max-width:720px){
  .lstl-bigcta .bc-inner{grid-template-columns:1fr}
  .lstl-bigcta .bc-copy{padding:1.75rem}
  .lstl-bigcta .bc-copy h2{font-size:1.35rem}
  .lstl-bigcta   .lstl-bigcta .bc-actions{flex-direction:column}
  .lstl-bigcta .bc-btn{width:100%;justify-content:center}
  .lstl-speedboat{font-size:16px}
  .lstl-speedboat h2{font-size:1.55rem;margin-top:2.25rem}
  .lstl-hero .caption h1{font-size:1.4rem}
  .lstl-hero .caption{padding:1rem 1.1rem}
  .lstl-hero .caption .eyebrow{font-size:.68rem;padding:.25rem .55rem}
  .lstl-priceCard{grid-template-columns:1fr;text-align:center;padding:1.5rem}
  .lstl-priceCard .pc-right{text-align:center}
  .lstl-priceCard .pc-right .big{font-size:2.4rem}
  .lstl-procons{grid-template-columns:1fr}
  .lstl-stat .value{font-size:.95rem}
  .lstl-amenities{grid-template-columns:1fr}
  .lstl-links{grid-template-columns:1fr}
  .lstl-priceTable{font-size:.92rem}
  .lstl-priceTable th,.lstl-priceTable td{padding:.7rem .85rem}
  .lstl-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,minmax(140px,1fr));gap:10px}
  .lstl-hero img{aspect-ratio:4/3}
  .lstl-sentiment__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){
  .lstl-speedboat .lead{font-size:1.05rem;padding-left:.9rem}
  .lstl-speedboat h2{font-size:1.35rem}
  .lstl-hero .caption h1{font-size:1.15rem;line-height:1.25}
  .lstl-hero img{aspect-ratio:3/2}
  .lstl-stat{padding:.85rem .95rem}
  .lstl-stat .label{font-size:.7rem}
  .lstl-faq summary{font-size:.98rem;padding:.7rem 0}
  .lstl-bigcta .bc-copy{padding:1.35rem}
  .lstl-bigcta .bc-copy h2{font-size:1.2rem}
  .lstl-bigcta .bc-btn{font-size:.95rem;padding:.75rem 1rem}
  .lstl-quote{padding:1.25rem 1.1rem 1rem}
}
@media (prefers-reduced-motion:reduce){
  .lstl-hero img{animation:none!important;transform:none!important}
  .lstl-gallery__item{opacity:1!important;animation:none!important}
  .lstl-gallery__item img,.lstl-gallery__item,.lstl-stat,.lstl-links li a,.lstl-bigcta .bc-btn,.lstl-quote{transition:none!important;transform:none!important}
  .lstl-gallery__item::before{opacity:0!important}
}


/* === Wow-factor visual upgrade pass === */
/* Body + headings: warmer hierarchy, animated gradient accents */
.lstl-speedboat h2{position:relative;font-size:1.75rem;margin:2.4rem 0 1rem;color:var(--brand);padding-bottom:.55rem;line-height:1.25}
.lstl-speedboat h2::after{content:'';position:absolute;left:0;bottom:0;width:78px;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--carib-coral),var(--carib-gold),var(--carib-teal));background-size:200% 100%;animation:lstl-pulse-bar 5s ease-in-out infinite}
@keyframes lstl-pulse-bar{0%,100%{background-position:0% 50%;width:78px}50%{background-position:100% 50%;width:120px}}
.lstl-speedboat h2:hover::after{width:140px}
.lstl-speedboat h3{color:var(--brand)}

/* Lead paragraph + body link colour pop */
.lstl-speedboat .lead{font-size:1.18rem;line-height:1.65;color:var(--ink);background:linear-gradient(135deg,var(--accent-soft),#FFF7E6 60%,var(--brand-green-soft));border-left:5px solid var(--carib-coral);padding:1.2rem 1.4rem;border-radius:12px;box-shadow:0 12px 30px -22px var(--shadow);margin:1.2rem 0 1.6rem}
.lstl-speedboat a:not(.btn):not(.bc-btn):not(.lstl-breadcrumb a):not(.lstl-review__title){color:var(--brand-blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;transition:color .25s ease}
.lstl-speedboat a:not(.btn):not(.bc-btn):hover{color:var(--carib-coral)}

/* Pricing card + table — colour pop */
.lstl-speedboat .lstl-priceCard{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-green) 100%);color:#fff;border-radius:18px;padding:1.6rem;display:grid;grid-template-columns:1.3fr 1fr;gap:1rem;align-items:center;box-shadow:0 22px 44px -22px var(--shadow);position:relative;overflow:hidden}
.lstl-speedboat .lstl-priceCard::before{content:'';position:absolute;top:-40%;right:-10%;width:280px;height:280px;background:radial-gradient(circle,rgba(255,183,3,.35),transparent 60%);pointer-events:none}
.lstl-speedboat .lstl-priceCard .eye{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;padding:.32rem .7rem;border-radius:4px;margin-bottom:.7rem}
.lstl-speedboat .lstl-priceCard h3{color:#fff;margin:.2rem 0 .5rem;font-size:1.35rem}
.lstl-speedboat .lstl-priceCard p{color:rgba(255,255,255,.92);margin:0}
.lstl-speedboat .lstl-priceCard .pc-right{text-align:right;position:relative;z-index:1}
.lstl-speedboat .lstl-priceCard .big{font-size:2.4rem;font-weight:900;color:var(--carib-gold);line-height:1;text-shadow:0 4px 14px rgba(0,0,0,.25)}
.lstl-speedboat .lstl-priceCard .tiny{color:rgba(255,255,255,.85);font-size:.82rem;margin-top:.4rem}

.lstl-speedboat .lstl-priceTable{width:100%;border-collapse:separate;border-spacing:0;margin:1.2rem 0 2rem;border-radius:14px;overflow:hidden;box-shadow:0 14px 32px -22px var(--shadow);background:var(--surface)}
.lstl-speedboat .lstl-priceTable caption{caption-side:top;text-align:left;font-weight:700;color:var(--brand);padding:.4rem 0 .7rem;font-size:.95rem}
.lstl-speedboat .lstl-priceTable thead th{background:linear-gradient(90deg,var(--brand),var(--accent));color:#fff;padding:.85rem 1rem;font-size:.92rem;letter-spacing:.04em}
.lstl-speedboat .lstl-priceTable tbody th{text-align:left;background:var(--surface-soft);font-weight:600;color:var(--ink);padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.lstl-speedboat .lstl-priceTable tbody td{padding:.8rem 1rem;border-bottom:1px solid var(--line);color:var(--ink-soft)}
.lstl-speedboat .lstl-priceTable tbody tr:last-child th,.lstl-speedboat .lstl-priceTable tbody tr:last-child td{border-bottom:none}
.lstl-speedboat .lstl-priceTable tbody tr:hover th,.lstl-speedboat .lstl-priceTable tbody tr:hover td{background:var(--accent-soft)}

/* Pros/Cons cards — vibrant divide */
.lstl-speedboat .lstl-procons{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.2rem 0 2rem}
.lstl-speedboat .lstl-pro,.lstl-speedboat .lstl-con{border-radius:16px;padding:1.4rem 1.4rem 1.2rem;box-shadow:0 14px 32px -22px var(--shadow);position:relative;overflow:hidden}
.lstl-speedboat .lstl-pro{background:linear-gradient(135deg,var(--brand-green-soft),#fff);border-top:5px solid var(--brand-green)}
.lstl-speedboat .lstl-con{background:linear-gradient(135deg,#FFEFEA,#fff);border-top:5px solid var(--carib-coral)}
.lstl-speedboat .lstl-pro h3{color:var(--brand-green);margin:0 0 .7rem;display:flex;align-items:center;gap:.5rem}
.lstl-speedboat .lstl-pro h3::before{content:'✔';color:var(--brand-green);background:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;box-shadow:0 4px 10px -4px var(--shadow)}
.lstl-speedboat .lstl-con h3{color:var(--carib-coral);margin:0 0 .7rem;display:flex;align-items:center;gap:.5rem}
.lstl-speedboat .lstl-con h3::before{content:'!';color:var(--carib-coral);background:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 4px 10px -4px var(--shadow)}
.lstl-speedboat .lstl-pro ul,.lstl-speedboat .lstl-con ul{margin:0;padding:0 0 0 1.1rem;color:var(--ink-soft);line-height:1.65}
.lstl-speedboat .lstl-pro li,.lstl-speedboat .lstl-con li{margin:.35rem 0}

/* Plan-your-trip link list — colourful chips */
.lstl-speedboat .lstl-links{list-style:none;padding:0;margin:1.1rem 0 2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.lstl-speedboat .lstl-links li{margin:0}
.lstl-speedboat .lstl-links a{display:flex;align-items:center;gap:.55rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand-blue);border-radius:10px;text-decoration:none!important;color:var(--ink)!important;font-weight:600;transition:all .25s ease;box-shadow:0 6px 16px -14px var(--shadow)}
.lstl-speedboat .lstl-links a::before{content:'→';color:var(--brand-blue);font-weight:800;transition:transform .25s ease}
.lstl-speedboat .lstl-links a:hover{transform:translateX(4px);border-left-color:var(--carib-coral);background:linear-gradient(90deg,var(--accent-soft),#fff);color:var(--brand)!important}
.lstl-speedboat .lstl-links a:hover::before{transform:translateX(3px);color:var(--carib-coral)}
.lstl-speedboat .lstl-links li:nth-child(3n+2) a{border-left-color:var(--brand-green)}
.lstl-speedboat .lstl-links li:nth-child(3n+3) a{border-left-color:var(--accent)}

/* TripAdvisor secondary CTA tile */
.lstl-speedboat .lstl-cta{background:linear-gradient(135deg,#FFF7E6,var(--accent-soft));border-radius:14px;padding:1.4rem 1.5rem;border:1px solid var(--line);border-left:5px solid var(--carib-gold);box-shadow:0 14px 34px -22px var(--shadow);margin:1.4rem 0 2rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.lstl-speedboat .lstl-cta .ct{display:inline-block;background:var(--carib-gold);color:var(--brand);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:.3rem .65rem;border-radius:3px}
.lstl-speedboat .lstl-cta p{margin:0;color:var(--ink-soft)}
.lstl-speedboat .lstl-cta .btn{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.15rem;background:var(--brand);color:#fff;border-radius:8px;text-decoration:none;font-weight:700;transition:all .25s ease}
.lstl-speedboat .lstl-cta .btn:hover{background:var(--carib-coral);transform:translateY(-2px);box-shadow:0 14px 28px -14px var(--shadow)}
.lstl-speedboat .lstl-cta__btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.3rem}
.lstl-speedboat .lstl-cta .btn-write{background:var(--carib-coral)}
.lstl-speedboat .lstl-cta .btn-write:hover{background:var(--brand)}

/* Soft float-in for sections as they appear */
.lstl-speedboat section,.lstl-speedboat .lstl-bigcta,.lstl-speedboat .lstl-priceCard,.lstl-speedboat .lstl-procons,.lstl-speedboat .lstl-rev-summary{transition:transform .4s ease}
@media (prefers-reduced-motion:reduce){.lstl-speedboat *{animation:none!important;transition:none!important}}

/* Mobile tightening */
@media (max-width:780px){
  .lstl-speedboat h2{font-size:1.5rem}
  .lstl-speedboat .lstl-priceCard{grid-template-columns:1fr;text-align:left}
  .lstl-speedboat .lstl-priceCard .pc-right{text-align:left}
  .lstl-speedboat .lstl-procons,.lstl-speedboat .lstl-links{grid-template-columns:1fr}
}

/* === Hero: elegant LucianStyle + Saint Lucia flavour === */
.lstl-speedboat .lstl-hero{position:relative;border-radius:22px;overflow:hidden;margin:0 0 2.6rem;box-shadow:0 32px 70px -28px rgba(4,9,66,.45);width:100%;aspect-ratio:16/9;background:var(--brand);isolation:isolate}
.lstl-speedboat .lstl-hero .overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,85,56,.02) 0%,rgba(116,113,191,.08) 30%,rgba(4,9,66,.75) 80%,rgba(4,9,66,.92) 100%),radial-gradient(ellipse at 75% 25%,rgba(255,183,3,.28),transparent 55%),radial-gradient(ellipse at 18% 82%,rgba(255,107,74,.18),transparent 60%);pointer-events:none}

/* Animated sun glow — warm Caribbean light in the top-right corner */
.lstl-speedboat .lstl-hero__sun{position:absolute;top:-80px;right:-80px;width:280px;height:280px;z-index:3;border-radius:50%;background:radial-gradient(circle,rgba(255,183,3,.55) 0%,rgba(255,107,74,.3) 40%,transparent 70%);filter:blur(6px);pointer-events:none;animation:lstl-sun-pulse 7s ease-in-out infinite}
@keyframes lstl-sun-pulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:1}}

/* Saint Lucia flag ribbon — top-left corner */
.lstl-speedboat .lstl-hero__flag{position:absolute;top:18px;left:18px;z-index:5;display:flex;align-items:center;gap:0;background:rgba(4,9,66,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.35rem .95rem .35rem .45rem;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.lstl-hero__flag-stripe{display:inline-block;width:8px;height:22px;border-radius:3px;margin-right:3px;position:relative}
.lstl-hero__flag-stripe--blue{background:#66CCFF}
.lstl-hero__flag-stripe--black{background:#000;width:22px;display:inline-flex;align-items:center;justify-content:center}
.lstl-hero__flag-stripe--black svg{width:16px;height:16px}
.lstl-hero__flag-stripe--white{background:#fff;margin-right:.55rem}
.lstl-hero__flag-label{color:#fff;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

/* 5-star review proof badge — top-right corner */
.lstl-speedboat .lstl-hero__proof{position:absolute;top:18px;right:18px;z-index:5;display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);border-radius:10px;padding:.45rem .7rem;box-shadow:0 8px 22px -10px rgba(0,0,0,.5)}
.lstl-hero__proof-stars{color:#FFB703;font-size:.95rem;letter-spacing:2px;line-height:1}
.lstl-hero__proof-txt{display:flex;flex-direction:column;line-height:1;font-size:.68rem;color:var(--brand)}
.lstl-hero__proof-txt strong{font-size:.95rem;font-weight:800;font-family:'Playfair Display',Georgia,serif}
.lstl-hero__proof-txt em{font-style:normal;color:var(--ink-soft);font-weight:600;margin-top:2px}

/* Pitons silhouette at base of hero */
.lstl-speedboat .lstl-hero__pitons{position:absolute;left:0;right:0;bottom:36px;width:100%;height:140px;z-index:3;pointer-events:none}

/* Layered animated waves at hero bottom — gentle ocean drift */
.lstl-speedboat .lstl-hero__waves{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;z-index:6;pointer-events:none;overflow:hidden}
.lstl-speedboat .lstl-hero__wave{position:absolute;left:0;right:0;bottom:0;width:220%;height:100%;display:block;will-change:transform}
.lstl-speedboat .lstl-hero__wave--1{animation:lstl-wave-drift 18s ease-in-out infinite alternate;opacity:.7}
.lstl-speedboat .lstl-hero__wave--2{animation:lstl-wave-drift 13s ease-in-out infinite alternate-reverse;opacity:.85;bottom:-2px}
.lstl-speedboat .lstl-hero__wave--3{animation:lstl-wave-drift 9s ease-in-out infinite alternate;bottom:-3px;width:200%}
@keyframes lstl-wave-drift{from{transform:translateX(0)}to{transform:translateX(-8%)}}

/* Drifting sailboat silhouette */
.lstl-speedboat .lstl-hero__boat{position:absolute;width:42px;height:36px;bottom:74px;left:-60px;z-index:5;opacity:.88;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));animation:lstl-boat-sail 45s linear infinite}
@keyframes lstl-boat-sail{0%{left:-60px;transform:translateY(0)}25%{transform:translateY(-3px)}50%{transform:translateY(0)}75%{transform:translateY(-2px)}100%{left:110%;transform:translateY(0)}}

/* Rising bubbles */
.lstl-speedboat .lstl-hero__bubble{position:absolute;width:var(--_bs,6px);height:var(--_bs,6px);border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),rgba(255,255,255,.25));bottom:30px;left:var(--_bl,20%);z-index:5;opacity:0;animation:lstl-bubble-rise 6s ease-in infinite;animation-delay:var(--_bd,0s);pointer-events:none}
@keyframes lstl-bubble-rise{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:.8}85%{opacity:.6}100%{opacity:0;transform:translateY(-140px) scale(1.1)}}

/* Caption area */
.lstl-speedboat .lstl-hero .caption{position:absolute;left:0;right:0;bottom:32px;padding:1.5rem 2.2rem 2rem;color:#fff;z-index:4;max-width:900px}
.lstl-hero__eye{display:inline-block;background:linear-gradient(90deg,rgba(255,107,74,.35),rgba(255,183,3,.35));color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.4rem .85rem;border-radius:999px;margin-bottom:.85rem;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(5px)}
.lstl-speedboat .lstl-hero .caption h1{color:#fff;font-family:'Playfair Display','Georgia','Noto Serif',serif;font-weight:700;font-size:3rem;line-height:1.08;margin:0 0 .6rem;letter-spacing:-.01em;text-shadow:0 6px 26px rgba(0,0,0,.55)}
.lstl-speedboat .lstl-hero .caption h1::before{display:none}
.lstl-hero__title-accent{background:linear-gradient(90deg,var(--carib-gold) 0%,var(--carib-coral) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;font-style:italic;font-weight:800}
.lstl-hero__amp{color:var(--carib-gold);font-style:italic;font-weight:400;padding:0 .1em}
.lstl-speedboat .lstl-hero__sub{color:rgba(255,255,255,.95);font-size:1.08rem;line-height:1.55;margin:0 0 1.2rem;max-width:720px;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.lstl-speedboat .lstl-hero__sub strong{color:var(--carib-gold);font-weight:700}

/* Micro CTAs */
.lstl-hero__micro-cta{display:flex;flex-wrap:wrap;gap:.7rem}
.lstl-hero__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.4rem;background:linear-gradient(135deg,var(--carib-coral) 0%,var(--carib-gold) 100%);color:#fff!important;border-radius:10px;font-weight:800;text-decoration:none;font-size:.95rem;letter-spacing:.02em;box-shadow:0 14px 28px -10px rgba(255,107,74,.6);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.lstl-hero__btn:hover{transform:translateY(-3px);box-shadow:0 22px 38px -10px rgba(255,107,74,.7);filter:brightness(1.06)}
.lstl-hero__btn--ghost{background:transparent;border:2px solid rgba(255,255,255,.8);box-shadow:none;color:#fff!important}
.lstl-hero__btn--ghost:hover{background:rgba(255,255,255,.14);box-shadow:0 12px 26px -12px rgba(0,0,0,.55);border-color:#fff}

/* Responsive tuning */
@media (max-width:980px){
  .lstl-speedboat .lstl-hero .caption h1{font-size:2.2rem}
  .lstl-speedboat .lstl-hero__pitons{bottom:28px;height:110px}
  .lstl-speedboat .lstl-hero__sun{width:200px;height:200px;top:-60px;right:-60px}
}
@media (max-width:680px){
  .lstl-speedboat .lstl-hero{aspect-ratio:3/4}
  .lstl-speedboat .lstl-hero .caption{padding:1rem 1.1rem 1.2rem;bottom:22px}
  .lstl-speedboat .lstl-hero .caption h1{font-size:1.65rem}
  .lstl-speedboat .lstl-hero__sub{font-size:.92rem;margin-bottom:.8rem}
  .lstl-hero__btn{padding:.7rem 1rem;font-size:.88rem}
  .lstl-speedboat .lstl-hero__pitons{bottom:22px;height:80px}
  .lstl-hero__proof{padding:.35rem .55rem}
  .lstl-hero__proof-txt strong{font-size:.82rem}
  .lstl-hero__flag{top:10px;left:10px;padding:.3rem .7rem .3rem .35rem}
  .lstl-hero__flag-label{font-size:.62rem}
  .lstl-hero__flag-stripe{height:18px}
  .lstl-hero__flag-stripe--black{width:18px}
}

/* Elegant section dividers — subtle Pitons silhouette accent */
.lstl-speedboat h2{font-family:'Playfair Display','Georgia','Noto Serif',serif;font-weight:700;letter-spacing:-.005em}
.lstl-speedboat h3{font-family:'Playfair Display','Georgia','Noto Serif',serif;font-weight:600}

/* Subtle backdrop tint to evoke Caribbean water */
.lstl-speedboat{background:linear-gradient(180deg,#fff 0%,#FBFCFE 50%,#fff 100%)}

/* Decorative Pitons silhouette divider */
.lstl-pitons-divider{display:block;width:100%;height:48px;margin:2.4rem 0 1.4rem;color:var(--brand);opacity:.85}

/* Floating stat-pill row right under hero */
.lstl-hero-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:-3.5rem auto 2rem;position:relative;z-index:5;max-width:96%;padding:0;list-style:none}
.lstl-hero-pill{position:relative;background:#fff;border-radius:16px;padding:1.15rem 1.1rem;box-shadow:0 22px 44px -22px rgba(4,9,66,.35);display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;border:1px solid var(--line);transition:transform .35s ease,box-shadow .35s ease;overflow:hidden}
.lstl-hero-pill::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--carib-coral),var(--carib-gold))}
.lstl-hero-pill:nth-child(2)::before{background:linear-gradient(180deg,var(--carib-teal),var(--brand-blue))}
.lstl-hero-pill:nth-child(3)::before{background:linear-gradient(180deg,var(--brand-green),var(--carib-teal))}
.lstl-hero-pill:nth-child(4)::before{background:linear-gradient(180deg,var(--accent),var(--brand))}
.lstl-hero-pill:hover{transform:translateY(-4px);box-shadow:0 30px 56px -22px rgba(4,9,66,.4)}
a.lstl-hero-pill{text-decoration:none;color:inherit;cursor:pointer}
a.lstl-hero-pill:hover{background:linear-gradient(135deg,#FFF7E6 0%,#fff 100%)}
a.lstl-hero-pill:focus-visible{outline:3px solid var(--carib-gold);outline-offset:3px}
a.lstl-hero-pill .lstl-hero-pill__lbl{color:var(--brand-blue);font-weight:700;transition:color .25s ease}
a.lstl-hero-pill:hover .lstl-hero-pill__lbl{color:var(--carib-coral)}
.lstl-hero-pill__num{font-family:'Playfair Display',Georgia,serif;font-size:1.95rem;font-weight:800;color:var(--brand);line-height:1;display:inline-flex;align-items:baseline;gap:.15rem}
.lstl-hero-pill__unit{font-size:.95rem;color:var(--ink-soft);font-weight:600}
.lstl-hero-pill__lbl{font-size:.78rem;color:var(--ink-soft);font-weight:600;letter-spacing:.02em}
@media (max-width:780px){.lstl-hero-pills{grid-template-columns:repeat(2,1fr);margin-top:-2rem}.lstl-hero-pill{padding:.95rem .9rem}.lstl-hero-pill__num{font-size:1.55rem}}

/* Yacht-spec card (replaces old .lstl-stats quick facts) — elegant, light, equal rows */
.lstl-yacht-card{position:relative;background:linear-gradient(135deg,#fff 0%,var(--surface-cool) 45%,#FFF7E6 100%);border:1px solid var(--line);border-radius:20px;padding:1.75rem 1.75rem 1.5rem;margin:2rem 0 2.5rem;box-shadow:0 22px 48px -28px var(--shadow);overflow:hidden}
.lstl-yacht-card::before{content:'';position:absolute;inset:0;border-radius:20px;padding:2px;background:linear-gradient(135deg,var(--carib-coral) 0%,var(--carib-gold) 25%,var(--carib-teal) 50%,var(--brand-blue) 75%,var(--accent) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.35}
.lstl-yacht-card::after{content:'';position:absolute;right:-50px;bottom:-50px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,183,3,.22),transparent 62%);pointer-events:none}
.lstl-yacht-card__ribbon{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--accent));color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.35rem .85rem;border-radius:3px;margin:0 0 1.1rem;position:relative;z-index:2;box-shadow:0 6px 14px -6px rgba(4,9,66,.4)}
.lstl-yacht-card__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:1rem;position:relative;z-index:1}
.lstl-spec{display:flex;align-items:flex-start;gap:.85rem;background:rgba(255,255,255,.75);border:1px solid var(--line);border-left:4px solid var(--_spec-color,var(--brand));border-radius:12px;padding:.95rem 1rem;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;min-height:100%}
.lstl-spec:hover{transform:translateY(-3px);box-shadow:0 16px 32px -22px var(--shadow);background:#fff}
.lstl-spec__icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--_spec-color,var(--brand)) 12%,#fff);display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--_spec-color,var(--brand)) 25%,transparent)}
.lstl-spec__txt{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.lstl-spec__label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--_spec-color,var(--brand));font-weight:800}
.lstl-spec__value{font-size:.98rem;color:var(--ink);font-weight:700;line-height:1.35;font-family:'Playfair Display',Georgia,serif}
@media (max-width:820px){.lstl-yacht-card__grid{grid-template-columns:repeat(2,1fr)}.lstl-yacht-card{padding:1.3rem}}
@media (max-width:480px){.lstl-yacht-card__grid{grid-template-columns:1fr}}

/* "What's in the headline rate" — Rodney Bay marina / Caribbean sea aesthetic */
.lstl-incl-wrap{position:relative;border-radius:24px;padding:2.8rem 2.2rem 2.6rem;margin:1.6rem 0 2.4rem;overflow:hidden;background:linear-gradient(180deg,#FFE4B5 0%,#FFCBA0 8%,#9FD4E0 25%,#5BB5CA 50%,#2B8CA8 78%,#0F5A78 100%);border:1px solid rgba(43,140,168,.3);box-shadow:0 30px 60px -28px rgba(15,90,120,.55),inset 0 0 0 1px rgba(255,255,255,.2);isolation:isolate;color:#fff}
.lstl-incl-wrap::before{content:'';position:absolute;left:-10%;right:-10%;top:30%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);z-index:1;pointer-events:none}
.lstl-incl-wrap::after{content:'';position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.08) 30%,rgba(255,255,255,.05) 100%);pointer-events:none;z-index:0}

/* Golden sun setting low on horizon (replaces moon) */
.lstl-incl-wrap__sun{position:absolute;right:15%;top:10%;width:110px;height:110px;z-index:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,#FFF2BA 0%,#FFD84A 35%,#FFB703 65%,rgba(255,183,3,0) 72%);box-shadow:0 0 60px 20px rgba(255,183,3,.45);pointer-events:none;animation:lstl-sun-breathe 6s ease-in-out infinite}
@keyframes lstl-sun-breathe{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.08)}}

/* Seagulls in flight */
.lstl-incl-wrap__seagulls{position:absolute;top:8%;left:8%;width:240px;height:40px;z-index:2;color:#fff;opacity:.9;pointer-events:none;animation:lstl-gull-drift 18s ease-in-out infinite alternate}
@keyframes lstl-gull-drift{from{transform:translateX(0)}to{transform:translateX(30px)}}

/* Pigeon Island silhouette — the Rodney Bay landmark */
.lstl-incl-wrap__pigeon-island{position:absolute;left:5%;top:22%;width:340px;height:70px;z-index:1;color:#0a2a3a;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}

/* Marina — yacht masts, hulls, pier */
.lstl-incl-wrap__marina{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:120px;z-index:1;pointer-events:none;display:block;filter:drop-shadow(0 -4px 10px rgba(15,90,120,.2))}

/* Arching palm fronds (top-left corner) */
.lstl-incl-wrap__palm{position:absolute;top:-10px;left:-6px;width:150px;height:110px;z-index:3;pointer-events:none;transform:rotate(2deg);filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}

/* Location pin chip */
.lstl-incl-wrap__loc{position:absolute;top:18px;right:18px;z-index:5;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--brand);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .8rem .4rem .65rem;border-radius:999px;box-shadow:0 10px 22px -8px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,183,3,.45);display:inline-flex;align-items:center;gap:.35rem}
.lstl-incl-wrap__loc-pin{font-size:.9rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}

/* Header / text */
.lstl-incl-wrap__head{position:relative;z-index:3;margin:0 0 1.8rem;max-width:760px;text-align:left}

/* Glowing "Included" circular stamp — gold on dark purple */
.lstl-incl-wrap__stamp{position:absolute;top:0;right:4px;z-index:3;transform:rotate(-12deg);pointer-events:none}
.lstl-incl-wrap__stamp-outer{display:inline-flex;width:96px;height:96px;border:3px solid var(--carib-gold);border-radius:50%;align-items:center;justify-content:center;padding:4px;position:relative;box-shadow:0 0 24px rgba(255,183,3,.5),inset 0 0 0 1px rgba(255,247,212,.2)}
.lstl-incl-wrap__stamp-outer::before{content:'';position:absolute;inset:-8px;border:2px dashed rgba(255,183,3,.55);border-radius:50%}
.lstl-incl-wrap__stamp-inner{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--carib-gold);font-family:'Playfair Display',Georgia,serif;text-align:center;line-height:1}
.lstl-incl-wrap__stamp-check{font-size:1.35rem;font-weight:900;line-height:1}
.lstl-incl-wrap__stamp-txt{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}

.lstl-incl-wrap__kicker{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.05rem;color:var(--carib-gold);margin:0 0 .15rem;letter-spacing:.02em;text-shadow:0 2px 10px rgba(255,183,3,.3)}
.lstl-incl-wrap__kicker::before{content:'✦ ';color:#FFF7D4;font-style:normal;margin-right:.2rem;text-shadow:0 0 10px rgba(255,247,212,.8)}
.lstl-incl-wrap__title{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:2.3rem;color:#fff;margin:0 0 .8rem;line-height:1.1;letter-spacing:-.01em;text-shadow:0 4px 22px rgba(0,0,0,.4)}
.lstl-incl-wrap__title::after{display:none}

/* Big luminous price */
.lstl-incl-wrap__price-block{position:relative;display:inline-flex;align-items:baseline;gap:.35rem;margin:0 0 1rem;padding:.25rem 0}
.lstl-incl-wrap__price-eye{font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65);align-self:flex-start;margin-top:.5rem}
.lstl-incl-wrap__price-num{font-family:'Playfair Display',Georgia,serif;font-size:3.6rem;font-weight:900;line-height:1;background:linear-gradient(135deg,#FFF7D4 0%,#FFB703 45%,#FF6B4A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;letter-spacing:-.02em;filter:drop-shadow(0 2px 18px rgba(255,183,3,.35))}
.lstl-incl-wrap__price-dollar{font-size:2.2rem;font-weight:800;vertical-align:top;display:inline-block;margin-right:.05em}
.lstl-incl-wrap__price-underline{position:absolute;left:0;right:0;bottom:-6px;pointer-events:none;color:var(--carib-gold);opacity:.95;filter:drop-shadow(0 0 6px rgba(255,183,3,.5))}
.lstl-incl-wrap__price-underline svg{width:100%;height:14px;display:block}
.lstl-incl-wrap__sub{margin:0;color:rgba(255,255,255,.9);font-size:1rem;line-height:1.6;max-width:640px;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.lstl-incl-wrap__sub em{font-style:italic;color:var(--carib-gold);font-weight:600}

/* Card grid — glowing white tickets on dusk sky */
.lstl-incl-wrap__grid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:1rem}
.lstl-incl{display:flex;align-items:center;gap:1rem;background:rgba(255,255,255,.97);border-radius:14px;padding:1rem 1.1rem;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;min-height:100%;position:relative;overflow:hidden;border-left:5px solid var(--_incl-color,var(--brand));backdrop-filter:blur(4px)}
.lstl-incl::before{content:'';position:absolute;right:-20px;bottom:-20px;width:80px;height:80px;background:radial-gradient(circle,color-mix(in srgb,var(--_incl-color,var(--brand)) 18%,transparent),transparent 60%);pointer-events:none;opacity:.75}
.lstl-incl:hover{transform:translateY(-4px);box-shadow:0 22px 44px -18px rgba(255,183,3,.35),0 0 0 1px rgba(255,183,3,.3);background:#fff}
.lstl-incl__icon{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--_incl-color,var(--brand)) 22%,#fff) 0%,#fff 100%);display:inline-flex;align-items:center;justify-content:center;font-size:1.55rem;line-height:1;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--_incl-color,var(--brand)) 50%,transparent),0 8px 16px -8px color-mix(in srgb,var(--_incl-color,var(--brand)) 55%,transparent);position:relative;z-index:1}
.lstl-incl__body{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0;position:relative;z-index:1}
.lstl-incl__title{font-size:1.02rem;font-weight:800;color:var(--ink);line-height:1.3;font-family:'Playfair Display',Georgia,serif}
.lstl-incl__desc{font-size:.86rem;color:var(--ink-soft);line-height:1.45}
.lstl-incl__badge{flex-shrink:0;align-self:center;background:var(--_incl-color,var(--brand));color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;padding:.4rem .8rem;border-radius:999px;text-transform:uppercase;box-shadow:0 6px 14px -6px color-mix(in srgb,var(--_incl-color,var(--brand)) 70%,transparent);white-space:nowrap;position:relative;z-index:1}

@media (max-width:780px){
  .lstl-incl-wrap{padding:2rem 1.2rem 2rem}
  .lstl-incl-wrap__grid{grid-template-columns:1fr}
  .lstl-incl-wrap__title{font-size:1.55rem}
  .lstl-incl-wrap__price-num{font-size:2.6rem}
  .lstl-incl-wrap__stamp{top:10px;right:10px;transform:rotate(-10deg) scale(.7)}
  .lstl-incl-wrap__moon{width:56px;height:56px;top:18px;right:18px}
  .lstl-incl-wrap__palm{width:52px;height:80px;bottom:16px;left:10px}
}

/* Amenities — yacht feature-sheet aesthetic, numbered checklist with creative flourishes */
.lstl-am-wrap{position:relative;background:linear-gradient(180deg,#F6F7FB 0%,#fff 40%);border-radius:22px;padding:2rem 1.5rem 2rem;margin:1.2rem 0 2.2rem;border:1px solid var(--line);box-shadow:0 18px 40px -24px var(--shadow);overflow:hidden;isolation:isolate}
.lstl-am-wrap::before{content:'';position:absolute;left:-60px;top:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(24,99,220,.12),transparent 62%);pointer-events:none;z-index:0}
.lstl-am-wrap::after{content:'';position:absolute;right:-60px;bottom:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(0,122,107,.1),transparent 60%);pointer-events:none;z-index:0}
.lstl-am-wrap__yacht{position:absolute;right:22px;top:18px;width:120px;height:54px;z-index:1;color:var(--brand);opacity:.14;pointer-events:none}

.lstl-speedboat .lstl-amenities{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:1rem;list-style:none;margin:0;padding:0}

.lstl-speedboat .lstl-amenities li.lstl-am{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:1rem;row-gap:.25rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.15rem 1.15rem 1.1rem;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;overflow:hidden;min-height:100%;align-items:center}
.lstl-speedboat .lstl-amenities li.lstl-am::before{content:'';position:absolute;top:0;left:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--_am-color,var(--brand)),color-mix(in srgb,var(--_am-color,var(--brand)) 55%,#fff));border-radius:16px 0 0 16px}
.lstl-speedboat .lstl-amenities li.lstl-am::after{content:'';position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;background:radial-gradient(circle,color-mix(in srgb,var(--_am-color,var(--brand)) 20%,transparent),transparent 62%);pointer-events:none;opacity:.3;transition:opacity .35s ease;z-index:0}
.lstl-speedboat .lstl-amenities li.lstl-am:hover{transform:translateY(-5px);box-shadow:0 26px 48px -24px color-mix(in srgb,var(--_am-color,var(--brand)) 45%,var(--shadow));border-color:var(--_am-color,var(--brand))}
.lstl-speedboat .lstl-amenities li.lstl-am:hover::after{opacity:.65}
.lstl-speedboat .lstl-amenities li.lstl-am:hover .lstl-am__icon{transform:scale(1.08) rotate(-4deg)}
.lstl-speedboat .lstl-amenities li.lstl-am:hover .lstl-am__icon-ring{transform:scale(1.3);opacity:.5}
.lstl-speedboat .lstl-amenities li.lstl-am:hover .lstl-am__check{background:var(--_am-color,var(--brand));color:#fff;transform:rotate(6deg) scale(1.12)}

/* Small number stamp — top-left */
.lstl-am__num{grid-row:1;grid-column:1;font-family:'Playfair Display',Georgia,serif;font-size:.78rem;font-weight:800;color:var(--_am-color,var(--brand));letter-spacing:.1em;opacity:.7;align-self:start;margin-top:-4px;z-index:1}
.lstl-am__num::after{content:'';display:inline-block;width:14px;height:2px;background:var(--_am-color,var(--brand));border-radius:2px;margin-left:.35rem;vertical-align:middle;transform:translateY(-2px)}

/* Icon + animated ring */
.lstl-am__icon-wrap{grid-row:2;grid-column:1;position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center;z-index:1}
.lstl-am__icon-ring{position:absolute;inset:0;border-radius:50%;border:2px dashed color-mix(in srgb,var(--_am-color,var(--brand)) 55%,transparent);opacity:.45;transition:transform .5s ease,opacity .35s ease}
.lstl-am__icon{position:relative;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--_am-color,var(--brand)) 18%,#fff) 0%,#fff 100%);display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--_am-color,var(--brand)) 45%,transparent),0 6px 14px -6px color-mix(in srgb,var(--_am-color,var(--brand)) 55%,transparent);transition:transform .4s ease}

/* Text block spans rows 1-2 in col 2 */
.lstl-am__txt{grid-row:1 / span 2;grid-column:2;display:flex;flex-direction:column;justify-content:center;gap:.2rem;min-width:0;z-index:1}
.lstl-am__title{font-size:1.05rem;font-weight:800;color:var(--ink);font-family:'Playfair Display',Georgia,serif;line-height:1.25}
.lstl-am__desc{font-size:.86rem;color:var(--ink-soft);line-height:1.45}

/* Check badge — top-right */
.lstl-am__check{grid-row:1 / span 2;grid-column:3;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--_am-color,var(--brand)) 14%,#fff);color:var(--_am-color,var(--brand));font-weight:900;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;align-self:center;transition:all .35s ease;border:1.5px solid color-mix(in srgb,var(--_am-color,var(--brand)) 50%,transparent);z-index:1}

.lstl-speedboat .lstl-amenities li::before{content:''}
@media (max-width:820px){.lstl-speedboat .lstl-amenities{grid-template-columns:repeat(2,1fr)}.lstl-am-wrap__yacht{width:90px;height:40px;top:14px;right:14px}}
@media (max-width:540px){.lstl-speedboat .lstl-amenities{grid-template-columns:1fr}}

/* Gallery section — featured intro lede with serif elegance */
.lstl-speedboat .lstl-gallery__lede{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.15rem;color:var(--ink);max-width:820px;margin:0 0 1.6rem;line-height:1.55}

/* Hide theme-rendered duplicate H1 — scoped tightly so site nav/header are untouched */
body.page-id-1471 .site-main > .page-header,
body.page-id-1471 .site-main > .page-header .entry-title{display:none!important}
/* Safety net: make nav-menu items visible without touching layout (no size/display/padding) */
body.page-id-1471 .elementor-nav-menu .elementor-item,
body.page-id-1471 .elementor-nav-menu a.elementor-item,
body.page-id-1471 .elementor-nav-menu li,
body.page-id-1471 .elementor-nav-menu a{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

/* ========================================================================
   REDESIGN 2026-04-24 — product-hub reframe (private + ticketed)
   ========================================================================*/

/* Quick-choice strip — 3-button selector under the hero */
.lstl-qchoice{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:-.25rem 0 2rem;background:linear-gradient(135deg,var(--surface) 0%,var(--accent-soft) 100%);border:1px solid #DAD7EE;border-radius:14px;padding:.75rem;box-shadow:0 12px 28px -22px var(--shadow)}
.lstl-qchoice__btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.95rem 1.1rem;border-radius:10px;text-decoration:none!important;background:var(--surface);border:1px solid var(--line);color:var(--ink)!important;transition:all .28s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}
.lstl-qchoice__btn::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--_qc,var(--brand-blue));transition:width .3s}
.lstl-qchoice__btn:hover,.lstl-qchoice__btn:focus{transform:translateY(-2px);box-shadow:0 18px 32px -22px var(--shadow);border-color:var(--_qc,var(--brand-blue));color:var(--brand)!important;text-decoration:none!important}
.lstl-qchoice__btn:hover::before{width:6px}
.lstl-qchoice__btn:nth-child(1){--_qc:var(--brand)}
.lstl-qchoice__btn:nth-child(2){--_qc:var(--carib-coral)}
.lstl-qchoice__btn:nth-child(3){--_qc:var(--carib-teal)}
.lstl-qchoice__kick{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--_qc,var(--brand-blue))}
.lstl-qchoice__lbl{font-family:Georgia,'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--brand);line-height:1.2}
.lstl-qchoice__hint{font-size:.82rem;color:var(--muted);margin-top:.2rem}
@media(max-width:720px){.lstl-qchoice{grid-template-columns:1fr}}

/* Fleet classes — 3 premium positioning cards */
.lstl-classes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin:1.5rem 0 2.5rem}
.lstl-class{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.6rem 1.5rem 1.7rem;overflow:hidden;isolation:isolate;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .3s}
.lstl-class::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--_cl,var(--brand)) 0%,color-mix(in srgb,var(--_cl,var(--brand)) 50%,#fff) 100%)}
.lstl-class::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--_cl,var(--brand)) 22%,transparent),transparent 60%);pointer-events:none;z-index:0}
.lstl-class>*{position:relative;z-index:1}
.lstl-class:hover{transform:translateY(-6px);box-shadow:0 28px 52px -26px var(--shadow);border-color:var(--_cl,var(--brand))}
.lstl-class__badge{display:inline-block;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#fff;background:var(--_cl,var(--brand));padding:.35rem .7rem;border-radius:999px;margin-bottom:.9rem;box-shadow:0 5px 14px -6px color-mix(in srgb,var(--_cl,var(--brand)) 60%,transparent)}
.lstl-class__title{font-family:Georgia,'Playfair Display',serif;font-size:1.35rem;color:var(--brand);margin:0 0 .5rem;line-height:1.2}
.lstl-class__desc{color:var(--ink-soft);font-size:.98rem;line-height:1.55;margin:0 0 1rem}
.lstl-class__boats{list-style:none;padding:0;margin:.6rem 0 .9rem;display:flex;flex-wrap:wrap;gap:.35rem}
.lstl-class__boats li{font-size:.78rem;background:var(--surface-soft);color:var(--brand);padding:.3rem .65rem;border-radius:999px;border:1px solid var(--line);font-weight:600}
.lstl-class__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;padding-top:.9rem;border-top:1px dashed rgba(0,0,0,.08);font-size:.85rem;color:var(--ink-soft)}
.lstl-class__meta strong{color:var(--brand);font-weight:700}
.lstl-class--lux{--_cl:var(--brand)}
.lstl-class--prem{--_cl:var(--carib-coral)}
.lstl-class--std{--_cl:var(--carib-teal)}
@media(max-width:900px){.lstl-classes{grid-template-columns:1fr}}

/* Fleet matrix — comparison table (builds on lstl-priceTable) */
.lstl-fleetTable-wrap{margin:1.25rem 0 2.5rem;overflow-x:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 14px 34px -28px var(--shadow)}
.lstl-fleetTable{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;background:var(--surface)}
.lstl-fleetTable caption{text-align:left;padding:1rem 1.2rem;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-blue-deep) 100%);color:#fff;font-family:Georgia,'Playfair Display',serif;font-size:1.15rem;caption-side:top}
.lstl-fleetTable thead th{background:var(--surface-soft);color:var(--brand);font-weight:700;letter-spacing:.02em;padding:.9rem 1rem;text-align:left;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--line)}
.lstl-fleetTable tbody td,.lstl-fleetTable tbody th{padding:.9rem 1rem;border-top:1px solid var(--line);vertical-align:top;font-size:.95rem}
.lstl-fleetTable tbody th{font-weight:700;color:var(--brand);white-space:nowrap}
.lstl-fleetTable tbody tr:hover{background:var(--surface-cool)}
.lstl-fleetTable .tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .55rem;border-radius:4px;color:#fff;background:var(--_tg,var(--brand))}
.lstl-fleetTable .tag--lux{background:var(--brand)}
.lstl-fleetTable .tag--prem{background:var(--carib-coral)}
.lstl-fleetTable .tag--std{background:var(--carib-teal)}
.lstl-fleetTable .cap{font-weight:700;color:var(--brand-green)}

/* Ticketed tour section */
.lstl-ticketed{position:relative;margin:2rem 0 2.5rem;background:linear-gradient(135deg,#FFF7E6 0%,var(--surface) 60%);border:1px solid #F1D99A;border-radius:20px;padding:1.75rem 1.9rem 2rem;overflow:hidden}
.lstl-ticketed::before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,183,3,.35),transparent 65%);pointer-events:none}
.lstl-ticketed::after{content:"";position:absolute;bottom:-60px;left:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,107,74,.22),transparent 60%);pointer-events:none}
.lstl-ticketed>*{position:relative;z-index:1}
.lstl-ticketed__kick{display:inline-block;background:var(--carib-gold);color:var(--brand);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;padding:.35rem .75rem;border-radius:999px;margin:0 0 .75rem;box-shadow:0 6px 16px -8px rgba(255,183,3,.6)}
.lstl-ticketed h2{margin-top:.25rem}
.lstl-ticketed__intro{font-size:1.08rem;color:var(--ink-soft);border-left:4px solid var(--carib-gold);padding:.2rem 0 .2rem 1.2rem;margin:.75rem 0 1.4rem;max-width:70ch}
.lstl-ticketed__body p{max-width:70ch}
.lstl-ticketed__highlights{list-style:none;padding:0;margin:1.5rem 0 1.3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem}
.lstl-ticketed__highlights li{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--carib-coral);border-radius:10px;padding:.75rem 1rem;font-size:.95rem;color:var(--ink);display:flex;gap:.6rem;align-items:flex-start;transition:transform .25s,box-shadow .3s,border-left-color .2s}
.lstl-ticketed__highlights li::before{content:"✓";color:var(--carib-coral);font-weight:800;line-height:1.4;flex-shrink:0}
.lstl-ticketed__highlights li:hover{transform:translateX(3px);box-shadow:0 10px 20px -16px var(--shadow);border-left-color:var(--brand-green)}
.lstl-ticketed__cta{display:inline-flex;align-items:center;gap:.55rem;background:var(--brand);color:#fff!important;padding:.85rem 1.4rem;border-radius:8px;text-decoration:none!important;font-weight:700;letter-spacing:.02em;margin-top:.6rem;transition:background .25s,transform .25s;box-shadow:0 10px 24px -12px rgba(4,9,66,.5)}
.lstl-ticketed__cta:hover{background:var(--carib-coral);transform:translateY(-2px)}
.lstl-ticketed__price-inline{display:inline-block;background:#fff;border:1px dashed var(--carib-gold);border-radius:999px;padding:.25rem .85rem;font-weight:700;color:var(--brand);font-size:.88rem;margin-left:.6rem}
.lstl-ticketed__price-inline .n{color:var(--carib-coral);font-size:1rem}

/* Sample itinerary cards */
.lstl-itins{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1.2rem 0 2rem;list-style:none;padding:0}
.lstl-itin{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem 1.25rem;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.lstl-itin::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--_it,var(--brand-blue))}
.lstl-itin:hover{transform:translateY(-4px);box-shadow:0 22px 36px -24px var(--shadow);border-color:var(--_it,var(--brand-blue))}
.lstl-itin:nth-child(4n+1){--_it:var(--carib-coral)}
.lstl-itin:nth-child(4n+2){--_it:var(--carib-teal)}
.lstl-itin:nth-child(4n+3){--_it:var(--carib-gold)}
.lstl-itin:nth-child(4n+4){--_it:var(--accent)}
.lstl-itin__tag{display:inline-block;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--_it);margin-bottom:.4rem}
.lstl-itin__title{font-family:Georgia,'Playfair Display',serif;font-size:1.1rem;color:var(--brand);margin:0 0 .4rem;line-height:1.25}
.lstl-itin__desc{color:var(--ink-soft);font-size:.92rem;line-height:1.55;margin:0 0 .6rem}
.lstl-itin__stops{list-style:none;padding:0;margin:0;font-size:.82rem;color:var(--muted)}
.lstl-itin__stops li{padding:.15rem 0 .15rem .9rem;position:relative}
.lstl-itin__stops li::before{content:"•";position:absolute;left:0;color:var(--_it,var(--brand-blue));font-weight:700}

/* Split pricing — two-column tier */
.lstl-priceSplit{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:1.25rem 0 1.5rem}
.lstl-priceSplit__card{position:relative;border-radius:16px;padding:1.5rem 1.6rem 1.6rem;color:#fff;overflow:hidden;box-shadow:0 20px 40px -24px var(--shadow);isolation:isolate}
.lstl-priceSplit__card--private{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-blue-deep) 100%)}
.lstl-priceSplit__card--ticketed{background:linear-gradient(135deg,#ce4a2a 0%,var(--carib-coral) 100%)}
.lstl-priceSplit__card::after{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%);pointer-events:none}
.lstl-priceSplit__eye{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.8)}
.lstl-priceSplit__title{font-family:Georgia,'Playfair Display',serif;font-size:1.55rem;color:#fff;margin:.3rem 0 .55rem}
.lstl-priceSplit__price{display:flex;align-items:baseline;gap:.45rem;margin:.75rem 0 .3rem}
.lstl-priceSplit__price .from{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.75);font-weight:700}
.lstl-priceSplit__price .num{font-family:Georgia,serif;font-size:2.6rem;font-weight:700;line-height:1}
.lstl-priceSplit__price .unit{font-size:.85rem;color:rgba(255,255,255,.8);font-weight:600}
.lstl-priceSplit__desc{font-size:.95rem;color:rgba(255,255,255,.88);line-height:1.55;margin:.4rem 0 1rem;position:relative;z-index:1}
.lstl-priceSplit__ul{list-style:none;padding:0;margin:0 0 1rem;font-size:.88rem;color:rgba(255,255,255,.92)}
.lstl-priceSplit__ul li{padding:.2rem 0 .2rem 1.1rem;position:relative}
.lstl-priceSplit__ul li::before{content:"→";position:absolute;left:0;color:rgba(255,255,255,.75)}
.lstl-priceSplit__btn{display:inline-block;background:#fff;color:var(--brand)!important;padding:.7rem 1.15rem;border-radius:8px;text-decoration:none!important;font-weight:700;letter-spacing:.02em;transition:transform .2s,background .2s;position:relative;z-index:1}
.lstl-priceSplit__btn:hover{background:var(--carib-gold);color:var(--brand)!important;transform:translateY(-2px)}
.lstl-priceSplit__card--ticketed .lstl-priceSplit__btn:hover{background:var(--brand);color:#fff!important}
@media(max-width:780px){.lstl-priceSplit{grid-template-columns:1fr}}

/* Capacity ladder — self-qualify tiers */
.lstl-caps{list-style:none;padding:0;margin:1.25rem 0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}
.lstl-cap{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.15rem;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.lstl-cap::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--_cap,var(--brand-blue))}
.lstl-cap:hover{transform:translateY(-3px);box-shadow:0 18px 32px -22px var(--shadow);border-color:var(--_cap,var(--brand-blue))}
.lstl-cap:nth-child(1){--_cap:var(--carib-coral)}
.lstl-cap:nth-child(2){--_cap:var(--carib-teal)}
.lstl-cap:nth-child(3){--_cap:var(--carib-gold)}
.lstl-cap:nth-child(4){--_cap:var(--accent)}
.lstl-cap:nth-child(5){--_cap:var(--brand-green)}
.lstl-cap__n{font-family:Georgia,'Playfair Display',serif;font-size:1.7rem;font-weight:800;color:var(--_cap,var(--brand));line-height:1;letter-spacing:-.02em}
.lstl-cap__n .u{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-left:.3rem}
.lstl-cap__desc{font-size:.88rem;color:var(--ink-soft);margin:.35rem 0 0;line-height:1.45}
.lstl-cap__desc strong{color:var(--brand);font-weight:700}

/* "Why Guests Choose" — replaces Pros card */
.lstl-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;margin:1.2rem 0 2rem;list-style:none;padding:0}
.lstl-benefit{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.15rem 1.25rem 1.2rem;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.lstl-benefit::before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--_bf,var(--brand-green));transition:width .3s}
.lstl-benefit:hover{transform:translateY(-4px);box-shadow:0 20px 34px -24px var(--shadow);border-color:var(--_bf,var(--brand-green))}
.lstl-benefit:hover::before{width:6px}
.lstl-benefit:nth-child(6n+1){--_bf:var(--carib-teal)}
.lstl-benefit:nth-child(6n+2){--_bf:var(--carib-coral)}
.lstl-benefit:nth-child(6n+3){--_bf:var(--carib-gold)}
.lstl-benefit:nth-child(6n+4){--_bf:var(--brand-green)}
.lstl-benefit:nth-child(6n+5){--_bf:var(--accent)}
.lstl-benefit:nth-child(6n+6){--_bf:var(--brand-blue)}
.lstl-benefit__ico{font-size:1.45rem;line-height:1;display:inline-block;margin-bottom:.45rem}
.lstl-benefit__t{font-family:Georgia,'Playfair Display',serif;font-size:1.05rem;color:var(--brand);margin:0 0 .3rem;line-height:1.3}
.lstl-benefit__d{color:var(--ink-soft);font-size:.9rem;line-height:1.5;margin:0}

/* "Who This Is Best For" persona row */
.lstl-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin:1.15rem 0 1.7rem;list-style:none;padding:0}
.lstl-fit li{background:linear-gradient(135deg,var(--surface) 0%,var(--accent-soft) 100%);border:1px solid #DAD7EE;border-radius:14px;padding:1.1rem 1.2rem 1.2rem;display:flex;gap:.85rem;align-items:flex-start;transition:transform .3s,box-shadow .3s,border-color .3s}
.lstl-fit li:hover{transform:translateY(-3px);box-shadow:0 18px 32px -22px var(--shadow);border-color:var(--accent)}
.lstl-fit__ico{font-size:1.8rem;line-height:1;flex-shrink:0}
.lstl-fit__body h4{font-family:Georgia,'Playfair Display',serif;font-size:1.02rem;color:var(--brand);margin:0 0 .2rem;line-height:1.25}
.lstl-fit__body p{margin:0;font-size:.88rem;color:var(--ink-soft);line-height:1.5}

/* Mini dual-CTA (multiple spots) */
.lstl-dualcta{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.1rem 0 1.75rem}
.lstl-dualcta a{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.2rem;border-radius:8px;font-weight:700;letter-spacing:.02em;text-decoration:none!important;transition:transform .2s,background .25s,color .25s,box-shadow .25s}
.lstl-dualcta a.primary{background:var(--brand);color:#fff!important;box-shadow:0 10px 22px -12px rgba(4,9,66,.5)}
.lstl-dualcta a.primary:hover{background:var(--brand-blue);transform:translateY(-2px)}
.lstl-dualcta a.secondary{background:#fff;color:var(--brand)!important;border:1.5px solid var(--brand)}
.lstl-dualcta a.secondary:hover{background:var(--carib-coral);border-color:var(--carib-coral);color:#fff!important;transform:translateY(-2px)}


/* Hero layout adjustments  (v2 2026-04-24)
   - FULL-BLEED hero: spans 100vw edge-to-edge matching homepage style
     (breaks out of the constrained page-content container)
   - flag "Saint Lucia · West Coast" moved from top-left to just above caption,
     4cm above the eyebrow strip (falls back gracefully on mobile)
   - proof badge "★★★★★ 5.0 ·80 reviews" moved from top-right to the bottom
     of the hero as a wider, bolder trust bar
*/

/* ---- FULL-BLEED HERO (edge-to-edge like homepage) ---- */
.lstl-speedboat .lstl-hero{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  left:50% !important;
  right:50% !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin-top:0 !important;
  margin-bottom:2.5rem !important;
  aspect-ratio:16 / 9 !important;
  min-height:clamp(380px,54vw,680px) !important;
  overflow:hidden;
}
/* Constrain caption content to content width even though outer hero is 100vw */
.lstl-speedboat .lstl-hero .caption{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%);
  width:100%;
  max-width:1200px;
  padding:1.75rem 1.9rem !important;
  box-sizing:border-box;
}
/* Breadcrumb nav (above hero) keeps the normal content gutter */
.lstl-speedboat nav[aria-label="Breadcrumb"]{margin-bottom:1rem}
/* Mobile tweaks for the full-bleed hero */
@media(max-width:720px){
  .lstl-speedboat .lstl-hero{aspect-ratio:4 / 5 !important;min-height:560px !important}
  .lstl-speedboat .lstl-hero .caption{padding:1.25rem 1.1rem !important}
}
@media(max-width:520px){
  .lstl-speedboat .lstl-hero{aspect-ratio:3 / 4 !important;min-height:520px !important}
}

/* ---- FLAG repositioned 4cm above caption eyebrow ---- */
.lstl-speedboat .lstl-hero__flag{
  top:auto !important;
  left:1.75rem !important;
  bottom:calc(220px + 4cm) !important;
  z-index:6 !important;
}
@media (max-width:980px){
  .lstl-speedboat .lstl-hero__flag{bottom:calc(180px + 3cm) !important;left:1.25rem !important}
}
@media (max-width:720px){
  .lstl-speedboat .lstl-hero__flag{bottom:calc(160px + 2cm) !important;left:.85rem !important}
}
@media (max-width:520px){
  .lstl-speedboat .lstl-hero__flag{bottom:calc(150px + 1.4cm) !important}
}

/* Bottom trust bar (repositioned + bolder) */
.lstl-speedboat .lstl-hero__proof{
  top:auto !important;
  right:auto !important;
  left:50% !important;
  bottom:20px !important;
  transform:translateX(-50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:1rem !important;
  background:linear-gradient(135deg,#FFB703 0%,#FFC927 45%,#FF8A3D 100%) !important;
  border:2px solid rgba(255,255,255,.95) !important;
  border-radius:14px !important;
  padding:.75rem 1.35rem .78rem !important;
  box-shadow:0 16px 40px -14px rgba(0,0,0,.6),0 0 0 4px rgba(255,183,3,.28) !important;
  z-index:7 !important;
  white-space:nowrap;
}
.lstl-speedboat .lstl-hero__proof-stars{
  color:#fff !important;
  font-size:1.55rem !important;
  letter-spacing:4px !important;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
  line-height:1;
}
.lstl-speedboat .lstl-hero__proof-txt{
  flex-direction:row !important;
  align-items:baseline !important;
  gap:.55rem !important;
  font-size:.9rem !important;
  color:var(--brand) !important;
  line-height:1;
}
.lstl-speedboat .lstl-hero__proof-txt strong{
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:1.5rem !important;
  font-weight:800 !important;
  color:var(--brand) !important;
  letter-spacing:-.01em;
}
.lstl-speedboat .lstl-hero__proof-txt em{
  font-style:normal !important;
  color:var(--brand) !important;
  font-weight:700 !important;
  margin-top:0 !important;
  font-size:.82rem !important;
  letter-spacing:.04em;
}
/* Push caption content up so bottom badge + caption buttons don't collide */
.lstl-speedboat .lstl-hero .caption{
  bottom:68px !important;
}
/* Also lift the pitons silhouette a touch so the badge sits cleanly */
.lstl-speedboat .lstl-hero__pitons{bottom:70px !important;height:110px !important;opacity:.7}
@media (max-width:720px){
  .lstl-speedboat .lstl-hero__proof{padding:.55rem 1rem !important;gap:.65rem !important;bottom:12px !important}
  .lstl-speedboat .lstl-hero__proof-stars{font-size:1.15rem !important;letter-spacing:3px !important}
  .lstl-speedboat .lstl-hero__proof-txt strong{font-size:1.15rem !important}
  .lstl-speedboat .lstl-hero__proof-txt em{font-size:.72rem !important}
  .lstl-speedboat .lstl-hero .caption{bottom:60px !important}
  .lstl-speedboat .lstl-hero__pitons{bottom:58px !important;height:80px !important}
}
@media (max-width:520px){
  .lstl-speedboat .lstl-hero__proof{padding:.5rem .85rem !important;bottom:10px !important}
  .lstl-speedboat .lstl-hero__proof-stars{font-size:1rem !important;letter-spacing:2px !important}
  .lstl-speedboat .lstl-hero__proof-txt{gap:.35rem !important}
  .lstl-speedboat .lstl-hero__proof-txt strong{font-size:1rem !important}
}

/* Experiences grid — Airport Transfer / Snorkel / Sunset  (v2 2026-04-24) */
.lstl-exps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin:1.5rem 0 2.5rem;list-style:none;padding:0}
.lstl-exp{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden;isolation:isolate;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .3s;display:flex;flex-direction:column}
.lstl-exp:hover{transform:translateY(-6px);box-shadow:0 30px 52px -24px var(--shadow);border-color:var(--_ex,var(--brand))}
.lstl-exp__hdr{background:linear-gradient(135deg,var(--_ex,var(--brand)) 0%,color-mix(in srgb,var(--_ex,var(--brand)) 58%,#000) 100%);color:#fff;padding:1.35rem 1.55rem 1.3rem;position:relative;overflow:hidden}
.lstl-exp__hdr::after{content:"";position:absolute;right:-42px;bottom:-42px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);pointer-events:none}
.lstl-exp__ico{position:absolute;top:1rem;right:1.2rem;font-size:1.9rem;opacity:.88;z-index:1;line-height:1}
.lstl-exp__tag{display:inline-block;background:rgba(255,255,255,.22);color:#fff;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:.3rem .7rem;border-radius:999px;margin-bottom:.6rem;position:relative;z-index:1;backdrop-filter:blur(2px)}
.lstl-exp__title{font-family:Georgia,'Playfair Display',serif;font-size:1.3rem;color:#fff;margin:0;line-height:1.22;position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.lstl-exp__body{padding:1.3rem 1.5rem 1.45rem;display:flex;flex-direction:column;flex:1;gap:.55rem}
.lstl-exp__body p{margin:0;font-size:.93rem;line-height:1.55;color:var(--ink-soft)}
.lstl-exp__meta{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed rgba(0,0,0,.08);display:flex;flex-direction:column;gap:.45rem}
.lstl-exp__meta-row{display:flex;gap:.55rem;align-items:flex-start}
.lstl-exp__meta-lbl{font-weight:800;color:var(--_ex,var(--brand));letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;flex-shrink:0;margin-top:.12rem;min-width:76px}
.lstl-exp__meta-val{color:var(--ink-soft);line-height:1.5;font-size:.87rem}
.lstl-exp__cta{display:inline-flex;align-items:center;gap:.45rem;margin-top:.95rem;color:var(--_ex,var(--brand))!important;font-weight:700;text-decoration:none!important;padding:.2rem 0;letter-spacing:.02em;transition:transform .25s,color .25s;align-self:flex-start}
.lstl-exp__cta::after{content:"→";transition:transform .3s;display:inline-block}
.lstl-exp__cta:hover{color:var(--brand)!important;transform:translateX(2px)}
.lstl-exp__cta:hover::after{transform:translateX(4px)}
.lstl-exp--transfer{--_ex:var(--brand)}
.lstl-exp--snorkel{--_ex:var(--carib-teal)}
.lstl-exp--sunset{--_ex:var(--carib-coral)}
.lstl-exps__lede{max-width:72ch;color:var(--ink-soft);margin:.25rem 0 1.3rem}

/* ============================================================
   QUICK-CHOICE STRIP — reimagined as a Rodney Bay Marina
   "Departure Board" with boarding-pass cards.
   Navy + gold + coral nautical palette, wave & rope detail,
   coordinates tagline — deliberately distinctive.
   ============================================================ */
.lstl-speedboat .lstl-qchoice{
  display:block;
  background:linear-gradient(135deg,#030830 0%,var(--brand) 50%,#0a134f 100%);
  border:none;
  border-radius:20px;
  padding:1.5rem 1.35rem 1rem;
  box-shadow:0 28px 56px -26px rgba(4,9,66,.55);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
/* Ambient marina glow — gold sun top-right */
.lstl-speedboat .lstl-qchoice::before{
  content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,183,3,.45) 0%,rgba(255,107,74,.2) 40%,transparent 70%);
  filter:blur(8px);pointer-events:none;z-index:0;
}
/* Ambient marina glow — deep blue wash bottom-left */
.lstl-speedboat .lstl-qchoice::after{
  content:"";position:absolute;left:-60px;bottom:-60px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(24,99,220,.35),transparent 65%);
  pointer-events:none;z-index:0;
}
/* Departure-board header */
.lstl-qchoice__board{
  position:relative;z-index:2;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;
  padding:0 .25rem .9rem;border-bottom:1px dashed rgba(255,255,255,.18);margin-bottom:1rem;
}
.lstl-qchoice__compass{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,#FFB703,#FF8A3D);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--brand);font-weight:800;font-family:Georgia,'Playfair Display',serif;font-size:1.1rem;
  box-shadow:0 8px 18px -6px rgba(255,183,3,.6),inset 0 0 0 2px rgba(255,255,255,.7);
  flex-shrink:0;position:relative;
}
.lstl-qchoice__compass::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(255,183,3,.55);
}
.lstl-qchoice__board-head{flex:1;min-width:240px;color:#fff;line-height:1.25}
.lstl-qchoice__board-kick{
  display:inline-block;background:linear-gradient(90deg,#FFB703,#FF8A3D);color:var(--brand);
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;
  padding:.25rem .6rem;border-radius:3px;margin-bottom:.3rem;
}
.lstl-qchoice__board-title{
  font-family:Georgia,'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:#fff;margin:0;
}
.lstl-qchoice__board-coord{
  font-family:'Courier New',monospace;font-size:.72rem;color:rgba(255,255,255,.65);
  letter-spacing:.08em;margin:.2rem 0 0;
}
.lstl-qchoice__board-coord svg{vertical-align:-2px;margin-right:.25rem}
/* Boarding-pass grid */
.lstl-speedboat .lstl-qchoice{display:block}
.lstl-qchoice__grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;
}
.lstl-speedboat .lstl-qchoice__btn{
  position:relative;background:#fff;border-radius:14px;
  padding:1.25rem 1.3rem 1.3rem !important;border:none !important;
  display:block;text-decoration:none !important;overflow:hidden;isolation:isolate;
  box-shadow:0 16px 32px -18px rgba(0,0,0,.35);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;
  color:var(--ink) !important;
  min-height:205px;
}
.lstl-speedboat .lstl-qchoice__btn:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 28px 44px -22px rgba(0,0,0,.5),0 0 0 3px color-mix(in srgb,var(--_qc,var(--brand)) 45%,transparent) !important;
}
.lstl-speedboat .lstl-qchoice__btn::before{content:none !important}
/* Boarding-pass top stripe in the gate colour */
.lstl-speedboat .lstl-qchoice__btn::after{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--_qc,var(--brand)) 0%,color-mix(in srgb,var(--_qc,var(--brand)) 55%,#FFB703) 100%);
  z-index:2;
}
/* Perforated side (left) — ticket-stub look */
.lstl-qchoice__btn-stub{
  position:absolute;top:24px;bottom:16px;left:60px;width:1px;
  background-image:linear-gradient(to bottom,rgba(0,0,0,.18) 0,rgba(0,0,0,.18) 5px,transparent 5px,transparent 10px);
  background-size:1px 10px;background-repeat:repeat-y;z-index:1;
}
/* Gate letter (A / B / C) in circular badge, left side */
.lstl-qchoice__gate{
  position:absolute;top:26px;left:14px;width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--_qc,var(--brand)) 0%,color-mix(in srgb,var(--_qc,var(--brand)) 60%,#000) 100%);
  color:#fff;display:inline-flex;align-items:center;justify-content:center;
  font-family:Georgia,'Playfair Display',serif;font-weight:800;font-size:1.05rem;
  box-shadow:0 6px 14px -4px color-mix(in srgb,var(--_qc,var(--brand)) 70%,transparent);
  z-index:2;
}
.lstl-qchoice__gate::before{
  content:"GATE";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:'Courier New',monospace;font-size:.58rem;letter-spacing:.18em;
  color:color-mix(in srgb,var(--_qc,var(--brand)) 80%,#000);font-weight:700;
}
/* Content to the right of the stub */
.lstl-qchoice__btn-body{position:relative;z-index:2;padding-left:60px}
.lstl-speedboat .lstl-qchoice__kick{
  font-size:.65rem !important;letter-spacing:.18em !important;
  color:color-mix(in srgb,var(--_qc,var(--brand)) 85%,#000) !important;
  font-family:'Courier New',monospace;font-weight:700;margin-bottom:.3rem;display:block;
}
.lstl-speedboat .lstl-qchoice__lbl{
  font-family:Georgia,'Playfair Display',serif !important;font-size:1.25rem !important;
  font-weight:800 !important;color:var(--brand) !important;line-height:1.18 !important;
  margin-bottom:.35rem;
}
.lstl-speedboat .lstl-qchoice__hint{
  font-size:.82rem !important;color:var(--ink-soft) !important;line-height:1.4;
  padding-top:.5rem;border-top:1px dashed rgba(0,0,0,.12);margin-top:.5rem !important;
}
/* Departure time / route mock (unique flavour) */
.lstl-qchoice__btn-foot{
  margin-top:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  font-family:'Courier New',monospace;font-size:.68rem;letter-spacing:.1em;
  color:color-mix(in srgb,var(--_qc,var(--brand)) 85%,#333);text-transform:uppercase;font-weight:700;
}
.lstl-qchoice__btn-foot .route{display:inline-flex;align-items:center;gap:.3rem}
.lstl-qchoice__btn-foot .route::before{content:"↠";color:var(--_qc,var(--brand));font-size:.85rem}
.lstl-qchoice__btn-foot .pill{
  background:color-mix(in srgb,var(--_qc,var(--brand)) 12%,#fff);
  color:var(--_qc,var(--brand));padding:.18rem .5rem;border-radius:3px;font-size:.62rem;
  border:1px solid color-mix(in srgb,var(--_qc,var(--brand)) 28%,#fff);
}
/* Wave bottom accent on each card */
.lstl-qchoice__btn-wave{position:absolute;left:0;right:0;bottom:0;height:22px;z-index:1;pointer-events:none}
.lstl-qchoice__btn-wave svg{width:100%;height:100%;display:block}
.lstl-qchoice__btn-wave path{fill:color-mix(in srgb,var(--_qc,var(--brand)) 10%,#fff)}
/* Footer — marina tagline + coordinates */
.lstl-qchoice__marina{
  position:relative;z-index:2;margin:.9rem -.35rem 0;padding:.65rem .6rem 0;
  border-top:1px dashed rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;
  font-family:'Courier New',monospace;font-size:.7rem;letter-spacing:.1em;color:rgba(255,255,255,.78);
  text-transform:uppercase;font-weight:700;
}
.lstl-qchoice__marina strong{color:#fff;font-weight:800}
.lstl-qchoice__flag-strip{display:inline-flex;gap:2px;margin-right:.25rem;vertical-align:-1px}
.lstl-qchoice__flag-strip span{display:inline-block;width:4px;height:12px;border-radius:1px}
.lstl-qchoice__flag-strip span:nth-child(1){background:#66CCFF}
.lstl-qchoice__flag-strip span:nth-child(2){background:#000;width:10px;position:relative}
.lstl-qchoice__flag-strip span:nth-child(2)::before{content:"";position:absolute;left:2px;top:3px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:5px solid #FFB703}
.lstl-qchoice__flag-strip span:nth-child(3){background:#fff}
@media(max-width:820px){
  .lstl-qchoice__grid{grid-template-columns:1fr}
  .lstl-speedboat .lstl-qchoice__btn{min-height:auto}
}

/* ============================================================
   INCLUDE-WRAP ("What's in the headline rate") re-themed to
   match LucianStyle navy + gold brand, crisper and more premium.
   ============================================================ */
.lstl-speedboat .lstl-incl-wrap{
  background:
    radial-gradient(ellipse at 85% 10%,rgba(255,183,3,.18),transparent 55%),
    radial-gradient(ellipse at 10% 90%,rgba(24,99,220,.22),transparent 60%),
    linear-gradient(135deg,#040942 0%,#0a134f 55%,#081031 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,183,3,.25) !important;
  border-radius:22px !important;
  box-shadow:0 32px 60px -24px rgba(4,9,66,.55) !important;
  overflow:hidden;
  padding:2rem 2.1rem 2.2rem !important;
  position:relative;
}
.lstl-speedboat .lstl-incl-wrap *{color:inherit}
.lstl-speedboat .lstl-incl-wrap__head{position:relative;z-index:3}
.lstl-speedboat .lstl-incl-wrap__kicker{
  color:#FFB703 !important;font-size:.72rem !important;letter-spacing:.2em !important;
  font-weight:800 !important;text-transform:uppercase;margin-bottom:.4rem;
}
.lstl-speedboat .lstl-incl-wrap__title{
  color:#fff !important;font-family:Georgia,'Playfair Display',serif;font-size:1.85rem !important;
  margin:.1rem 0 .8rem !important;line-height:1.15;
}
.lstl-speedboat .lstl-incl-wrap__title::after{
  content:"";display:block;width:64px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#FFB703,#FF8A3D);margin-top:.7rem;
}
.lstl-speedboat .lstl-incl-wrap__price-block{align-items:baseline}
.lstl-speedboat .lstl-incl-wrap__price-eye{
  color:rgba(255,255,255,.7) !important;font-size:.72rem !important;
  letter-spacing:.16em !important;margin-right:.6rem;
}
.lstl-speedboat .lstl-incl-wrap__price-num{
  color:#FFB703 !important;font-family:Georgia,serif;font-size:3.2rem !important;
  font-weight:800;line-height:1;letter-spacing:-.02em;text-shadow:0 8px 30px rgba(255,183,3,.3);
}
.lstl-speedboat .lstl-incl-wrap__price-dollar{color:#FFB703 !important;font-size:.75em !important;margin-right:.05em}
.lstl-speedboat .lstl-incl-wrap__price-underline{color:rgba(255,183,3,.55)}
.lstl-speedboat .lstl-incl-wrap__sub{
  color:rgba(255,255,255,.88) !important;font-size:1.02rem !important;
  max-width:68ch;margin:.6rem 0 1.5rem !important;line-height:1.6;
}
.lstl-speedboat .lstl-incl-wrap__sub em{color:#FFB703 !important;font-style:normal;font-weight:700}
.lstl-speedboat .lstl-incl-wrap__stamp{z-index:3}
.lstl-speedboat .lstl-incl-wrap__stamp-outer{
  background:linear-gradient(135deg,#FFB703,#FF8A3D) !important;
  box-shadow:0 10px 24px -6px rgba(255,183,3,.55);
}
.lstl-speedboat .lstl-incl-wrap__stamp-inner{background:rgba(4,9,66,.92) !important;color:#FFB703 !important}
.lstl-speedboat .lstl-incl-wrap__stamp-check{color:#FFB703 !important}
.lstl-speedboat .lstl-incl-wrap__stamp-txt{color:#FFB703 !important}
.lstl-speedboat .lstl-incl-wrap__grid{
  position:relative;z-index:3;margin-top:.4rem;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;
}
.lstl-speedboat .lstl-incl{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:12px !important;
  padding:1rem 1.15rem !important;
  display:flex;align-items:flex-start;gap:.85rem;
  transition:background .25s,border-color .25s,transform .25s;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.lstl-speedboat .lstl-incl:hover{
  background:rgba(255,255,255,.11) !important;
  border-color:color-mix(in srgb,var(--_incl-color,#FFB703) 55%,transparent) !important;
  transform:translateY(-3px);
}
.lstl-speedboat .lstl-incl__icon{
  background:rgba(255,183,3,.18) !important;
  border:1px solid rgba(255,183,3,.35);
  color:#FFB703 !important;width:38px;height:38px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;
  flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.lstl-speedboat .lstl-incl__body{flex:1;min-width:0}
.lstl-speedboat .lstl-incl__title{
  color:#fff !important;font-family:Georgia,'Playfair Display',serif !important;
  font-size:1rem !important;font-weight:700;margin-bottom:.15rem;
}
.lstl-speedboat .lstl-incl__desc{color:rgba(255,255,255,.74) !important;font-size:.85rem !important;line-height:1.4}
.lstl-speedboat .lstl-incl__badge{
  background:linear-gradient(135deg,#FFB703,#FF8A3D) !important;
  color:var(--brand) !important;border:none !important;
  font-weight:800;letter-spacing:.04em;padding:.28rem .65rem;border-radius:999px;
  font-size:.7rem;text-transform:uppercase;flex-shrink:0;
  box-shadow:0 4px 10px -3px rgba(255,183,3,.55);
}
.lstl-speedboat .lstl-incl-wrap__loc{
  background:rgba(4,9,66,.55) !important;color:#FFB703 !important;
  border:1px solid rgba(255,183,3,.45);
}
/* Mute the busy decorative SVGs so they don't clash with the navy theme */
.lstl-speedboat .lstl-incl-wrap__seagulls{color:rgba(255,255,255,.35) !important;z-index:1}
.lstl-speedboat .lstl-incl-wrap__marina{opacity:.28 !important;filter:saturate(.6)}
.lstl-speedboat .lstl-incl-wrap__palm path{fill:rgba(255,183,3,.22) !important;stroke:rgba(255,183,3,.35) !important}
.lstl-speedboat .lstl-incl-wrap__pigeon-island path{fill:rgba(255,255,255,.15) !important}
.lstl-speedboat .lstl-incl-wrap__sun{background:radial-gradient(circle,rgba(255,183,3,.4),transparent 60%) !important}

/* ============================================================
   KEY FACTS — AI-citation / AEO snippet block (above FAQ)
   ============================================================ */
.lstl-keyfacts{
  background:linear-gradient(135deg,#fff 0%,#F5F8FF 100%);
  border:1px solid var(--line);border-left:5px solid var(--carib-gold);
  border-radius:14px;padding:1.25rem 1.5rem 1.35rem;margin:1.5rem 0 1.8rem;
  box-shadow:0 14px 32px -24px var(--shadow);
}
.lstl-keyfacts h3{
  margin:0 0 .75rem;font-family:Georgia,'Playfair Display',serif;font-size:1.18rem;color:var(--brand);
  padding:0;display:flex;align-items:center;gap:.55rem;
}
.lstl-keyfacts h3::before{
  content:"ℹ";width:28px;height:28px;border-radius:50%;background:var(--carib-gold);color:var(--brand);
  display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;font-family:Georgia,serif;
}
.lstl-keyfacts h3::after{display:none}
.lstl-keyfacts dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem 1.5rem}
.lstl-keyfacts div{display:flex;flex-direction:column;gap:.15rem;padding:.4rem 0;border-bottom:1px dashed rgba(0,0,0,.07)}
.lstl-keyfacts dt{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--carib-teal)}
.lstl-keyfacts dd{margin:0;font-size:.93rem;color:var(--ink);font-weight:600}



/* =====================================================================
   ROUND 3 — client feedback 2026-04-24
   ===================================================================== */

/* 1) Hide the breadcrumb on this page ------------------------------ */
.lstl-speedboat nav[aria-label="Breadcrumb"],
.lstl-speedboat .lstl-breadcrumbs,
body.page-id-1471 .breadcrumbs,
body.page-id-1471 nav[aria-label="breadcrumb"],
body.page-id-1471 .rank-math-breadcrumb{display:none !important}

/* 2) Hero covers the top menu area (transparent header overlay) ---- */
body.page-id-1471 header.elementor-location-header{
  position:absolute !important;
  top:0 !important;left:0 !important;right:0 !important;
  width:100% !important;
  background:transparent !important;
  box-shadow:none !important;
  border-bottom:none !important;
  z-index:50 !important;
}
body.page-id-1471 header.elementor-location-header > *,
body.page-id-1471 header.elementor-location-header .e-con,
body.page-id-1471 header.elementor-location-header .elementor-element{
  background-color:transparent !important;
  background:transparent !important;
}
/* Make logo + menu text readable on photo backgrounds */
body.page-id-1471 header.elementor-location-header a,
body.page-id-1471 header.elementor-location-header .elementor-heading-title,
body.page-id-1471 header.elementor-location-header .elementor-nav-menu a,
body.page-id-1471 header.elementor-location-header .menu-item a{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
body.page-id-1471 header.elementor-location-header svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}
/* Pull main content up so the hero starts at the very top of the viewport */
body.page-id-1471 .page-content,
body.page-id-1471 main.site-main,
body.page-id-1471 .elementor,
body.page-id-1471 .entry-content{
  padding-top:0 !important;
  margin-top:0 !important;
}
body.page-id-1471 .site-main{padding:0 !important}
/* Give the hero extra top-padding inside the caption so the floating
   header doesn't collide with the hero text */
.lstl-speedboat .lstl-hero .caption{padding-top:2.75rem !important}

/* 3) Quick-choice re-colour to brand accent #7471BF ---------------- */
.lstl-speedboat .lstl-qchoice{
  background:
    radial-gradient(ellipse at 85% 10%,rgba(255,255,255,.18),transparent 55%),
    radial-gradient(ellipse at 10% 90%,rgba(255,183,3,.25),transparent 60%),
    linear-gradient(135deg,#5D5AA8 0%,#7471BF 50%,#8D8BD0 100%) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.lstl-speedboat .lstl-qchoice::before{
  background:radial-gradient(circle,rgba(255,183,3,.45) 0%,rgba(255,107,74,.22) 40%,transparent 70%) !important;
}
.lstl-speedboat .lstl-qchoice::after{
  background:radial-gradient(circle,rgba(255,255,255,.28),transparent 65%) !important;
}
/* Keep the yellow compass but soften shadow against purple */
.lstl-qchoice__compass{box-shadow:0 8px 22px -6px rgba(0,0,0,.35),inset 0 0 0 2px rgba(255,255,255,.85)}
/* Departure-board divider line — lighter on purple */
.lstl-qchoice__board{border-bottom-color:rgba(255,255,255,.25) !important}
.lstl-qchoice__marina{border-top-color:rgba(255,255,255,.25) !important}

/* 4) Include-wrap — light vibrant Saint Lucia palette ----------------- */
.lstl-speedboat .lstl-incl-wrap{
  background:
    radial-gradient(ellipse at 82% 8%,rgba(255,183,3,.22),transparent 58%),
    radial-gradient(ellipse at 12% 92%,rgba(0,122,107,.15),transparent 62%),
    linear-gradient(135deg,#FFFBF0 0%,#FDFDFD 40%,#E9F7F4 100%) !important;
  color:var(--ink) !important;
  border:1px solid #F2E4B8 !important;
  border-top:4px solid var(--carib-gold) !important;
  border-radius:22px !important;
  box-shadow:0 24px 52px -28px rgba(0,122,107,.38) !important;
}
.lstl-speedboat .lstl-incl-wrap *{color:inherit}
.lstl-speedboat .lstl-incl-wrap__kicker{
  color:var(--carib-teal) !important;font-weight:800 !important;letter-spacing:.22em !important;
}
.lstl-speedboat .lstl-incl-wrap__title{
  color:var(--brand) !important;
  font-family:"M PLUS 1p",sans-serif !important;font-weight:800 !important;letter-spacing:-.5px !important;
}
.lstl-speedboat .lstl-incl-wrap__title::after{
  background:linear-gradient(90deg,var(--carib-teal),var(--carib-gold),var(--carib-coral)) !important;
}
.lstl-speedboat .lstl-incl-wrap__price-eye{color:var(--muted) !important}
.lstl-speedboat .lstl-incl-wrap__price-num,
.lstl-speedboat .lstl-incl-wrap__price-dollar{
  color:var(--carib-coral) !important;text-shadow:none !important;
}
.lstl-speedboat .lstl-incl-wrap__price-underline{color:var(--carib-gold) !important}
.lstl-speedboat .lstl-incl-wrap__sub{color:var(--ink-soft) !important}
.lstl-speedboat .lstl-incl-wrap__sub em{color:var(--carib-coral) !important;font-weight:700}
.lstl-speedboat .lstl-incl-wrap__stamp-outer{background:linear-gradient(135deg,var(--carib-teal),var(--brand-green)) !important}
.lstl-speedboat .lstl-incl-wrap__stamp-inner{background:#fff !important;color:var(--carib-teal) !important}
.lstl-speedboat .lstl-incl-wrap__stamp-check,
.lstl-speedboat .lstl-incl-wrap__stamp-txt{color:var(--carib-teal) !important}
.lstl-speedboat .lstl-incl-wrap__loc{
  background:#fff !important;color:var(--brand) !important;
  border:1px solid var(--carib-gold) !important;box-shadow:0 8px 20px -10px rgba(255,183,3,.4);
}
.lstl-speedboat .lstl-incl{
  background:#fff !important;
  border:1px solid #EDE4C9 !important;
  border-left:3px solid var(--carib-teal) !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  box-shadow:0 10px 20px -18px rgba(0,122,107,.35);
}
.lstl-speedboat .lstl-incl:hover{
  background:#FFFDF4 !important;
  border-color:var(--carib-gold) !important;
  border-left-color:var(--carib-coral) !important;
  transform:translateY(-3px);
  box-shadow:0 18px 30px -20px rgba(255,107,74,.4) !important;
}
.lstl-speedboat .lstl-incl__icon{
  background:linear-gradient(135deg,#FFF4D2,#FFE39A) !important;
  border:1px solid rgba(255,183,3,.55) !important;
  color:var(--carib-coral) !important;
}
.lstl-speedboat .lstl-incl__title{color:var(--brand) !important;font-family:"M PLUS 1p",sans-serif !important;font-weight:700 !important}
.lstl-speedboat .lstl-incl__desc{color:var(--ink-soft) !important}
.lstl-speedboat .lstl-incl__badge{
  background:linear-gradient(135deg,var(--carib-teal),var(--brand-green)) !important;
  color:#fff !important;box-shadow:0 4px 10px -3px rgba(0,122,107,.45) !important;
}
/* Restore marina decorative SVGs at brighter tones for light bg */
.lstl-speedboat .lstl-incl-wrap__seagulls{color:var(--carib-teal) !important;opacity:.8}
.lstl-speedboat .lstl-incl-wrap__marina{opacity:.5 !important;filter:saturate(1)}
.lstl-speedboat .lstl-incl-wrap__palm path{fill:rgba(0,85,56,.75) !important;stroke:rgba(0,85,56,.85) !important}
.lstl-speedboat .lstl-incl-wrap__pigeon-island path{fill:rgba(0,122,107,.35) !important}
.lstl-speedboat .lstl-incl-wrap__sun{
  background:radial-gradient(circle,rgba(255,183,3,.7) 0%,rgba(255,107,74,.35) 40%,transparent 70%) !important;
}

/* 5) FONT SYSTEM — align to homepage (M PLUS 1p + Noto Sans) ------- */
.lstl-speedboat,
.lstl-speedboat p,
.lstl-speedboat li,
.lstl-speedboat dd,
.lstl-speedboat dt,
.lstl-speedboat .lead,
.lstl-speedboat .lstl-hero__sub,
.lstl-speedboat .lstl-keyfacts dd,
.lstl-speedboat .lstl-amenities li,
.lstl-speedboat table td,
.lstl-speedboat table th,
.lstl-speedboat details p,
.lstl-speedboat .lstl-review,
.lstl-speedboat .lstl-review *,
.lstl-speedboat .lstl-priceSplit__desc,
.lstl-speedboat .lstl-priceSplit__ul,
.lstl-speedboat .lstl-exp__body,
.lstl-speedboat .lstl-exp__body p,
.lstl-speedboat .lstl-benefit__d,
.lstl-speedboat .lstl-fit__body p,
.lstl-speedboat .lstl-itin__desc,
.lstl-speedboat .lstl-class__desc,
.lstl-speedboat .lstl-ticketed p,
.lstl-speedboat .lstl-ticketed li{
  font-family:"Noto Sans","M PLUS 1p",system-ui,-apple-system,Segoe UI,sans-serif !important;
}
.lstl-speedboat h1,.lstl-speedboat h2,.lstl-speedboat h3,.lstl-speedboat h4,.lstl-speedboat h5,.lstl-speedboat h6,
.lstl-speedboat .lstl-hero h1,
.lstl-speedboat .lstl-hero .caption h1,
.lstl-speedboat .lstl-priceSplit__title,
.lstl-speedboat .lstl-class__title,
.lstl-speedboat .lstl-itin__title,
.lstl-speedboat .lstl-benefit__t,
.lstl-speedboat .lstl-fit__body h4,
.lstl-speedboat .lstl-ticketed__price-inline,
.lstl-speedboat .lstl-exp__title,
.lstl-speedboat .lstl-incl-wrap__title,
.lstl-speedboat .lstl-keyfacts h3,
.lstl-speedboat .lstl-qchoice__board-title,
.lstl-speedboat .lstl-qchoice__lbl,
.lstl-speedboat .lstl-review__name,
.lstl-speedboat .lstl-fleetTable caption,
.lstl-speedboat .lstl-rev-summary__num{
  font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-.4px !important;
}
/* Monospace-style marina tagline / gate labels keep Courier for authenticity */
.lstl-speedboat .lstl-qchoice__kick,
.lstl-speedboat .lstl-qchoice__btn-foot,
.lstl-speedboat .lstl-qchoice__marina,
.lstl-speedboat .lstl-qchoice__board-kick,
.lstl-speedboat .lstl-qchoice__board-coord{font-family:"Courier New",Consolas,monospace !important}

/* Update the base palette to inherit Elementor kit vars so we stay in sync */
.lstl-speedboat{
  --brand:#040942;
  --accent:#7471BF;
  --brand-green:#005538;
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
}



/* Round 4 — gold titles (#ECBE35) on the 3 experience cards + 2 pricing cards */
.lstl-speedboat .lstl-exp__title,
.lstl-speedboat .lstl-exp--transfer .lstl-exp__title,
.lstl-speedboat .lstl-exp--snorkel .lstl-exp__title,
.lstl-speedboat .lstl-exp--sunset .lstl-exp__title,
.lstl-speedboat .lstl-priceSplit__title,
.lstl-speedboat .lstl-priceSplit__card--private .lstl-priceSplit__title,
.lstl-speedboat .lstl-priceSplit__card--ticketed .lstl-priceSplit__title{
  color:#ECBE35 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.35) !important;
}



/* Round 5 — balanced 4×2 include grid with highlighted titles */
.lstl-speedboat .lstl-incl-wrap__grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:.95rem !important;
}
@media (max-width:1020px){
  .lstl-speedboat .lstl-incl-wrap__grid{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:560px){
  .lstl-speedboat .lstl-incl-wrap__grid{grid-template-columns:1fr !important}
}
.lstl-speedboat .lstl-incl{
  padding:1.05rem 1.15rem !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.55rem !important;
  min-height:152px;
  position:relative;
}
.lstl-speedboat .lstl-incl__body{width:100%}
/* Highlighter-marker swipe behind each title */
.lstl-speedboat .lstl-incl__title{
  display:inline !important;
  background-image:linear-gradient(120deg,rgba(236,190,53,.58) 0%,rgba(255,183,3,.55) 100%) !important;
  background-repeat:no-repeat !important;
  background-size:100% 55% !important;
  background-position:0 82% !important;
  padding:.05em .25em .12em !important;
  font-weight:800 !important;
  color:var(--brand) !important;
  font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
  letter-spacing:-.3px !important;
  line-height:1.3 !important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.lstl-speedboat .lstl-incl__desc{
  font-size:.88rem !important;line-height:1.5 !important;margin-top:.3rem !important;color:var(--ink-soft) !important;
}
.lstl-speedboat .lstl-incl__icon{
  width:42px !important;height:42px !important;font-size:1.2rem !important;
  background:linear-gradient(135deg,#FFF4D2,#FFE39A) !important;
  border:1px solid rgba(236,190,53,.7) !important;
  color:var(--carib-coral) !important;
  box-shadow:0 6px 14px -6px rgba(236,190,53,.55);
}
.lstl-speedboat .lstl-incl__badge{
  align-self:flex-start !important;margin-top:auto;
  font-size:.72rem !important;letter-spacing:.06em !important;
}
.lstl-speedboat .lstl-incl:hover .lstl-incl__title{
  background-image:linear-gradient(120deg,rgba(236,190,53,.85) 0%,rgba(255,107,74,.5) 100%) !important;
}



/* Round 6 — lock Benefits + Fit grids to 3 columns × 2 rows on desktop */
.lstl-speedboat .lstl-benefits,
.lstl-speedboat .lstl-fit{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:1rem !important;
}
@media (max-width:960px){
  .lstl-speedboat .lstl-benefits,
  .lstl-speedboat .lstl-fit{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:560px){
  .lstl-speedboat .lstl-benefits,
  .lstl-speedboat .lstl-fit{grid-template-columns:1fr !important}
}
.lstl-speedboat .lstl-benefit,
.lstl-speedboat .lstl-fit li{min-height:180px}



/* Round 7 — Soufrière tour day-journey storybook ================== */
.lstl-speedboat .lstl-journey__lede{
  font-size:1.06rem !important;color:var(--ink) !important;
  border-left:4px solid var(--carib-gold);padding:.2rem 0 .2rem 1.1rem;margin:.8rem 0 1.4rem;
  max-width:70ch;
}
.lstl-speedboat .lstl-journey{
  position:relative;margin:1.4rem 0 1.6rem;
  padding:1.4rem 0 .5rem;
}
/* Horizontal route strip */
.lstl-speedboat .lstl-journey__route{
  display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;
  margin:0 0 1.8rem;padding:.75rem 1rem;
  background:linear-gradient(135deg,#fff 0%,rgba(255,247,230,.85) 100%);
  border:1px dashed var(--carib-gold);border-radius:999px;
  font-family:"Courier New",Consolas,monospace;font-size:.82rem;letter-spacing:.08em;
  color:var(--brand);font-weight:800;text-transform:uppercase;
  box-shadow:0 10px 22px -16px rgba(255,183,3,.45);
  width:fit-content;max-width:100%;
}
.lstl-speedboat .lstl-journey__route .stop{display:inline-flex;align-items:center;gap:.4rem}
.lstl-speedboat .lstl-journey__route .stop .ico{font-size:1rem;letter-spacing:0}
.lstl-speedboat .lstl-journey__route .arr{color:var(--carib-coral);font-size:1.05rem}

/* Steps list */
.lstl-speedboat .lstl-journey__steps{
  list-style:none;padding:0;margin:0;position:relative;
  display:flex;flex-direction:column;gap:1.4rem;
}
/* Vertical rope line down the middle (desktop) */
.lstl-speedboat .lstl-journey__steps::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;
  background:repeating-linear-gradient(to bottom,
    var(--carib-gold) 0 8px,
    transparent 8px 16px);
  opacity:.55;z-index:0;transform:translateX(-1.5px);
}
.lstl-speedboat .lstl-journey__stop{
  position:relative;display:grid;grid-template-columns:1fr 60px 1fr;
  align-items:center;min-height:130px;z-index:1;
}
/* Brass pin in the middle of each row */
.lstl-speedboat .lstl-journey__pin{
  grid-column:2;grid-row:1;
  justify-self:center;align-self:center;
  width:54px;height:54px;border-radius:50%;
  background:
    radial-gradient(circle at 30% 28%,#FFE39A 0%,#ECBE35 45%,#C5951F 100%);
  color:var(--brand);display:flex;align-items:center;justify-content:center;
  font-family:"M PLUS 1p","Noto Sans",sans-serif;font-weight:800;font-size:1.05rem;
  letter-spacing:-.5px;
  box-shadow:
    0 0 0 4px #fff,
    0 0 0 5px rgba(236,190,53,.55),
    0 10px 22px -6px rgba(236,190,53,.55),
    inset 0 2px 4px rgba(255,255,255,.6),
    inset 0 -3px 6px rgba(0,0,0,.18);
  position:relative;z-index:2;
}
/* Card body */
.lstl-speedboat .lstl-journey__card{
  background:#fff;border:1px solid #EDE4C9;border-radius:14px;
  padding:1.15rem 1.35rem 1.2rem;
  box-shadow:0 18px 36px -24px rgba(4,9,66,.35);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .25s;
  position:relative;
}
.lstl-speedboat .lstl-journey__card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 48px -26px rgba(4,9,66,.5);
  border-color:var(--carib-gold);
}
/* Alternate sides — odd = left, even = right */
.lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__card{
  grid-column:1;grid-row:1;margin-right:.35rem;text-align:right;
}
.lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__card::after{
  content:"";position:absolute;top:50%;right:-9px;transform:translateY(-50%) rotate(45deg);
  width:16px;height:16px;background:#fff;border-right:1px solid #EDE4C9;border-top:1px solid #EDE4C9;
}
.lstl-speedboat .lstl-journey__stop:nth-child(even) .lstl-journey__card{
  grid-column:3;grid-row:1;margin-left:.35rem;
}
.lstl-speedboat .lstl-journey__stop:nth-child(even) .lstl-journey__card::after{
  content:"";position:absolute;top:50%;left:-9px;transform:translateY(-50%) rotate(-135deg);
  width:16px;height:16px;background:#fff;border-right:1px solid #EDE4C9;border-top:1px solid #EDE4C9;
}

.lstl-speedboat .lstl-journey__time{
  display:inline-flex;align-items:center;gap:.45rem;
  background:linear-gradient(135deg,var(--carib-gold),#FFD76A);
  color:var(--brand);font-family:"Courier New",monospace;font-size:.72rem;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:.28rem .65rem;border-radius:999px;margin-bottom:.55rem;
  box-shadow:0 4px 10px -4px rgba(236,190,53,.55);
}
.lstl-speedboat .lstl-journey__time .dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--carib-coral);
  box-shadow:0 0 0 3px rgba(255,107,74,.25);
}
.lstl-speedboat .lstl-journey__t{
  font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
  font-weight:800 !important;font-size:1.1rem !important;
  color:var(--brand) !important;letter-spacing:-.3px !important;
  margin:.1rem 0 .45rem !important;line-height:1.25 !important;
  display:flex;align-items:center;gap:.55rem;
}
.lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__t{justify-content:flex-end}
.lstl-speedboat .lstl-journey__t .emo{
  font-size:1.35rem;flex-shrink:0;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));
}
.lstl-speedboat .lstl-journey__d{
  font-family:"Noto Sans","M PLUS 1p",sans-serif !important;
  font-size:.92rem !important;line-height:1.55 !important;
  color:var(--ink-soft) !important;margin:0 !important;
}
.lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__time{align-self:flex-end;margin-left:auto;display:inline-flex}
/* Pull-quote finale */
.lstl-speedboat .lstl-journey__pullquote{
  margin:2.2rem auto 0;max-width:62ch;
  background:linear-gradient(135deg,#fff 0%,rgba(255,247,230,.9) 100%);
  border:1px solid #F2E4B8;border-left:5px solid var(--carib-coral);
  border-radius:14px;padding:1.1rem 1.4rem;position:relative;
  box-shadow:0 14px 34px -24px rgba(0,122,107,.3);
}
.lstl-speedboat .lstl-journey__pullquote::before{
  content:"“";position:absolute;top:-12px;left:14px;
  font-family:Georgia,serif;font-size:3.6rem;line-height:1;color:var(--carib-gold);
  text-shadow:0 2px 0 #fff;
}
.lstl-speedboat .lstl-journey__pullquote p{
  font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
  font-weight:700;font-size:1.02rem;color:var(--brand);margin:0;line-height:1.5;
  letter-spacing:-.2px;
}

/* Mobile — collapse to simple left-aligned vertical timeline */
@media (max-width:820px){
  .lstl-speedboat .lstl-journey__steps::before{left:28px;transform:none}
  .lstl-speedboat .lstl-journey__stop{grid-template-columns:56px 1fr;gap:.75rem;min-height:auto}
  .lstl-speedboat .lstl-journey__pin{grid-column:1;justify-self:start;width:46px;height:46px;font-size:.95rem}
  .lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__card,
  .lstl-speedboat .lstl-journey__stop:nth-child(even) .lstl-journey__card{
    grid-column:2;margin:0;text-align:left;
  }
  .lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__card::after,
  .lstl-speedboat .lstl-journey__stop:nth-child(even) .lstl-journey__card::after{display:none}
  .lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__t,
  .lstl-speedboat .lstl-journey__stop:nth-child(odd) .lstl-journey__time{
    justify-content:flex-start;align-self:flex-start;margin-left:0;
  }
  .lstl-speedboat .lstl-journey__route{font-size:.74rem;padding:.6rem .8rem}
}



/* =====================================================================
   ROUND 8 — revert: bounded hero + hide flag ribbon
   ===================================================================== */

/* Put the Elementor header back to its default static flow on this page */
body.page-id-1471 header.elementor-location-header{
  position:static !important;
  background:revert !important;
  box-shadow:revert !important;
  border-bottom:revert !important;
  z-index:auto !important;
}
body.page-id-1471 header.elementor-location-header > *,
body.page-id-1471 header.elementor-location-header .e-con,
body.page-id-1471 header.elementor-location-header .elementor-element{
  background-color:revert !important;
  background:revert !important;
}
/* Restore the native menu + logo colouring (no more forced white / drop-shadow) */
body.page-id-1471 header.elementor-location-header a,
body.page-id-1471 header.elementor-location-header .elementor-heading-title,
body.page-id-1471 header.elementor-location-header .elementor-nav-menu a,
body.page-id-1471 header.elementor-location-header .menu-item a{
  color:revert !important;
  text-shadow:none !important;
}
body.page-id-1471 header.elementor-location-header svg{filter:none !important}

/* Restore normal page-content spacing so the hero sits below the header */
body.page-id-1471 .page-content,
body.page-id-1471 main.site-main,
body.page-id-1471 .elementor,
body.page-id-1471 .entry-content{
  padding-top:revert !important;
  margin-top:revert !important;
}
body.page-id-1471 .site-main{padding:revert !important}

/* Return the hero to its bounded figure (no viewport-breakout, rounded corners,
   soft shadow, 16/9 aspect ratio) */
.lstl-speedboat .lstl-hero{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-top:0 !important;
  margin-bottom:2.5rem !important;
  width:100% !important;
  max-width:100% !important;
  border-radius:18px !important;
  aspect-ratio:16/9 !important;
  box-shadow:0 28px 60px -28px var(--shadow) !important;
}
/* Reset the inflated caption padding we added for the floating header */
.lstl-speedboat .lstl-hero .caption{padding-top:1.5rem !important}

/* Hide the "Saint Lucia · West Coast" flag ribbon */
.lstl-speedboat .lstl-hero__flag{display:none !important}



/* =====================================================================
   ROUND 9 — remove ALL animation + transition (fully static page)
   ===================================================================== */

/* 1) Nuke every animation and transition inside the scoped article body */
.lstl-speedboat,
.lstl-speedboat *,
.lstl-speedboat *::before,
.lstl-speedboat *::after{
  animation:none !important;
  animation-name:none !important;
  animation-duration:0s !important;
  animation-delay:0s !important;
  animation-iteration-count:1 !important;
  animation-play-state:paused !important;
  transition:none !important;
  transition-duration:0s !important;
  transition-delay:0s !important;
}

/* 2a) Hero slideshow — without its keyframes all 6 slides sit at opacity:0.
       Force only the first slide to show, so the hero renders as a single
       static photo. */
.lstl-speedboat .lstl-hero__slide{opacity:0 !important}
.lstl-speedboat .lstl-hero__slide:first-child{opacity:1 !important}
/* Kill the Ken Burns zoom — hold the image at its resting scale */
.lstl-speedboat .lstl-hero__slide img{
  transform:none !important;
  animation:none !important;
}

/* 2b) Gallery items — entrance-reveal animation is gone, so unhide them */
.lstl-speedboat .lstl-gallery__item{
  opacity:1 !important;
  transform:none !important;
}
/* 2c) Gallery captions — hover-only reveal is now always visible */
.lstl-speedboat .lstl-gallery__cap{
  opacity:1 !important;
  transform:none !important;
}

/* 3) Hide decorative pieces whose only purpose was motion */
.lstl-speedboat .lstl-hero__bubble,
.lstl-speedboat .lstl-hero__boat{display:none !important}

/* 4) Neutralise hover-only transforms (snappy jumps look worse than nothing) */
.lstl-speedboat .lstl-stat:hover,
.lstl-speedboat .lstl-am:hover,
.lstl-speedboat .lstl-incl:hover,
.lstl-speedboat .lstl-class:hover,
.lstl-speedboat .lstl-itin:hover,
.lstl-speedboat .lstl-cap:hover,
.lstl-speedboat .lstl-benefit:hover,
.lstl-speedboat .lstl-fit li:hover,
.lstl-speedboat .lstl-exp:hover,
.lstl-speedboat .lstl-journey__card:hover,
.lstl-speedboat .lstl-qchoice__btn:hover,
.lstl-speedboat .lstl-qchoice__btn:focus,
.lstl-speedboat .lstl-review:hover,
.lstl-speedboat .lstl-gallery__item:hover,
.lstl-speedboat .lstl-links li a:hover{
  transform:none !important;
}



/* =====================================================================
   ROUND 10 — full-width hero, CTA above the fold (keeps menu visible)
   ===================================================================== */

/* 1) Allow the hero to break out of the WP container */
.lstl-speedboat{overflow:visible}

/* 2) Full-width, height-capped hero */
.lstl-speedboat .lstl-hero{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  margin-top:0 !important;
  margin-bottom:2.5rem !important;
  width:100vw !important;
  max-width:100vw !important;
  /* Key line: cap the height so the CTA is always above the fold */
  height:min(72vh, 720px) !important;
  min-height:440px !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* 3) Caption — scales with viewport, anchored bottom so CTA stays visible */
.lstl-speedboat .lstl-hero .caption{
  padding:1.25rem clamp(1.1rem, 4vw, 4.5rem) 1.75rem !important;
  max-width:min(1100px, 92vw);
}
.lstl-speedboat .lstl-hero .caption h1{
  font-size:clamp(1.9rem, 4.2vw, 3.4rem) !important;
  line-height:1.14 !important;
  margin:.25rem 0 .55rem !important;
  letter-spacing:-.5px !important;
}
.lstl-speedboat .lstl-hero__eye{
  font-size:clamp(.68rem, .78vw, .78rem) !important;
  letter-spacing:.14em !important;
}
.lstl-speedboat .lstl-hero__sub{
  font-size:clamp(.95rem, 1.35vw, 1.1rem) !important;
  line-height:1.55 !important;
  max-width:52ch;
  margin:.2rem 0 .95rem !important;
}
.lstl-speedboat .lstl-hero__micro-cta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.6rem !important;
  margin-top:.55rem !important;
}
.lstl-speedboat .lstl-hero__btn{
  padding:.7rem 1.15rem !important;
  font-size:.95rem !important;
}

/* 4) Strengthen the dark gradient so text is legible over any hero photo */
.lstl-speedboat .lstl-hero .overlay{
  background:linear-gradient(
    180deg,
    rgba(4,9,66,.35) 0%,
    rgba(4,9,66,.12) 38%,
    rgba(4,9,66,.90) 100%
  ) !important;
}

/* 5) Mobile — keep the hero comfortably tall but never dominate */
@media (max-width:700px){
  .lstl-speedboat .lstl-hero{
    height:min(68vh, 560px) !important;
    min-height:380px !important;
  }
  .lstl-speedboat .lstl-hero .caption{padding-bottom:1.3rem !important}
  .lstl-speedboat .lstl-hero__btn{padding:.6rem 1rem !important;font-size:.9rem !important}
}

/* 6) Proof badge (bottom-centre trust bar) — nudge it up so it doesn't
      crash into the caption on shorter heroes */
.lstl-speedboat .lstl-hero__proof{bottom:auto !important;top:18px !important;left:auto !important;right:18px !important;transform:none !important}



/* =====================================================================
   ROUND 11 — fix mobile hero: proof badge overlapping H1
   ===================================================================== */

/* Desktop — slightly tighter + translucent, avoids covering big H1s */
.lstl-speedboat .lstl-hero__proof{
  padding:.45rem .75rem !important;
  font-size:.85rem !important;
  background:rgba(255,183,3,.92) !important;
  color:var(--brand) !important;
  border-radius:999px !important;
  backdrop-filter:blur(4px) saturate(1.05);
  -webkit-backdrop-filter:blur(4px) saturate(1.05);
  box-shadow:0 6px 18px -8px rgba(0,0,0,.35), 0 0 0 3px rgba(255,255,255,.55);
  z-index:3 !important;
}
.lstl-speedboat .lstl-hero__proof-stars{font-size:.95rem !important;letter-spacing:1.5px}
.lstl-speedboat .lstl-hero__proof-txt strong{font-size:1rem !important}

/* Tablet — shrink further so it doesn't crowd the H1 */
@media (max-width:900px){
  .lstl-speedboat .lstl-hero__proof{
    top:12px !important;right:12px !important;
    padding:.35rem .6rem !important;
    font-size:.78rem !important;
  }
  .lstl-speedboat .lstl-hero__proof-stars{font-size:.85rem !important}
  .lstl-speedboat .lstl-hero__proof-txt strong{font-size:.9rem !important}
}

/* Mobile — hide entirely: same "5.0 · 80 reviews" lives in the pills row
   directly below, so we avoid any overlap with the H1 title */
@media (max-width:700px){
  .lstl-speedboat .lstl-hero__proof{display:none !important}
}



/* =====================================================================
   ROUND 12 — mobile: restore proof badge, move it to top-centre
   ===================================================================== */

@media (max-width:700px){
  /* Undo the v11 hide — the badge is visible again */
  .lstl-speedboat .lstl-hero__proof{
    display:inline-flex !important;
    /* Reposition: top-centre of the hero, above the title area */
    top:14px !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    transform:translateX(-50%) !important;
    /* Sizing + fit */
    padding:.42rem .8rem !important;
    max-width:calc(100vw - 1.5rem) !important;
    white-space:nowrap;
    /* Legibility against any photo */
    background:rgba(255,183,3,.96) !important;
    color:var(--brand) !important;
    box-shadow:0 8px 22px -10px rgba(0,0,0,.5), 0 0 0 3px rgba(255,255,255,.6);
    z-index:5 !important;
  }
  .lstl-speedboat .lstl-hero__proof-stars{font-size:.9rem !important;letter-spacing:1.4px}
  .lstl-speedboat .lstl-hero__proof-txt{font-size:.82rem !important}
  .lstl-speedboat .lstl-hero__proof-txt strong{font-size:.92rem !important}
  .lstl-speedboat .lstl-hero__proof-txt em{font-size:.75rem !important}
}

/* Very small phones — scale slightly smaller so it still centres cleanly */
@media (max-width:380px){
  .lstl-speedboat .lstl-hero__proof{
    padding:.34rem .65rem !important;
  }
  .lstl-speedboat .lstl-hero__proof-stars{font-size:.8rem !important;letter-spacing:1.2px}
  .lstl-speedboat .lstl-hero__proof-txt{font-size:.74rem !important}
}



/* =====================================================================
   ROUND 13 — mobile polish: hero pills + fleet matrix + key facts
   ===================================================================== */

/* ---- 1. Hero pills — correct font + mobile tightening ---- */
.lstl-speedboat .lstl-hero-pill__num{
  font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
  letter-spacing:-.5px;font-weight:800;
}
.lstl-speedboat .lstl-hero-pill__lbl{
  font-family:"Noto Sans","M PLUS 1p",sans-serif !important;
}
@media (max-width:700px){
  .lstl-speedboat .lstl-hero-pills{
    grid-template-columns:repeat(2,1fr) !important;
    gap:.6rem !important;
    margin:-1.6rem auto 1.6rem !important;
    max-width:calc(100% - 1rem) !important;
  }
  .lstl-speedboat .lstl-hero-pill{
    padding:.75rem .8rem !important;
    min-height:72px;
    border-radius:12px !important;
  }
  .lstl-speedboat .lstl-hero-pill__num{font-size:1.2rem !important}
  .lstl-speedboat .lstl-hero-pill__unit{font-size:.8rem !important}
  .lstl-speedboat .lstl-hero-pill__lbl{
    font-size:.7rem !important;line-height:1.3;white-space:normal;
  }
}
@media (max-width:380px){
  .lstl-speedboat .lstl-hero-pill{padding:.6rem .7rem !important}
  .lstl-speedboat .lstl-hero-pill__num{font-size:1.1rem !important}
}

/* ---- 2. Fleet Matrix — stacked card layout on mobile ---- */
@media (max-width:780px){
  /* Kill the horizontal-scroll wrapper and min-width so nothing sideways-scrolls */
  .lstl-speedboat .lstl-fleetTable-wrap{
    overflow-x:visible !important;
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }
  .lstl-speedboat .lstl-fleetTable{
    min-width:0 !important;
    background:transparent !important;
    display:block;
  }
  .lstl-speedboat .lstl-fleetTable caption{
    border-radius:14px !important;
    margin-bottom:1rem !important;
    font-size:1rem !important;
    padding:.85rem 1rem !important;
  }
  .lstl-speedboat .lstl-fleetTable thead{display:none}
  .lstl-speedboat .lstl-fleetTable tbody,
  .lstl-speedboat .lstl-fleetTable tbody tr,
  .lstl-speedboat .lstl-fleetTable tbody td,
  .lstl-speedboat .lstl-fleetTable tbody th{display:block;width:100%}
  .lstl-speedboat .lstl-fleetTable tbody tr{
    background:#fff;
    border:1px solid var(--line);
    border-left:4px solid var(--carib-gold);
    border-radius:14px;
    padding:1rem 1.1rem 1.1rem;
    margin:0 0 .9rem;
    box-shadow:0 14px 28px -20px rgba(4,9,66,.28);
  }
  .lstl-speedboat .lstl-fleetTable tbody tr:hover{background:#fff !important}
  .lstl-speedboat .lstl-fleetTable tbody th{
    font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
    font-size:1.08rem !important;
    color:var(--brand) !important;
    padding:0 0 .6rem !important;
    border-top:none !important;
    border-bottom:1px dashed rgba(0,0,0,.08) !important;
    margin-bottom:.55rem !important;
    white-space:normal !important;
    letter-spacing:-.3px;
    line-height:1.25;
  }
  /* Each <td> becomes a flex row "LABEL -------- value" */
  .lstl-speedboat .lstl-fleetTable tbody td{
    display:flex !important;
    justify-content:space-between;
    align-items:flex-start;
    gap:.85rem !important;
    padding:.42rem 0 !important;
    border-top:none !important;
    font-size:.9rem !important;
    line-height:1.45;
    text-align:right;
  }
  .lstl-speedboat .lstl-fleetTable tbody td + td{
    border-top:1px dotted rgba(0,0,0,.06) !important;
  }
  /* Inject column labels via nth-of-type (no HTML change needed) */
  .lstl-speedboat .lstl-fleetTable tbody td::before{
    font-family:"Noto Sans",sans-serif !important;
    font-weight:800;
    font-size:.68rem;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--muted);
    flex-shrink:0;
    min-width:96px;
    text-align:left;
    padding-top:.1rem;
  }
  .lstl-speedboat .lstl-fleetTable tbody td:nth-of-type(1)::before{content:"Class"}
  .lstl-speedboat .lstl-fleetTable tbody td:nth-of-type(2)::before{content:"Capacity"}
  .lstl-speedboat .lstl-fleetTable tbody td:nth-of-type(3)::before{content:"Tour Style"}
  .lstl-speedboat .lstl-fleetTable tbody td:nth-of-type(4)::before{content:"Best For"}
  /* Tag chips render fine but right-align their pill within the flex row */
  .lstl-speedboat .lstl-fleetTable .tag,
  .lstl-speedboat .lstl-fleetTable .cap{align-self:flex-start}
}

/* ---- 3. Key Facts <dl> — stacked, readable on mobile ---- */
@media (max-width:700px){
  .lstl-speedboat .lstl-keyfacts{padding:1.15rem 1.2rem !important;border-radius:14px !important}
  .lstl-speedboat .lstl-keyfacts h3{font-size:1.1rem !important}
  .lstl-speedboat .lstl-keyfacts dl{
    display:block !important;
    grid-template-columns:none !important;
  }
  .lstl-speedboat .lstl-keyfacts dl > div{
    display:block !important;
    padding:.6rem 0 !important;
    border-bottom:1px dashed rgba(0,0,0,.08);
  }
  .lstl-speedboat .lstl-keyfacts dl > div:last-child{border-bottom:none}
  .lstl-speedboat .lstl-keyfacts dt{
    display:block !important;
    font-family:"Noto Sans",sans-serif !important;
    font-size:.7rem !important;
    font-weight:800 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    color:var(--carib-teal) !important;
    margin:0 0 .2rem !important;
  }
  .lstl-speedboat .lstl-keyfacts dd{
    display:block !important;
    margin:0 !important;
    font-size:.95rem !important;
    line-height:1.45 !important;
    color:var(--ink) !important;
  }
}



/* =====================================================================
   ROUND 14 — full-page mobile responsive sweep
   ===================================================================== */

/* A. Kill any horizontal overflow caused by the 100vw hero breakout */
.lstl-speedboat{overflow-x:hidden}
.lstl-speedboat img,
.lstl-speedboat svg,
.lstl-speedboat video{max-width:100%;height:auto}
/* Keep hero image filling its full-bleed container */
.lstl-speedboat .lstl-hero__slide img{height:100% !important}

/* B. Departure Board quick-choice */
@media (max-width:720px){
  .lstl-speedboat .lstl-qchoice{padding:1rem .9rem 1.1rem !important;border-radius:16px !important}
  .lstl-speedboat .lstl-qchoice__board{text-align:center;padding:.2rem 0 .85rem}
  .lstl-speedboat .lstl-qchoice__compass{display:none}
  .lstl-speedboat .lstl-qchoice__board-title{font-size:1.25rem !important;letter-spacing:-.3px}
  .lstl-speedboat .lstl-qchoice__board-kick,
  .lstl-speedboat .lstl-qchoice__board-coord{font-size:.72rem !important;letter-spacing:.1em}
  .lstl-speedboat .lstl-qchoice__grid{
    grid-template-columns:1fr !important;
    gap:.65rem !important;
  }
  .lstl-speedboat .lstl-qchoice__btn{padding:.9rem 1rem !important;border-radius:12px !important}
  .lstl-speedboat .lstl-qchoice__gate{
    width:38px !important;height:38px !important;font-size:1rem !important;
  }
  .lstl-speedboat .lstl-qchoice__kick{font-size:.66rem !important}
  .lstl-speedboat .lstl-qchoice__lbl{font-size:1.05rem !important}
  .lstl-speedboat .lstl-qchoice__hint{font-size:.78rem !important;line-height:1.4}
  .lstl-speedboat .lstl-qchoice__btn-foot .route{font-size:.68rem !important}
  .lstl-speedboat .lstl-qchoice__btn-foot .pill{font-size:.65rem !important;padding:.2rem .5rem !important}
  .lstl-speedboat .lstl-qchoice__marina{
    flex-direction:column;align-items:flex-start;gap:.25rem;
    padding-top:.85rem !important;font-size:.7rem !important;
  }
}

/* C. Yacht-card spec grid */
@media (max-width:720px){
  .lstl-speedboat .lstl-yacht-card{padding:1rem 1.1rem 1.15rem !important;border-radius:14px !important}
  .lstl-speedboat .lstl-yacht-card__grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.55rem !important;
  }
  .lstl-speedboat .lstl-spec{padding:.65rem .75rem !important}
  .lstl-speedboat .lstl-spec__icon{font-size:1.35rem !important}
  .lstl-speedboat .lstl-spec__label{font-size:.68rem !important;letter-spacing:.1em}
  .lstl-speedboat .lstl-spec__value{font-size:.92rem !important;line-height:1.35}
}

/* D. Include-wrap grid — single column on phones */
@media (max-width:620px){
  .lstl-speedboat .lstl-incl-wrap{padding:1.25rem 1.1rem 1.3rem !important;border-radius:16px !important}
  .lstl-speedboat .lstl-incl-wrap__title{font-size:1.35rem !important}
  .lstl-speedboat .lstl-incl-wrap__price-num{font-size:2.4rem !important}
  .lstl-speedboat .lstl-incl-wrap__grid{
    grid-template-columns:1fr !important;
    gap:.55rem !important;
  }
  .lstl-speedboat .lstl-incl{padding:.7rem .85rem !important;gap:.65rem !important}
  .lstl-speedboat .lstl-incl__icon{width:36px !important;height:36px !important;font-size:1.05rem !important}
  .lstl-speedboat .lstl-incl__title{font-size:.92rem !important}
  .lstl-speedboat .lstl-incl__desc{font-size:.8rem !important;line-height:1.4}
  .lstl-speedboat .lstl-incl__badge{font-size:.65rem !important;padding:.25rem .5rem !important}
  .lstl-speedboat .lstl-incl-wrap__loc{font-size:.7rem !important;padding:.3rem .65rem !important}
}

/* E. Reviews grid — had no mobile fallback */
@media (max-width:960px){
  .lstl-speedboat .lstl-reviews__grid{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:680px){
  .lstl-speedboat .lstl-reviews__grid{
    grid-template-columns:1fr !important;
    gap:.85rem !important;
  }
  .lstl-speedboat .lstl-review{padding:1.1rem 1.15rem .95rem !important;border-radius:14px !important}
  .lstl-speedboat .lstl-review__quote-mark{font-size:5rem !important;top:-14px !important}
  .lstl-speedboat .lstl-review__head{gap:.5rem !important}
  .lstl-speedboat .lstl-review__avatar{width:36px !important;height:36px !important;font-size:.82rem !important}
  .lstl-speedboat .lstl-review__name{font-size:.9rem !important}
  .lstl-speedboat .lstl-review__title{font-size:1.02rem !important;line-height:1.3}
  .lstl-speedboat .lstl-review__txt{font-size:.88rem !important;line-height:1.5}
  .lstl-speedboat .lstl-rev-summary{
    flex-direction:column;align-items:flex-start;gap:.6rem !important;
    padding:1rem 1.1rem !important;
  }
  .lstl-speedboat .lstl-rev-summary__num{font-size:2rem !important}
  .lstl-speedboat .lstl-rev-summary__txt{font-size:.85rem !important;min-width:auto !important}
}

/* F. Sentiment grid */
@media (max-width:640px){
  .lstl-speedboat .lstl-sentiment__grid{grid-template-columns:repeat(2,1fr) !important;gap:.55rem !important}
}
@media (max-width:400px){
  .lstl-speedboat .lstl-sentiment__grid{grid-template-columns:1fr !important}
}

/* G. BigCTA final conversion block */
@media (max-width:720px){
  .lstl-speedboat .lstl-bigcta{border-radius:16px !important;min-height:auto !important}
  .lstl-speedboat .lstl-bigcta .bc-inner{padding:1.5rem 1.2rem !important}
  .lstl-speedboat .lstl-bigcta .bc-copy h2{
    font-size:clamp(1.4rem, 5.5vw, 1.9rem) !important;
    line-height:1.15 !important;
  }
  .lstl-speedboat .lstl-bigcta .bc-copy p{font-size:.92rem !important;line-height:1.5}
  .lstl-speedboat .lstl-bigcta .bc-actions{
    flex-wrap:wrap !important;gap:.55rem !important;
  }
  .lstl-speedboat .lstl-bigcta .bc-btn{
    width:100%;justify-content:center;text-align:center;
    padding:.85rem 1rem !important;font-size:.95rem !important;
  }
  .lstl-speedboat .lstl-bigcta .bc-fine{font-size:.78rem !important;margin-top:.7rem !important}
  .lstl-speedboat .lstl-bigcta .bc-eye{font-size:.7rem !important;letter-spacing:.12em !important}
}

/* H. Ticketed section container */
@media (max-width:720px){
  .lstl-speedboat .lstl-ticketed{padding:1.3rem 1.1rem 1.4rem !important;border-radius:18px !important}
  .lstl-speedboat .lstl-ticketed h2{font-size:clamp(1.4rem, 5vw, 1.9rem) !important;line-height:1.18}
  .lstl-speedboat .lstl-ticketed__price-inline{
    display:inline-block !important;margin:.35rem 0 0 0 !important;
    font-size:.78rem !important;padding:.22rem .65rem !important;
  }
  .lstl-speedboat .lstl-ticketed__intro{font-size:.95rem !important;padding-left:.9rem !important}
  .lstl-speedboat .lstl-ticketed__cta{width:100%;justify-content:center;padding:.8rem 1rem !important}
}

/* I. Capacity ladder + experiences + links — mobile trims */
@media (max-width:640px){
  .lstl-speedboat .lstl-caps{grid-template-columns:1fr 1fr !important;gap:.55rem !important}
  .lstl-speedboat .lstl-cap{padding:.8rem .85rem !important}
  .lstl-speedboat .lstl-cap__n{font-size:1.35rem !important}
  .lstl-speedboat .lstl-cap__n .u{font-size:.65rem !important}
  .lstl-speedboat .lstl-cap__desc{font-size:.8rem !important;line-height:1.4}
}
@media (max-width:380px){
  .lstl-speedboat .lstl-caps{grid-template-columns:1fr !important}
}
@media (max-width:640px){
  .lstl-speedboat .lstl-exps{gap:.75rem !important}
  .lstl-speedboat .lstl-exp__hdr{padding:1rem 1.15rem 1rem !important}
  .lstl-speedboat .lstl-exp__title{font-size:1.12rem !important}
  .lstl-speedboat .lstl-exp__body{padding:1.1rem 1.15rem 1.15rem !important}
  .lstl-speedboat .lstl-exp__body p{font-size:.9rem !important}
  .lstl-speedboat .lstl-exp__meta-lbl{min-width:68px !important;font-size:.66rem !important}
  .lstl-speedboat .lstl-exp__meta-val{font-size:.8rem !important}
}
@media (max-width:640px){
  .lstl-speedboat .lstl-links{gap:.55rem !important}
  .lstl-speedboat .lstl-links li a{padding:.85rem 1rem !important;font-size:.92rem !important}
}

/* J. Global heading size cap for mobile — prevents 2rem+ headings overflowing */
@media (max-width:600px){
  .lstl-speedboat h2{font-size:clamp(1.4rem, 5.8vw, 1.85rem) !important;margin:2rem 0 .75rem !important}
  .lstl-speedboat h3{font-size:clamp(1.1rem, 4.4vw, 1.35rem) !important;margin:1.3rem 0 .5rem !important}
  .lstl-speedboat p,
  .lstl-speedboat li{font-size:.95rem}
  .lstl-speedboat .lead{font-size:1rem !important;padding-left:.9rem !important}
}

/* K. Journey timeline — already mobile-styled in base CSS @820px,
      but tighten further on small phones */
@media (max-width:480px){
  .lstl-speedboat .lstl-journey{padding-top:.5rem !important}
  .lstl-speedboat .lstl-journey__route{font-size:.68rem !important;padding:.5rem .7rem !important;flex-wrap:wrap}
  .lstl-speedboat .lstl-journey__card{padding:.9rem 1rem !important}
  .lstl-speedboat .lstl-journey__t{font-size:.98rem !important}
  .lstl-speedboat .lstl-journey__d{font-size:.85rem !important}
  .lstl-speedboat .lstl-journey__pin{width:40px !important;height:40px !important;font-size:.85rem !important}
}

/* L. Price split — tighter padding on phones */
@media (max-width:600px){
  .lstl-speedboat .lstl-priceSplit__card{padding:1.2rem 1.25rem 1.3rem !important;border-radius:14px !important}
  .lstl-speedboat .lstl-priceSplit__title{font-size:1.25rem !important}
  .lstl-speedboat .lstl-priceSplit__price .num{font-size:2.1rem !important}
  .lstl-speedboat .lstl-priceSplit__desc{font-size:.88rem !important}
  .lstl-speedboat .lstl-priceSplit__btn{width:100%;text-align:center;padding:.75rem 1rem !important}
}

/* M. FAQ — tighten so long questions don't cramp the +/- marker */
@media (max-width:520px){
  .lstl-speedboat .lstl-faq details{padding:.1rem .9rem !important}
  .lstl-speedboat .lstl-faq summary{font-size:.95rem !important;padding:.8rem 1.5rem .8rem 0 !important;line-height:1.3}
  .lstl-speedboat .lstl-faq details p{font-size:.9rem !important;line-height:1.5}
}



/* =====================================================================
   ROUND 15 — Fleet Matrix mobile redesign (class-coloured boat cards)
   ===================================================================== */
@media (max-width:780px){
  /* Wipe any horizontal-scroll container */
  .lstl-speedboat .lstl-fleetTable-wrap{
    overflow-x:visible !important;
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .lstl-speedboat .lstl-fleetTable{
    min-width:0 !important;
    width:100% !important;
    display:block !important;
    background:transparent !important;
  }
  .lstl-speedboat .lstl-fleetTable caption{
    display:block;
    background:linear-gradient(135deg,var(--brand) 0%,var(--brand-blue-deep) 100%) !important;
    color:#fff !important;
    font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
    font-weight:800 !important;
    font-size:1rem !important;
    padding:.9rem 1.1rem !important;
    border-radius:14px !important;
    margin:0 0 1rem !important;
  }
  .lstl-speedboat .lstl-fleetTable thead{display:none !important}
  .lstl-speedboat .lstl-fleetTable tbody{display:block !important}

  /* Each row becomes a boat card */
  .lstl-speedboat .lstl-fleetTable tbody tr{
    display:block !important;
    width:100% !important;
    background:#fff !important;
    border:1px solid var(--line) !important;
    border-left:6px solid var(--_fc, var(--carib-gold)) !important;
    border-radius:14px !important;
    padding:1rem 1.1rem 1.1rem !important;
    margin:0 0 .85rem !important;
    box-shadow:0 14px 30px -22px rgba(4,9,66,.3) !important;
    position:relative;
  }
  /* Left accent colour per class */
  .lstl-speedboat .lstl-fleet-row--lux{--_fc:var(--brand)}        /* navy */
  .lstl-speedboat .lstl-fleet-row--prem{--_fc:var(--carib-coral)} /* coral */
  .lstl-speedboat .lstl-fleet-row--std{--_fc:var(--carib-teal)}   /* teal */

  /* Boat name (th scope="row") as the card title */
  .lstl-speedboat .lstl-fleetTable tbody th{
    display:block !important;
    font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
    font-weight:800 !important;
    font-size:1.18rem !important;
    letter-spacing:-.3px !important;
    color:var(--brand) !important;
    line-height:1.2 !important;
    padding:0 0 .65rem !important;
    margin:0 0 .65rem !important;
    border-top:none !important;
    border-bottom:1px dashed rgba(0,0,0,.09) !important;
    white-space:normal !important;
    width:auto !important;
  }
  .lstl-speedboat .lstl-fleetTable tbody th em{
    display:inline-block !important;
    font-size:.78rem !important;
    font-weight:500 !important;
    color:var(--muted) !important;
    margin-left:.3rem !important;
    vertical-align:middle;
  }

  /* All TDs reset to block */
  .lstl-speedboat .lstl-fleetTable tbody td{
    display:flex !important;
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-start;
    gap:.9rem !important;
    width:100% !important;
    padding:.5rem 0 !important;
    border:none !important;
    border-top:1px dotted rgba(0,0,0,.08) !important;
    font-size:.9rem !important;
    line-height:1.45 !important;
    color:var(--ink) !important;
    text-align:right !important;
  }
  .lstl-speedboat .lstl-fleetTable tbody td:first-of-type{border-top:none !important;padding-top:.2rem !important}

  /* Label injected from data-label attribute */
  .lstl-speedboat .lstl-fleetTable tbody td::before{
    content:attr(data-label);
    display:inline-block;
    font-family:"Noto Sans",sans-serif !important;
    font-weight:800 !important;
    font-size:.7rem !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    color:var(--muted) !important;
    flex-shrink:0;
    min-width:86px;
    text-align:left !important;
    padding-top:.15rem;
  }

  /* Make the Class tag and Capacity chip visually prominent on the right side */
  .lstl-speedboat .lstl-fleetTable tbody td:first-of-type{font-size:0 !important;padding:.3rem 0 !important}
  .lstl-speedboat .lstl-fleetTable tbody td:first-of-type::before{font-size:.7rem !important}
  .lstl-speedboat .lstl-fleetTable .tag{
    font-size:.72rem !important;
    font-weight:800 !important;
    letter-spacing:.1em !important;
    padding:.32rem .7rem !important;
    border-radius:999px !important;
    color:#fff !important;
  }
  .lstl-speedboat .lstl-fleetTable .cap{
    font-family:"M PLUS 1p","Noto Sans",sans-serif !important;
    font-weight:800 !important;
    font-size:1.02rem !important;
    color:var(--brand-green) !important;
    letter-spacing:-.2px;
  }

  /* Tour style + Best for wrap nicely */
  .lstl-speedboat .lstl-fleetTable tbody td:nth-of-type(3),
  .lstl-speedboat .lstl-fleetTable tbody td:nth-of-type(4){
    color:var(--ink-soft) !important;
    font-size:.88rem !important;
    line-height:1.5 !important;
  }
}

/* Very narrow phones — tighten further + stack label above value */
@media (max-width:400px){
  .lstl-speedboat .lstl-fleetTable tbody td{
    flex-direction:column !important;
    align-items:flex-start !important;
    text-align:left !important;
    gap:.2rem !important;
  }
  .lstl-speedboat .lstl-fleetTable tbody td::before{min-width:0 !important}
  .lstl-speedboat .lstl-fleetTable tbody td:first-of-type::before{min-width:0 !important}
}



/* =====================================================================
   ROUND 16 — restore full-bleed hero + guarantee CTA above fold
   ===================================================================== */

/* 1) Undo v14's overflow clamp on .lstl-speedboat — it was clipping the
      hero's full-bleed breakout back to the content-area width */
.lstl-speedboat{overflow-x:visible !important}

/* 2) Put the horizontal-scroll clamp on the body instead, where it stops
      the scrollbar without containing the hero */
body.page-id-1471{overflow-x:clip}
@supports not (overflow-x:clip){
  body.page-id-1471{overflow-x:hidden}
}

/* 3) Reinforce the full-bleed hero rules so they beat any later overrides */
.lstl-speedboat .lstl-hero{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  width:100vw !important;
  max-width:100vw !important;
  height:min(68vh, 620px) !important;
  min-height:420px !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* 4) Ensure the caption + CTAs sit snug to the bottom of the hero so the
      buttons are always visible when the hero is in view */
.lstl-speedboat .lstl-hero .caption{
  position:absolute !important;
  left:0 !important;right:0 !important;bottom:0 !important;
  padding:1.25rem clamp(1.1rem, 4vw, 4rem) 1.75rem !important;
}
.lstl-speedboat .lstl-hero__micro-cta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.55rem !important;
  margin-top:.65rem !important;
}

/* 5) Mobile — a slightly shorter hero so both CTAs fit above the iPhone
      fold at 812px viewport height (common iPhone/Pixel sizes) */
@media (max-width:720px){
  .lstl-speedboat .lstl-hero{
    height:min(62vh, 520px) !important;
    min-height:380px !important;
  }
  .lstl-speedboat .lstl-hero .caption{padding:1.1rem 1.1rem 1.3rem !important}
  .lstl-speedboat .lstl-hero__btn{
    padding:.65rem 1rem !important;
    font-size:.9rem !important;
  }
}

/* 6) Very small phones (iPhone SE / ≤380) — even shorter so CTA is above fold */
@media (max-width:380px){
  .lstl-speedboat .lstl-hero{
    height:min(58vh, 460px) !important;
    min-height:340px !important;
  }
}

/* 7) Fail-safe — explicitly reset any ancestor overflow we don't control */
body.page-id-1471 .page-content,
body.page-id-1471 main.site-main,
body.page-id-1471 .entry-content,
body.page-id-1471 .elementor{overflow:visible !important}



/* =====================================================================
   ROUND 17 — fix hero caption: kill stray translateX that was hiding H1
   ===================================================================== */

/* Wipe all earlier caption positioning/transform quirks and redefine
   from scratch with proper centering. */
.lstl-speedboat .lstl-hero .caption{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:auto !important;
  bottom:0 !important;
  transform:none !important;
  width:auto !important;
  max-width:min(1100px, 96vw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:1.35rem clamp(1.1rem, 3.5vw, 3rem) 1.75rem !important;
  box-sizing:border-box !important;
  text-align:left !important;
}

/* Make sure the H1 itself is not being translated or clipped */
.lstl-speedboat .lstl-hero .caption h1{
  transform:none !important;
  margin:.25rem 0 .55rem !important;
  max-width:100% !important;
  text-align:left !important;
}
.lstl-speedboat .lstl-hero__sub{
  transform:none !important;
  max-width:min(52ch, 100%) !important;
}
.lstl-speedboat .lstl-hero__micro-cta{
  transform:none !important;
}

/* Mobile — slightly tighter padding to keep the caption inside the hero */
@media (max-width:720px){
  .lstl-speedboat .lstl-hero .caption{
    padding:1rem 1.1rem 1.4rem !important;
    max-width:96vw !important;
  }
  .lstl-speedboat .lstl-hero .caption h1{
    font-size:clamp(1.5rem, 6vw, 2.1rem) !important;
    line-height:1.18 !important;
    letter-spacing:-.4px !important;
  }
}



/* =====================================================================
   ROUND 18 — mobile hero fixes:
     (a) badge no longer overlaps H1
     (b) decorative waves no longer cut through the CTA button
   ===================================================================== */

/* Caption must sit above any decorative layer — fixes the wave z-index bug */
.lstl-speedboat .lstl-hero .caption{z-index:10 !important}
.lstl-speedboat .lstl-hero__micro-cta{position:relative;z-index:11}

@media (max-width:720px){
  /* 1) Kill the decorative waves SVG + Pitons silhouette on mobile — these
        were the ones rendering on top of the bottom CTA button. */
  .lstl-speedboat .lstl-hero__waves{display:none !important}
  .lstl-speedboat .lstl-hero__pitons{display:none !important}

  /* 2) Move proof badge to the TOP-RIGHT corner (dead zone outside the
        caption text lane). Overrides the v12 top-centre positioning. */
  .lstl-speedboat .lstl-hero__proof{
    top:10px !important;
    right:10px !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;         /* undo the translateX(-50%) from v12 */
    padding:.32rem .55rem !important;
    gap:.4rem !important;
    max-width:calc(100vw - 20px) !important;
    background:linear-gradient(135deg,#ffd76a 0%,#ffbe3d 100%) !important;
    border:1.5px solid #fff !important;
    box-shadow:0 6px 16px -6px rgba(0,0,0,.5) !important;
    border-radius:999px !important;
    z-index:12 !important;
    white-space:nowrap;
  }
  .lstl-speedboat .lstl-hero__proof-stars{font-size:.72rem !important;letter-spacing:1px !important}
  .lstl-speedboat .lstl-hero__proof-txt{font-size:.72rem !important;line-height:1.1 !important}
  .lstl-speedboat .lstl-hero__proof-txt strong{font-size:.82rem !important}
  /* The em says "·80 reviews" which duplicates on small screens — tighten it */
  .lstl-speedboat .lstl-hero__proof-txt em{font-size:.62rem !important;margin-top:0 !important}

  /* 3) Give the caption a touch more bottom padding now that waves are gone,
        so the CTA buttons don't touch the hero's bottom edge */
  .lstl-speedboat .lstl-hero .caption{padding-bottom:1.4rem !important}
}

/* Very narrow phones — simplify the badge text to one line + hide the
   duplicate "·80 reviews" em so it fits on iPhone SE width */
@media (max-width:420px){
  .lstl-speedboat .lstl-hero__proof-txt em{display:none !important}
  .lstl-speedboat .lstl-hero__proof{padding:.28rem .5rem !important}
  .lstl-speedboat .lstl-hero__proof-stars{font-size:.68rem !important}
  /* Remove the hero eyebrow on very narrow screens — it wraps to 2 lines and
     adds vertical pressure on the caption height */
  .lstl-speedboat .lstl-hero__eye{display:none !important}
}