body { font-family:'Aptos','Segoe UI',Arial,sans-serif; }
h1,h2,h3,h4,.ts-wordmark,.ts-code { font-family:'Aptos','Segoe UI',Arial,sans-serif; }
.ts-container { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.ts-top-strip { background:var(--ts-navy); color:#cfe9f4; font-size:.78rem; letter-spacing:.04em; }
.ts-top-strip__inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.ts-top-strip a { color:var(--ts-aqua); text-decoration:none; font-weight:700; }
.ts-top-strip__contacts { display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:flex-end; }
.ts-site-header { position:sticky; top:0; z-index:80; background:rgba(255,255,255,.94); backdrop-filter:blur(18px); border-bottom:1px solid rgba(7,26,44,.08); transition:.25s ease; }
.ts-site-header.is-scrolled { box-shadow:0 12px 32px rgba(7,26,44,.08); }
.ts-header-row { min-height:88px; display:grid; grid-template-columns:auto 1fr auto; gap:36px; align-items:center; }
.ts-wordmark { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--ts-navy); }
.ts-wordmark__mark { width:46px; height:46px; border-radius:15px; display:grid; place-items:center; background:var(--ts-aqua); color:var(--ts-navy); font-weight:800; letter-spacing:-.07em; transform:rotate(-4deg); }
.ts-wordmark strong,.ts-wordmark small { display:block; line-height:1; }
.ts-wordmark strong { font-size:1.2rem; }
.ts-wordmark small { margin-top:4px; font-size:.83rem; letter-spacing:.19em; text-transform:uppercase; }
.custom-logo-link img { max-height:58px; width:auto; display:block; }
.ts-primary-nav { justify-self:center; }
.ts-menu,.ts-footer-menu { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:28px; }
.ts-menu a { text-decoration:none; font-size:.92rem; font-weight:700; color:var(--ts-ink); position:relative; }
.ts-menu a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:3px; border-radius:3px; background:var(--ts-coral); transition:.2s ease; }
.ts-menu a:hover::after,.ts-menu .current-menu-item a::after { right:0; }
.ts-header-book,.ts-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 22px; border-radius:999px; text-decoration:none; font-weight:800; border:0; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.ts-header-book { background:var(--ts-navy); color:#fff; }
.ts-header-book:hover,.ts-button:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(7,26,44,.18); }
.ts-menu-toggle { display:none; width:44px; height:44px; border:0; background:transparent; padding:10px; }
.ts-menu-toggle span:not(.screen-reader-text) { display:block; height:2px; background:var(--ts-navy); margin:5px 0; }

.ts-hero { position:relative; overflow:hidden; background:var(--ts-sky); min-height:720px; display:flex; align-items:center; padding:84px 0; }
.ts-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 12%,rgba(51,230,207,.42),transparent 28%),radial-gradient(circle at 5% 90%,rgba(255,107,95,.24),transparent 25%); pointer-events:none; }
.ts-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; gap:78px; align-items:center; }
.ts-kicker { display:inline-flex; align-items:center; gap:10px; color:var(--aqua,#087f72); font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ts-kicker::before { content:""; width:28px; height:3px; background:currentColor; border-radius:4px; }
.ts-kicker--dark { color:#18766e; }
.ts-hero h1 { color:var(--ts-navy); font-size:clamp(3.4rem,7vw,6.7rem); line-height:.91; letter-spacing:-.065em; margin:22px 0 28px; max-width:780px; }
.ts-hero h1 em { color:var(--ts-coral); font-style:normal; }
.ts-hero-copy>p { font-size:1.16rem; color:#3f6074; max-width:680px; }
.ts-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin:32px 0; }
.ts-button--coral { background:var(--ts-coral); color:#fff; }
.ts-button--aqua { background:var(--ts-aqua); color:var(--ts-navy); }
.ts-text-link { text-decoration:none; font-weight:800; }
.ts-mini-trust { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.ts-mini-trust span { background:rgba(255,255,255,.75); border:1px solid rgba(7,26,44,.08); padding:10px 13px; border-radius:12px; font-size:.78rem; }
.ts-mini-trust b { color:var(--ts-coral); margin-right:5px; }
.ts-trip-card-wrap { position:relative; }
.ts-board-label { display:inline-block; background:var(--ts-sun); color:var(--ts-navy); font-weight:900; font-size:.76rem; letter-spacing:.17em; padding:10px 18px; border-radius:10px 10px 0 0; margin-left:28px; }
.ts-trip-card { background:var(--ts-navy); color:#fff; border-radius:28px; padding:30px; box-shadow:0 38px 90px rgba(7,26,44,.28); transform:rotate(2deg); }
.ts-trip-card__top { display:flex; justify-content:space-between; font-size:.7rem; letter-spacing:.14em; color:#9fc0d2; border-bottom:1px dashed rgba(255,255,255,.2); padding-bottom:18px; }
.ts-trip-card__top span:last-child { color:var(--ts-aqua); }
.ts-trip-route { display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:center; padding:36px 0; }
.ts-trip-route>div:last-child { text-align:right; }
.ts-trip-route small,.ts-trip-meta small { display:block; color:#8dafc2; font-size:.64rem; letter-spacing:.13em; }
.ts-trip-route strong { display:block; font-size:3.4rem; line-height:1; color:#fff; }
.ts-trip-route div>span { color:#bfd7e2; font-size:.8rem; }
.ts-trip-line { display:flex; align-items:center; color:var(--ts-aqua); }
.ts-trip-line i { width:28px; border-top:2px dashed var(--ts-aqua); }
.ts-trip-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; background:rgba(255,255,255,.07); border-radius:18px; padding:16px; }
.ts-trip-meta b { display:block; margin-top:4px; font-size:.85rem; }
.ts-trip-card>a { display:flex; justify-content:space-between; text-decoration:none; color:var(--ts-aqua); margin-top:24px; font-weight:800; }
.ts-route-map { position:absolute; inset:0; pointer-events:none; opacity:.55; }
.ts-route-map .route { position:absolute; display:block; border:3px dashed rgba(7,26,44,.16); border-radius:50%; }
.route-a { width:620px; height:250px; right:-80px; top:30px; transform:rotate(14deg); }
.route-b { width:430px; height:650px; left:-220px; top:50px; transform:rotate(-24deg); }
.route-c { width:380px; height:200px; right:280px; bottom:-80px; }
.ts-route-map .pin { position:absolute; width:16px; height:16px; background:var(--ts-coral); border:4px solid white; border-radius:50%; box-shadow:0 0 0 6px rgba(255,107,95,.18); }
.pin-a{right:8%;top:18%}.pin-b{right:34%;bottom:13%}.pin-c{left:8%;top:42%}.pin-d{left:44%;top:13%}
.ts-marquee { overflow:hidden; background:var(--ts-aqua); color:var(--ts-navy); padding:16px 0; font-family:'Aptos','Segoe UI',Arial,sans-serif; font-weight:800; letter-spacing:.1em; white-space:nowrap; }
.ts-marquee div { width:max-content; animation:ts-marquee 26s linear infinite; }
.ts-marquee span { color:var(--ts-coral); margin:0 26px; }
@keyframes ts-marquee { to { transform:translateX(-50%); } }

.ts-section { padding:110px 0; }
.ts-section-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:end; margin-bottom:50px; }
.ts-section-heading h2,.ts-how h2,.ts-fleet h2,.ts-booking-preview h2 { font-size:clamp(2.35rem,4.7vw,4.6rem); line-height:1; letter-spacing:-.055em; margin:18px 0; }
.ts-section-heading p { color:var(--ts-muted); font-size:1.08rem; }
.ts-destination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ts-destination-card { min-height:390px; padding:24px; border-radius:var(--ts-radius); display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; border:1px solid rgba(7,26,44,.08); box-shadow:0 12px 34px rgba(7,26,44,.06); transition:.25s ease; }
.ts-destination-card:hover { transform:translateY(-7px); box-shadow:var(--ts-shadow); }
.ts-destination-card::after { content:""; position:absolute; width:170px; height:170px; border:2px dashed currentColor; border-radius:50%; right:-70px; top:-70px; opacity:.18; }
.ts-code { font-size:4.7rem; font-weight:800; letter-spacing:-.08em; opacity:.18; }
.ts-destination-card small { font-weight:900; letter-spacing:.15em; }
.ts-destination-card h3 { font-size:1.55rem; margin:8px 0; }
.ts-destination-card p { opacity:.82; }
.ts-destination-card a { font-weight:900; text-decoration:none; }
.card-lax{background:#071a2c;color:#fff}.card-lgb{background:#33e6cf}.card-sna{background:#ffd166}.card-cruise{background:#ff7a70;color:#fff}.card-dlr{background:#eaf8ff}.card-custom{background:#f5f1ff}

.ts-how { background:var(--ts-navy); color:#fff; position:relative; overflow:hidden; }
.ts-how::before { content:""; position:absolute; width:540px; height:540px; border:2px dashed rgba(51,230,207,.25); border-radius:50%; left:-220px; bottom:-240px; }
.ts-how-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; position:relative; }
.ts-how-copy p { color:#b7cfdb; font-size:1.08rem; margin-bottom:30px; }
.ts-step-stack { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.ts-step-stack li { display:grid; grid-template-columns:72px 1fr; gap:20px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); border-radius:22px; padding:24px; }
.ts-step-stack>li>span { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:var(--ts-aqua); color:var(--ts-navy); font-family:'Aptos','Segoe UI',Arial,sans-serif; font-weight:900; }
.ts-step-stack h3 { margin:0 0 5px; font-size:1.25rem; }
.ts-step-stack p { margin:0; color:#a9c2ce; }

.ts-fleet { background:#fff; }
.ts-fleet-panel { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:38px; background:#f0fbff; min-height:520px; box-shadow:var(--ts-shadow); }
.ts-fleet-art { position:relative; background:linear-gradient(180deg,#5ee6dc 0 65%,#142b3e 65%); overflow:hidden; }
.ts-fleet-art::before { content:""; position:absolute; width:190px; height:190px; background:var(--ts-sun); border-radius:50%; top:62px; left:70px; box-shadow:0 0 0 18px rgba(255,255,255,.22); }
.ts-road { position:absolute; left:0; right:0; bottom:0; height:35%; background:#142b3e; }
.ts-road::after { content:""; position:absolute; left:0; right:0; top:50%; border-top:7px dashed rgba(255,255,255,.62); }
.ts-van { position:absolute; width:270px; height:118px; background:#fff; border-radius:38px 52px 20px 20px; left:67%; bottom:104px; transform:translateX(-50%); box-shadow:0 24px 30px rgba(7,26,44,.22); }
.ts-van::before { content:""; position:absolute; width:92px; height:54px; right:22px; top:17px; background:#9adce8; border-radius:8px 26px 8px 8px; }
.ts-van span { position:absolute; width:70px; height:50px; left:28px; top:18px; background:#bdeaf0; border-radius:10px; box-shadow:78px 0 0 #bdeaf0; }
.ts-van i,.ts-van b { position:absolute; width:46px; height:46px; border-radius:50%; background:var(--ts-navy); bottom:-22px; border:8px solid #e9f6fb; }
.ts-van i{left:34px}.ts-van b{right:38px}.ts-van em{position:absolute;width:34px;height:13px;background:var(--ts-coral);right:0;top:68px;border-radius:10px 0 0 10px}

.ts-suv { position:absolute; width:210px; height:88px; background:var(--ts-sun); border-radius:34px 46px 18px 18px; left:27%; bottom:102px; transform:translateX(-50%); box-shadow:0 22px 28px rgba(7,26,44,.2); z-index:2; }
.ts-suv::before { content:""; position:absolute; width:112px; height:46px; left:42px; top:-18px; background:var(--ts-sun); border-radius:28px 34px 4px 4px; }
.ts-suv span { position:absolute; width:47px; height:34px; left:50px; top:-10px; background:#8fd2df; border-radius:12px 4px 4px 4px; box-shadow:52px 0 0 #8fd2df; z-index:2; }
.ts-suv i,.ts-suv b { position:absolute; width:42px; height:42px; border-radius:50%; background:var(--ts-navy); bottom:-20px; border:8px solid #e9f6fb; }
.ts-suv i{left:28px}.ts-suv b{right:28px}.ts-suv em{position:absolute;width:30px;height:12px;background:var(--ts-coral);right:0;top:49px;border-radius:10px 0 0 10px}

.ts-fleet-copy { padding:70px; display:flex; flex-direction:column; justify-content:center; }
.ts-fleet-copy p { color:var(--ts-muted); font-size:1.08rem; }
.ts-fleet-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.ts-fleet-options>div{padding:18px;border:1px solid var(--ts-line);border-radius:18px;background:#fff}.ts-fleet-options strong,.ts-fleet-options span,.ts-fleet-options small{display:block}.ts-fleet-options strong{font-size:1.12rem;color:var(--ts-navy)}.ts-fleet-options span{margin-top:4px;font-weight:900;color:#16786f}.ts-fleet-options small{margin-top:8px;color:var(--ts-muted);line-height:1.45}
.ts-booking-preview { padding-top:20px; }
.ts-booking-preview__inner { background:var(--ts-sun); border-radius:36px; padding:68px; display:flex; justify-content:space-between; gap:50px; align-items:end; position:relative; overflow:hidden; }
.ts-booking-preview__inner::after { content:""; position:absolute; width:300px; height:300px; border:3px dashed rgba(7,26,44,.15); border-radius:50%; right:-120px; top:-140px; }
.ts-booking-preview p { max-width:650px; }
.ts-booking-preview__actions { min-width:240px; display:grid; gap:16px; position:relative; z-index:2; }
.ts-call-link { text-align:center; font-weight:800; text-decoration:none; }

.ts-page-hero { background:var(--ts-navy); color:#fff; padding:90px 0; position:relative; overflow:hidden; }
.ts-page-hero::after { content:""; position:absolute; width:400px; height:400px; border:3px dashed rgba(51,230,207,.3); border-radius:50%; right:-110px; top:-250px; }
.ts-page-hero h1 { font-size:clamp(3rem,7vw,6rem); line-height:.95; letter-spacing:-.06em; margin:18px 0 0; }
.ts-page-content { padding:70px 0 110px; }
.ts-content-narrow { max-width:980px; }
.ts-page-content h2 { font-size:2.4rem; letter-spacing:-.04em; }
.ts-post-card { padding:28px 0; border-bottom:1px solid var(--ts-line); }

.ts-site-footer { background:#061522; color:#c4d8e2; padding:80px 0 110px; }
.ts-footer-grid { display:grid; grid-template-columns:1.1fr .9fr .8fr; gap:70px; }
.ts-wordmark--footer { color:#fff; }
.ts-footer-grid p { max-width:430px; }
.ts-footer-grid h2 { color:#fff; font-size:1rem; text-transform:uppercase; letter-spacing:.13em; }
.ts-footer-grid ul { list-style:none; padding:0; line-height:2; }
.ts-footer-contact { display:grid; gap:5px; margin:0 0 20px; }
.ts-footer-contact a { color:var(--ts-aqua); text-decoration:none; font-weight:800; overflow-wrap:anywhere; }
.ts-footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:55px; padding-top:24px; display:flex; justify-content:space-between; gap:30px; font-size:.82rem; }
.ts-footer-menu a { color:#c4d8e2; text-decoration:none; }
.ts-sticky-footer { display:none; }

@media (max-width:1024px) {
  body { padding-bottom:80px; }
  .ts-container { width:min(100% - 34px,900px); }
  .ts-header-row { grid-template-columns:auto auto 1fr; min-height:78px; }
  .ts-menu-toggle { display:block; justify-self:end; order:2; }
  .ts-primary-nav { position:fixed; top:112px; left:18px; right:18px; background:#fff; padding:20px; border-radius:22px; box-shadow:var(--ts-shadow); opacity:0; pointer-events:none; transform:translateY(-12px); transition:.2s ease; }
  .ts-primary-nav.is-open { opacity:1; pointer-events:auto; transform:none; }
  .ts-menu { display:grid; gap:8px; }
  .ts-menu a { display:block; padding:12px; background:#f3f9fb; border-radius:12px; }
  .ts-header-book { justify-self:end; order:3; }
  .ts-hero-grid,.ts-how-grid,.ts-fleet-panel { grid-template-columns:1fr; }
  .ts-trip-card-wrap { max-width:620px; }
  .ts-section-heading { grid-template-columns:1fr; gap:15px; }
  .ts-destination-grid { grid-template-columns:repeat(2,1fr); }
  .ts-fleet-art { min-height:480px; }
  .ts-footer-grid { grid-template-columns:1fr 1fr; }
  .ts-footer-grid>div:first-child { grid-column:1/-1; }
  .ts-sticky-footer { position:fixed; display:grid; grid-template-columns:repeat(4,1fr); left:12px; right:12px; bottom:10px; z-index:100; background:rgba(7,26,44,.95); backdrop-filter:blur(16px); border-radius:22px; padding:8px; box-shadow:0 18px 50px rgba(7,26,44,.35); }
  .ts-sticky-footer a { min-height:58px; display:grid; place-items:center; align-content:center; gap:2px; color:#d7ebf3; text-decoration:none; border-radius:16px; font-size:1.1rem; }
  .ts-sticky-footer a.is-primary { background:var(--ts-coral); color:#fff; }
  .ts-sticky-footer small { font-size:.66rem; font-weight:800; }
}

@media (max-width:680px) {
  .ts-top-strip__inner span { display:none; }
  .ts-top-strip__inner { justify-content:center; }
  .ts-top-strip__contacts { justify-content:center; gap:12px; font-size:.72rem; }
  .ts-header-row { grid-template-columns:1fr auto; gap:10px; }
  .ts-header-book { display:none; }
  .ts-menu-toggle { order:initial; }
  .ts-primary-nav { top:108px; }
  .ts-hero { padding:64px 0 72px; min-height:auto; }
  .ts-hero-grid { gap:46px; }
  .ts-hero h1 { font-size:3.35rem; }
  .ts-trip-card { padding:22px; border-radius:22px; transform:none; }
  .ts-trip-route strong { font-size:2.4rem; }
  .ts-trip-route { gap:8px; }
  .ts-trip-line i { width:14px; }
  .ts-trip-meta { grid-template-columns:1fr; }
  .ts-mini-trust { display:grid; }
  .ts-section { padding:75px 0; }
  .ts-destination-grid { grid-template-columns:1fr; }
  .ts-destination-card { min-height:340px; }
  .ts-how-grid { gap:45px; }
  .ts-step-stack li { grid-template-columns:52px 1fr; padding:18px; }
  .ts-step-stack>li>span { width:46px; height:46px; border-radius:14px; }
  .ts-fleet-art { min-height:360px; }
  .ts-van { left:68%; transform:translateX(-50%) scale(.8); }
  .ts-suv { left:28%; transform:translateX(-50%) scale(.82); }
  .ts-fleet-copy { padding:42px 26px; }
  .ts-booking-preview__inner { padding:42px 26px; display:block; }
  .ts-booking-preview__actions { margin-top:30px; }
  .ts-footer-grid { grid-template-columns:1fr; gap:35px; }
  .ts-footer-grid>div:first-child { grid-column:auto; }
  .ts-footer-bottom { display:grid; }
  .ts-footer-menu { flex-wrap:wrap; gap:14px; }
}

@media(max-width:600px){.ts-fleet-options{grid-template-columns:1fr}}

/* Photographic Destinations page */
.ts-page-hero--destinations { padding:108px 0 112px; background:linear-gradient(125deg,#061522 0%,#0b3651 58%,#0f5d68 100%); }
.ts-page-hero--destinations .ts-container { position:relative; z-index:2; }
.ts-page-hero--destinations h1 { max-width:980px; }
.ts-page-hero--destinations p { max-width:760px; margin:24px 0 0; color:#c6e1ea; font-size:1.16rem; }
.ts-page-content--destinations { padding-top:0; }
.ts-photo-destination-guide { padding-top:88px; }
.ts-destination-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.45fr); column-gap:70px; align-items:end; padding-bottom:56px; }
.ts-destination-intro .ts-kicker { grid-column:1/-1; }
.ts-destination-intro h2 { max-width:790px; margin:14px 0 14px; font-size:clamp(2.55rem,5.5vw,5rem); line-height:.98; color:var(--ts-navy); }
.ts-destination-intro>p { margin:0; color:var(--ts-muted); font-size:1.08rem; }
.ts-destination-intro__actions { display:flex; align-items:center; gap:22px; justify-content:flex-end; padding-bottom:8px; }
.ts-destination-phone { font-weight:900; color:var(--ts-navy); text-decoration:none; white-space:nowrap; }
.ts-photo-destination-list { display:grid; gap:72px; }
.ts-photo-destination { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); min-height:560px; background:#f5fafc; border:1px solid rgba(7,26,44,.08); border-radius:34px; overflow:hidden; box-shadow:0 20px 55px rgba(7,26,44,.09); }
.ts-photo-destination--reverse { grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr); }
.ts-photo-destination--reverse .ts-photo-destination__media { order:2; }
.ts-photo-destination__media { position:relative; margin:0; min-height:100%; overflow:hidden; background:#d9e9ef; }
.ts-photo-destination__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(4,20,33,.7)); pointer-events:none; }
.ts-photo-destination__media img { width:100%; height:100%; min-height:560px; object-fit:cover; display:block; transition:transform .5s ease; }
.ts-photo-destination:hover .ts-photo-destination__media img { transform:scale(1.025); }
.ts-photo-destination__media figcaption { position:absolute; z-index:2; left:28px; right:28px; bottom:26px; display:flex; align-items:center; gap:14px; color:#fff; font-weight:900; text-transform:uppercase; letter-spacing:.09em; font-size:.76rem; }
.ts-photo-destination__media figcaption span { min-width:62px; height:62px; display:grid; place-items:center; border-radius:18px; background:var(--ts-aqua); color:var(--ts-navy); font-size:1.05rem; letter-spacing:.04em; box-shadow:0 12px 30px rgba(0,0,0,.22); }
.ts-photo-destination__content { position:relative; display:flex; flex-direction:column; justify-content:center; padding:58px; }
.ts-photo-destination__number { position:absolute; right:32px; top:23px; color:rgba(7,26,44,.1); font-size:4.4rem; line-height:1; font-weight:900; }
.ts-photo-destination__eyebrow { margin:0 0 12px; color:#11776f; font-weight:900; text-transform:uppercase; letter-spacing:.11em; font-size:.76rem; }
.ts-photo-destination__content h3 { max-width:560px; margin:0 0 18px; color:var(--ts-navy); font-size:clamp(2rem,3vw,3.15rem); line-height:1.03; letter-spacing:-.045em; }
.ts-photo-destination__content>p { margin:0; color:var(--ts-muted); font-size:1.04rem; }
.ts-photo-destination__planning { margin-top:25px; padding:18px 20px; background:#fff; border-left:5px solid var(--ts-coral); border-radius:0 16px 16px 0; }
.ts-photo-destination__planning strong { display:block; margin-bottom:3px; color:var(--ts-navy); }
.ts-photo-destination__planning p { margin:0; color:var(--ts-muted); font-size:.93rem; }
.ts-photo-destination__routes { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:24px 0 0; padding:0; }
.ts-photo-destination__routes li { padding:7px 11px; border:1px solid #c9e1e9; border-radius:999px; background:#edf8fb; color:#31596a; font-size:.78rem; font-weight:800; }
.ts-text-link--destination { margin-top:25px; align-self:flex-start; color:var(--ts-navy); }
.ts-destination-cta { display:flex; align-items:center; justify-content:space-between; gap:50px; margin-top:78px; padding:50px 54px; border-radius:32px; background:var(--ts-navy); color:#fff; overflow:hidden; position:relative; }
.ts-destination-cta::after { content:""; position:absolute; width:260px; height:260px; border:2px dashed rgba(51,230,207,.33); border-radius:50%; right:-80px; top:-120px; }
.ts-destination-cta>div,.ts-destination-cta>a { position:relative; z-index:2; }
.ts-destination-cta h2 { max-width:760px; margin:14px 0 12px; color:#fff; font-size:clamp(2rem,4vw,3.6rem); line-height:1.04; }
.ts-destination-cta p { max-width:760px; margin:0; color:#bdd4df; }
.ts-destination-extra-content { margin-top:72px; }

@media (max-width:1024px) {
  .ts-destination-intro { grid-template-columns:1fr; }
  .ts-destination-intro__actions { justify-content:flex-start; margin-top:26px; }
  .ts-photo-destination,.ts-photo-destination--reverse { grid-template-columns:1fr; }
  .ts-photo-destination--reverse .ts-photo-destination__media { order:0; }
  .ts-photo-destination__media,.ts-photo-destination__media img { min-height:440px; }
  .ts-photo-destination__content { padding:48px; }
}

@media (max-width:680px) {
  .ts-page-hero--destinations { padding:76px 0 80px; }
  .ts-page-hero--destinations h1 { font-size:3.15rem; }
  .ts-photo-destination-guide { padding-top:60px; }
  .ts-destination-intro__actions { align-items:flex-start; flex-direction:column; gap:14px; }
  .ts-photo-destination-list { gap:38px; }
  .ts-photo-destination { border-radius:24px; }
  .ts-photo-destination__media,.ts-photo-destination__media img { min-height:310px; }
  .ts-photo-destination__media figcaption { left:18px; right:18px; bottom:17px; }
  .ts-photo-destination__media figcaption span { min-width:52px; height:52px; border-radius:15px; }
  .ts-photo-destination__content { padding:38px 24px 34px; }
  .ts-photo-destination__number { right:20px; top:17px; font-size:3.4rem; }
  .ts-photo-destination__content h3 { font-size:2.25rem; }
  .ts-destination-cta { display:block; margin-top:48px; padding:38px 26px; }
  .ts-destination-cta .ts-btn { display:inline-flex; margin-top:26px; }
}


/* About page */
.ts-page-hero--about { background:linear-gradient(122deg,#071a2c 0%,#0d3550 62%,#126d72 100%); padding:108px 0 112px; }
.ts-page-hero--about .ts-container { position:relative; z-index:2; }
.ts-page-hero--about h1 { max-width:920px; }
.ts-about-hero-line { display:inline-block; margin-top:26px; padding:10px 16px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:#d8f7f4; font-weight:800; }
.ts-page-content--about { background:linear-gradient(180deg,#fff 0%,#f5fbfd 100%); }
.ts-about-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr); gap:64px; align-items:start; }
.ts-about-story { max-width:790px; }
.ts-about-story h2 { margin:16px 0 30px; font-size:clamp(2.35rem,5vw,4.6rem); line-height:1.02; letter-spacing:-.055em; color:var(--ts-navy); }
.ts-about-story p { margin:0 0 24px; color:#334f63; font-size:1.1rem; line-height:1.85; }
.ts-about-story p:first-of-type { font-size:1.2rem; color:var(--ts-ink); }
.ts-about-panel { position:sticky; top:130px; display:grid; gap:15px; padding:34px; border-radius:28px; background:var(--ts-navy); color:#fff; box-shadow:var(--ts-shadow); }
.ts-about-panel::before { content:""; width:72px; height:5px; border-radius:999px; background:var(--ts-coral); }
.ts-about-panel__label { color:var(--ts-aqua); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:900; }
.ts-about-panel strong { font-size:1.15rem; line-height:1.35; }
.ts-about-panel > span:not(.ts-about-panel__label) { color:#bfd4df; line-height:1.6; }
.ts-about-panel .ts-btn { margin-top:8px; text-align:center; }
.ts-about-panel__contact { color:#fff; text-decoration:none; font-weight:800; overflow-wrap:anywhere; }
.ts-about-panel__contact:hover { color:var(--ts-aqua); }
.ts-about-extra-content { margin-top:64px; padding-top:50px; border-top:1px solid var(--ts-line); }

@media (max-width:900px) {
  .ts-about-layout { grid-template-columns:1fr; gap:42px; }
  .ts-about-panel { position:static; }
}

@media (max-width:620px) {
  .ts-page-hero--about { padding:74px 0 78px; }
  .ts-about-story h2 { font-size:2.55rem; }
  .ts-about-story p { font-size:1.03rem; }
  .ts-about-panel { padding:26px; }
}


/* ========================================================================
   Traveler Shuttles v1.4.0 — supplied About-page reference implementation
   ======================================================================== */

.ts-top-strip__inner {
  min-height: 34px;
}

.ts-top-strip__contacts {
  order: 1;
  justify-content: flex-start;
}

.ts-top-strip__tagline {
  order: 2;
  margin-left: auto;
  color: #fff;
  font-weight: 700;
}

.ts-bundled-logo,
.ts-footer-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.ts-bundled-logo img {
  display: block;
  width: 213px;
  max-width: 100%;
  height: auto;
}

.ts-header-row {
  min-height: 90px;
}

.ts-header-book {
  min-height: 48px;
  padding-inline: 24px;
  border-radius: 8px;
  background: #ff7a2f;
  color: #fff;
  text-transform: uppercase;
  font-size: .82rem;
  letter-spacing: .01em;
}

.ts-header-book:hover {
  background: #ee681e;
}

.ts-page-hero--about-reference {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 236px;
  padding: 46px 0;
  background-image:
    linear-gradient(90deg, rgba(3, 38, 69, .94) 0%, rgba(3, 38, 69, .72) 43%, rgba(3, 38, 69, .12) 100%),
    url("../images/about/about-socal-hero.jpg");
  background-position: center;
  background-size: cover;
  color: #fff;
}

.ts-page-hero--about-reference::after {
  display: none;
}

.ts-page-hero--about-reference .ts-container {
  position: relative;
  z-index: 2;
}

.ts-page-hero--about-reference h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(2.75rem, 5.8vw, 4.85rem);
  line-height: 1;
  letter-spacing: -.035em;
  color: #fff;
}

.ts-page-hero--about-reference p {
  max-width: 560px;
  margin: 20px 0 0;
  color: #fff;
  font-size: clamp(1.02rem, 2.1vw, 1.42rem);
  line-height: 1.5;
}

.ts-page-content--about-reference {
  padding: 62px 0 38px;
  background: #fff;
}

.ts-about-reference-layout {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
  gap: 68px;
  align-items: start;
}

.ts-about-reference-copy {
  max-width: 610px;
}

.ts-about-reference-copy p {
  margin: 0 0 24px;
  color: #1b2937;
  font-size: 1.02rem;
  line-height: 1.62;
}

.ts-about-reference-copy .ts-about-lead strong {
  color: #092d51;
}

.ts-about-reference-photo {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(3, 38, 69, .12);
  background: #e7f4fb;
}

.ts-about-reference-photo img {
  display: block;
  width: 100%;
  min-height: 580px;
  height: 100%;
  object-fit: cover;
}

.ts-about-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 54px;
  padding: 26px 34px;
  border-radius: 18px;
  background: linear-gradient(96deg, #032846 0%, #053b68 100%);
  color: #fff;
  box-shadow: 0 20px 44px rgba(3, 38, 69, .16);
}

.ts-about-trust__item {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.ts-about-trust__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
}

.ts-about-trust__item strong,
.ts-about-trust__item small {
  display: block;
}

.ts-about-trust__item strong {
  margin-bottom: 4px;
  font-size: .98rem;
  line-height: 1.2;
  color: #fff;
}

.ts-about-trust__item small {
  color: #d9e8f3;
  font-size: .78rem;
  line-height: 1.45;
}

.ts-site-footer {
  padding: 54px 0 28px;
  background: linear-gradient(100deg, #032746 0%, #073b65 100%);
}

.ts-footer-grid--reference {
  grid-template-columns: 1.18fr .78fr 1fr 1fr;
  gap: 46px;
}

.ts-footer-logo img {
  display: block;
  width: 213px;
  max-width: 100%;
  height: auto;
}

.ts-footer-brand p {
  max-width: 285px;
  margin: 20px 0 0;
  color: #ecf5fa;
  line-height: 1.7;
}

.ts-footer-grid h2 {
  margin: 0 0 18px;
  color: #fff;
  font-size: .9rem;
  letter-spacing: .02em;
}

.ts-footer-links {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1.45;
}

.ts-footer-links a {
  color: #fff;
  text-decoration: none;
}

.ts-footer-links a:hover,
.ts-footer-contact--reference a:hover {
  color: #ff9b55;
}

.ts-footer-contact--reference {
  display: grid;
  gap: 15px;
  margin: 0;
}

.ts-footer-contact--reference a,
.ts-footer-contact--reference > span {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.5;
}

.ts-footer-bottom {
  margin-top: 40px;
  padding-top: 18px;
  color: #d4e5ef;
}

@media (max-width: 1100px) {
  .ts-about-reference-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
    gap: 44px;
  }

  .ts-about-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ts-footer-grid--reference {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ts-footer-grid--reference > div:first-child {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .ts-bundled-logo img {
    width: 190px;
  }

  .ts-about-reference-layout {
    grid-template-columns: 1fr;
  }

  .ts-about-reference-copy {
    max-width: none;
  }

  .ts-about-reference-photo img {
    min-height: 0;
    aspect-ratio: 1.05 / 1;
  }
}

@media (max-width: 680px) {
  .ts-top-strip__tagline {
    display: none;
  }

  .ts-top-strip__contacts {
    width: 100%;
    justify-content: center;
  }

  .ts-top-strip__contacts a {
    font-size: .69rem;
  }

  .ts-bundled-logo img {
    width: 172px;
  }

  .ts-page-hero--about-reference {
    min-height: 270px;
    padding: 54px 0;
    background-position: 64% center;
  }

  .ts-page-hero--about-reference h1 {
    font-size: 2.82rem;
  }

  .ts-page-content--about-reference {
    padding-top: 44px;
  }

  .ts-about-reference-copy p {
    font-size: .98rem;
    line-height: 1.65;
  }

  .ts-about-reference-photo {
    border-radius: 8px;
  }

  .ts-about-trust {
    grid-template-columns: 1fr;
    margin-top: 38px;
    padding: 25px 22px;
  }

  .ts-footer-grid--reference {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .ts-footer-grid--reference > div:first-child {
    grid-column: auto;
  }
}

/* ========================================================================
   Traveler Shuttles v1.5.0 — Customizer logo and editable footer
   ======================================================================== */
.ts-header-logo {
  display: flex;
  align-items: center;
  min-width: 0;
}

.ts-header-logo .custom-logo-link,
.ts-header-logo .ts-bundled-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.ts-header-logo .custom-logo,
.ts-header-logo .custom-logo-link img,
.ts-header-logo .ts-bundled-logo img {
  display: block;
  width: auto;
  max-width: 240px;
  max-height: 68px;
  height: auto;
  object-fit: contain;
}

.ts-site-footer {
  background: var(--ts-footer-bg, #032746);
  color: var(--ts-footer-text, #ecf5fa);
}

.ts-footer-grid--reference {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.ts-footer-grid h2,
.ts-footer-links a,
.ts-footer-contact--reference a,
.ts-footer-contact--reference > span {
  color: var(--ts-footer-link, #ffffff);
}

.ts-footer-brand p,
.ts-footer-bottom {
  color: var(--ts-footer-text, #ecf5fa);
}

.ts-footer-links a:hover,
.ts-footer-contact--reference a:hover {
  color: var(--ts-footer-accent, #ff9b55);
}

.ts-footer-logo-image {
  display: block;
  width: auto;
  max-width: 240px;
  max-height: 82px;
  height: auto;
  object-fit: contain;
}

@media (max-width: 900px) {
  .ts-header-logo .custom-logo,
  .ts-header-logo .custom-logo-link img,
  .ts-header-logo .ts-bundled-logo img {
    max-width: 205px;
    max-height: 62px;
  }
}

@media (max-width: 680px) {
  .ts-header-logo .custom-logo,
  .ts-header-logo .custom-logo-link img,
  .ts-header-logo .ts-bundled-logo img {
    max-width: 176px;
    max-height: 56px;
  }
}
