/* Homepage-only styles; all selectors are confined to .tcps-home. */
.tcps-home {
  --tcps-ink: #222;
  --tcps-muted: #60656b;
  --tcps-blue: #0868cf;
  --tcps-blue-hover: #0055ad;
  --tcps-paper: #fff;
  --tcps-line: #e2e6eb;
  --tcps-surface: #f5f7fa;
  font-family: Arial, "PingFang TC", "PingFang SC", "Microsoft JhengHei", "Microsoft YaHei", sans-serif;
  color: var(--tcps-ink);
  background: var(--tcps-paper);
  font-synthesis: none;
}
.tcps-home * { box-sizing: border-box; }
.tcps-home { scroll-behavior: smooth; scroll-padding-top: 24px; }
.tcps-home { margin: 0; font-size: 16px; line-height: 1.65; }
.tcps-home a { color: inherit; text-decoration: none; }
.tcps-home button, .tcps-home summary { font: inherit; }
.tcps-home button, .tcps-home a, .tcps-home summary { -webkit-tap-highlight-color: transparent; }
.tcps-home img { display: block; max-width: 100%; object-fit: cover; }
.tcps-home h1, .tcps-home h2, .tcps-home h3, .tcps-home p, .tcps-home figure { margin: 0; }
.tcps-home h1, .tcps-home h2, .tcps-home h3 { font-weight: 600; letter-spacing: normal; line-height: 1.4; }
.tcps-home h2 { font-size: 28px; }
.tcps-home h3 { line-height: 1.5; }
.tcps-home a:focus-visible, .tcps-home summary:focus-visible { outline: 3px solid var(--tcps-blue); outline-offset: 4px; }
.tcps-home .tcps-home-wrap { width: min(1200px, calc(100% - 88px)); margin-inline: auto; }
.tcps-home .tcps-home-skip { position: fixed; top: -100px; z-index: 100; background: #fff; padding: 16px; }
.tcps-home .tcps-home-skip:focus { top: 0; }
.tcps-home .tcps-home-preview-note { background: var(--tcps-surface); color: var(--tcps-muted); font-size: 12px; }
.tcps-home .tcps-home-preview-note > .tcps-home-wrap { display: flex; justify-content: space-between; padding-block: 5px; }
.tcps-home .tcps-home-site-header { background: #fff; border-bottom: 1px solid var(--tcps-line); }
.tcps-home .tcps-home-header-inner { min-height: 80px; display: flex; align-items: center; gap: 32px; }
.tcps-home .tcps-home-brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.tcps-home .tcps-home-brand img { object-fit: contain; }
.tcps-home .tcps-home-brand > span { font-size: 25px; font-weight: 600; line-height: 1.2; color: #222; }
.tcps-home .tcps-home-brand small { display: block; font-size: 12px; font-weight: 400; margin-top: 5px; color: var(--tcps-muted); }
.tcps-home .tcps-home-desktop-nav { display: flex; gap: 28px; margin-left: auto; font-size: 15px; }
.tcps-home .tcps-home-desktop-nav a { padding: 12px 0; }
.tcps-home .tcps-home-desktop-nav a:hover, .tcps-home .tcps-home-text-link:hover { color: var(--tcps-blue); }
.tcps-home .tcps-home-button { min-height: 48px; padding: 12px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; font-size: 15px; font-weight: 500; border: 1px solid transparent; border-radius: 5px; text-align: center; transition: background .15s; }
.tcps-home .tcps-home-primary { background: var(--tcps-blue); color: #fff; }
.tcps-home .tcps-home-primary:hover { background: var(--tcps-blue-hover); }
.tcps-home .tcps-home-header-contact { min-height: 42px; padding: 9px 18px; font-size: 14px; margin-left: 4px; }
.tcps-home .tcps-home-mobile-menu { display: none; }
.tcps-home .tcps-home-eyebrow { font-size: 14px; font-weight: 400; color: var(--tcps-muted); margin-bottom: 14px; line-height: 1.5; }
.tcps-home .tcps-home-hero { padding: 32px 0 44px; display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: 42px; }
.tcps-home .tcps-home-hero-copy { padding: 12px 0 20px; }
.tcps-home .tcps-home-hero .tcps-home-eyebrow { font-size: 15px; margin-bottom: 18px; }
.tcps-home .tcps-home-hero .tcps-home-eyebrow > span { display: none; }
.tcps-home .tcps-home-hero h1 { font-size: clamp(32px, 3vw, 40px); line-height: 1.35; }
.tcps-home .tcps-home-hero h1 > span { display: block; font-weight: 500; margin-top: 7px; }
.tcps-home .tcps-home-hero-description { margin-top: 22px; font-size: 16px; line-height: 1.85; color: #555; max-width: 400px; }
.tcps-home .tcps-home-hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 26px; flex-wrap: wrap; }
.tcps-home .tcps-home-text-link { display: inline-flex; gap: 10px; align-items: center; white-space: nowrap; font-size: 15px; font-weight: 500; color: var(--tcps-blue); }
.tcps-home .tcps-home-travel-types { display: flex; align-items: center; gap: 14px; font-size: 14px; color: #555; margin-top: 22px; }
.tcps-home .tcps-home-travel-types span + span { padding-left: 14px; border-left: 1px solid #d2d7de; }
.tcps-home .tcps-home-hero-image { min-width: 0; }
.tcps-home .tcps-home-hero-image > figure > img { width: 100%; height: 350px; object-position: 42% 50%; border-radius: 6px; }
.tcps-home .tcps-home-hero-image figcaption { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12px; color: var(--tcps-muted); }
.tcps-home .tcps-home-section { padding-block: 48px; }
.tcps-home .tcps-home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.tcps-home .tcps-home-section-heading .tcps-home-eyebrow { display: none; }
.tcps-home .tcps-home-section-heading h2 { margin-bottom: 10px; }
.tcps-home .tcps-home-section-heading p:not(.tcps-home-eyebrow) { font-size: 15px; color: var(--tcps-muted); }
.tcps-home .tcps-home-section-heading > .tcps-home-text-link { margin-bottom: 4px; }
.tcps-home .tcps-home-journeys { border-top: 1px solid var(--tcps-line); }
.tcps-home .tcps-home-route-table { border-top: 1px solid var(--tcps-line); }
.tcps-home .tcps-home-route-row { display: grid; grid-template-columns: 145px 1.1fr 1.13fr 126px; align-items: center; gap: 26px; padding: 25px 0; border-bottom: 1px solid var(--tcps-line); }
.tcps-home .tcps-home-route-row figure { position: relative; }
.tcps-home .tcps-home-route-row figure > img { width: 145px; height: 110px; border-radius: 4px; }
.tcps-home .tcps-home-route-row figcaption { position: absolute; bottom: 5px; right: 5px; font-size: 11px; color: #fff; background: #000a; padding: 1px 4px; border-radius: 2px; }
.tcps-home .tcps-home-route-type { font-size: 13px; color: var(--tcps-muted); margin-bottom: 6px; }
.tcps-home .tcps-home-route-main h3 { font-size: 20px; }
.tcps-home .tcps-home-route-duration { font-size: 16px; font-weight: 500; margin-top: 9px; }
.tcps-home .tcps-home-route-duration > span { font-size: 13px; font-weight: 400; color: var(--tcps-muted); margin-left: 12px; }
.tcps-home .tcps-home-route-description > p { font-size: 15px; line-height: 1.8; color: #444; }
.tcps-home .tcps-home-route-description > span { font-size: 13px; line-height: 1.7; display: block; margin-top: 8px; color: var(--tcps-muted); }
.tcps-home .tcps-home-route-action { text-align: right; display: flex; flex-direction: column; gap: 16px; }
.tcps-home .tcps-home-route-action > span { font-size: 13px; color: var(--tcps-muted); }
.tcps-home .tcps-home-route-action > a { font-size: 14px; font-weight: 500; white-space: nowrap; display: flex; justify-content: flex-end; gap: 8px; color: var(--tcps-blue); }
.tcps-home .tcps-home-route-action > a:hover { text-decoration: underline; }
.tcps-home .tcps-home-route-footnote { display: flex; justify-content: space-between; gap: 24px; margin-top: 18px; font-size: 13px; color: var(--tcps-muted); }
.tcps-home .tcps-home-route-footnote a { color: var(--tcps-blue); white-space: nowrap; }
.tcps-home .tcps-home-destinations { background: var(--tcps-surface); }
.tcps-home .tcps-home-destination-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 32px; }
.tcps-home .tcps-home-destination { display: flex; align-items: center; gap: 18px; padding: 22px 0; border-top: 1px solid #dce1e7; min-width: 0; }
.tcps-home .tcps-home-destination > figure { width: 88px; height: 88px; flex-shrink: 0; border-radius: 4px; }
.tcps-home .tcps-home-destination > div { min-width: 0; }
.tcps-home .tcps-home-destination small { font-size: 12px; color: var(--tcps-muted); }
.tcps-home .tcps-home-destination h3 { font-size: 20px; margin-block: 2px 4px; }
.tcps-home .tcps-home-destination p { font-size: 13px; line-height: 1.65; color: var(--tcps-muted); }
.tcps-home .tcps-home-destination b { font-weight: 400; margin-left: auto; font-size: 20px; color: var(--tcps-blue); }
.tcps-home .tcps-home-destination:hover h3 { color: var(--tcps-blue); }
.tcps-home .tcps-home-booking { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; padding-block: 56px; }
.tcps-home .tcps-home-booking-intro > .tcps-home-eyebrow, .tcps-home .tcps-home-faq-layout > div > .tcps-home-eyebrow { display: none; }
.tcps-home .tcps-home-booking-intro > h2 { font-size: 28px; margin-bottom: 18px; }
.tcps-home .tcps-home-booking-intro > p:not(.tcps-home-eyebrow) { font-size: 15px; color: var(--tcps-muted); line-height: 1.85; margin-bottom: 22px; }
.tcps-home .tcps-home-steps { list-style: none; margin: 0; padding: 0; }
.tcps-home .tcps-home-steps > li { display: flex; gap: 24px; padding: 0 0 20px; margin-bottom: 20px; border-bottom: 1px solid var(--tcps-line); }
.tcps-home .tcps-home-step-number { font-size: 24px; line-height: 1.5; color: var(--tcps-blue); font-weight: 400; min-width: 32px; }
.tcps-home .tcps-home-steps h3 { font-size: 18px; margin-bottom: 7px; }
.tcps-home .tcps-home-steps p { font-size: 15px; color: #555; line-height: 1.8; }
.tcps-home .tcps-home-quote-note { background: var(--tcps-surface); padding: 22px 24px; border-left: 3px solid var(--tcps-blue); }
.tcps-home .tcps-home-quote-note h3 { font-size: 17px; margin-bottom: 11px; }
.tcps-home .tcps-home-quote-note h3 > span { margin-right: 7px; color: var(--tcps-blue); }
.tcps-home .tcps-home-quote-note p { font-size: 14px; line-height: 1.85; color: #555; }
.tcps-home .tcps-home-quote-note p + p { margin-top: 7px; }
.tcps-home .tcps-home-faq-section { border-top: 1px solid var(--tcps-line); padding-block: 48px 56px; }
.tcps-home .tcps-home-faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.tcps-home .tcps-home-section-intro { font-size: 15px; line-height: 1.85; color: var(--tcps-muted); margin-top: 18px; }
.tcps-home .tcps-home-faq-list { border-top: 1px solid var(--tcps-line); }
.tcps-home .tcps-home-faq-list details { border-bottom: 1px solid var(--tcps-line); }
.tcps-home .tcps-home-faq-list summary { padding: 18px 0; display: flex; align-items: center; justify-content: space-between; gap: 25px; list-style: none; cursor: pointer; font-size: 16px; font-weight: 500; line-height: 1.7; }
.tcps-home .tcps-home-faq-list summary::-webkit-details-marker { display: none; }
.tcps-home .tcps-home-faq-list summary > span { font-size: 22px; color: #666; font-weight: 400; transition: transform .2s; flex-shrink: 0; }
.tcps-home .tcps-home-faq-list details[open] summary > span { transform: rotate(45deg); }
.tcps-home .tcps-home-faq-list details > p { font-size: 15px; color: #555; line-height: 1.85; padding: 0 25px 22px 0; }
.tcps-home .tcps-home-consult { background: #f0f6ff; border-block: 1px solid #dce8f8; padding-block: 44px; }
.tcps-home .tcps-home-consult-inner { display: flex; justify-content: space-between; align-items: center; gap: 70px; }
.tcps-home .tcps-home-consult .tcps-home-eyebrow { display: none; }
.tcps-home .tcps-home-consult h2 { font-size: 28px; margin-bottom: 16px; }
.tcps-home .tcps-home-consult p:not(.tcps-home-eyebrow) { font-size: 16px; line-height: 1.8; color: #555; }
.tcps-home .tcps-home-consult-prompts { display: flex; gap: 13px; flex-wrap: wrap; color: var(--tcps-muted); font-size: 13px; margin-top: 18px; }
.tcps-home .tcps-home-consult-prompts span + span { border-left: 1px solid #c8d2e1; padding-left: 13px; }
.tcps-home .tcps-home-consult-actions { width: 235px; flex-shrink: 0; display: flex; flex-direction: column; gap: 12px; }
.tcps-home .tcps-home-light { background: var(--tcps-blue); color: #fff; }
.tcps-home .tcps-home-light:hover { background: var(--tcps-blue-hover); }
.tcps-home .tcps-home-outline-light { background: #fff; color: var(--tcps-blue); border-color: var(--tcps-blue); }
.tcps-home .tcps-home-outline-light:hover { background: #e7f0fd; }
.tcps-home .tcps-home-footer { padding-block: 28px; background: #fff; }
.tcps-home .tcps-home-footer-inner { display: flex; gap: 40px; align-items: center; justify-content: space-between; }
.tcps-home .tcps-home-footer strong { font-size: 22px; font-weight: 600; }
.tcps-home .tcps-home-footer p { font-size: 12px; color: var(--tcps-muted); margin-top: 4px; }
.tcps-home .tcps-home-footer nav { display: flex; gap: 24px; font-size: 14px; color: #444; }
.tcps-home .tcps-home-footer .tcps-home-footer-note { font-size: 12px; line-height: 1.8; text-align: right; }
.tcps-home .tcps-home-mobile-cta { display: none; }
@media(max-width:1050px) {
  .tcps-home .tcps-home-wrap { width: calc(100% - 56px); }
  .tcps-home .tcps-home-header-inner { gap: 22px; }
  .tcps-home .tcps-home-desktop-nav { gap: 18px; font-size: 14px; }
  .tcps-home .tcps-home-hero { gap: 30px; }
  .tcps-home .tcps-home-hero h1 { font-size: 34px; }
  .tcps-home .tcps-home-hero-image > figure > img { height: 330px; }
  .tcps-home .tcps-home-route-row { grid-template-columns: 120px 1fr 1fr 115px; gap: 20px; }
  .tcps-home .tcps-home-route-row figure > img { width: 120px; }
  .tcps-home .tcps-home-route-main h3 { font-size: 19px; }
  .tcps-home .tcps-home-destination-grid { gap: 0 22px; }
  .tcps-home .tcps-home-destination { gap: 13px; }
  .tcps-home .tcps-home-destination > figure { width: 74px; height: 74px; }
  .tcps-home .tcps-home-booking, .tcps-home .tcps-home-faq-layout { gap: 50px; }
  .tcps-home .tcps-home-footer-inner { gap: 25px; flex-wrap: wrap; }
}
@media(max-width:760px) {
  .tcps-home { scroll-padding-top: 18px; }
  .tcps-home .tcps-home-wrap { width: calc(100% - 40px); }
  .tcps-home .tcps-home-preview-note { font-size: 11px; }
  .tcps-home .tcps-home-header-inner { min-height: 70px; justify-content: space-between; }
  .tcps-home .tcps-home-brand > span { font-size: 23px; }
  .tcps-home .tcps-home-brand small { font-size: 11px; }
  .tcps-home .tcps-home-brand img { width: 34px; height: 34px; }
  .tcps-home .tcps-home-desktop-nav, .tcps-home .tcps-home-header-contact { display: none; }
  .tcps-home .tcps-home-mobile-menu { display: block; position: relative; }
  .tcps-home .tcps-home-mobile-menu summary { width: 44px; height: 44px; display: flex; justify-content: center; flex-direction: column; align-items: center; gap: 6px; list-style: none; cursor: pointer; }
  .tcps-home .tcps-home-mobile-menu summary::-webkit-details-marker { display: none; }
  .tcps-home .tcps-home-mobile-menu summary > span { width: 20px; height: 1px; background: #333; }
  .tcps-home .tcps-home-mobile-menu nav { position: absolute; z-index: 10; right: 0; top: 48px; width: 220px; background: #fff; padding: 12px 20px; box-shadow: 0 8px 24px #00000014; border: 1px solid var(--tcps-line); border-radius: 5px; }
  .tcps-home .tcps-home-mobile-menu nav > a { display: block; padding: 13px 0; font-size: 15px; border-bottom: 1px solid var(--tcps-line); }
  .tcps-home .tcps-home-mobile-menu nav > a:last-child { border-bottom: 0; }
  .tcps-home .tcps-home-hero { display: flex; flex-direction: column; gap: 24px; padding: 25px 0 30px; align-items: stretch; }
  .tcps-home .tcps-home-hero-copy { padding: 0; }
  .tcps-home .tcps-home-hero .tcps-home-eyebrow { font-size: 14px; margin-bottom: 14px; }
  .tcps-home .tcps-home-hero h1 { font-size: 30px; line-height: 1.4; }
  .tcps-home .tcps-home-hero h1 > span { margin-top: 4px; }
  .tcps-home .tcps-home-hero-description { margin-top: 18px; font-size: 15px; line-height: 1.8; }
  .tcps-home .tcps-home-hero-actions { margin-top: 22px; gap: 20px; }
  .tcps-home .tcps-home-hero-actions .tcps-home-button { font-size: 15px; padding-inline: 20px; }
  .tcps-home .tcps-home-hero .tcps-home-text-link { font-size: 15px; }
  .tcps-home .tcps-home-travel-types { font-size: 13px; margin-top: 18px; }
  .tcps-home .tcps-home-hero-image > figure > img { height: auto; aspect-ratio: 1.65; object-position: 42% 54%; }
  .tcps-home .tcps-home-hero-image figcaption { font-size: 11px; }
  .tcps-home .tcps-home-section { padding-block: 34px; }
  .tcps-home .tcps-home-section-heading { display: block; margin-bottom: 22px; }
  .tcps-home .tcps-home-section-heading > .tcps-home-text-link { margin-top: 14px; font-size: 14px; }
  .tcps-home h2, .tcps-home .tcps-home-booking-intro > h2, .tcps-home .tcps-home-consult h2 { font-size: 25px; }
  .tcps-home .tcps-home-section-heading h2 { margin-bottom: 8px; }
  .tcps-home .tcps-home-section-heading p:not(.tcps-home-eyebrow) { font-size: 15px; line-height: 1.7; }
  .tcps-home .tcps-home-route-row { grid-template-columns: 95px 1fr; gap: 14px 16px; padding: 22px 0; align-items: start; }
  .tcps-home .tcps-home-route-row figure > img { width: 95px; height: 98px; }
  .tcps-home .tcps-home-route-row figcaption { font-size: 10px; }
  .tcps-home .tcps-home-route-type { font-size: 12px; margin-bottom: 5px; }
  .tcps-home .tcps-home-route-main h3 { font-size: 18px; }
  .tcps-home .tcps-home-route-duration { font-size: 15px; margin-top: 8px; }
  .tcps-home .tcps-home-route-duration > span { font-size: 12px; margin-left: 8px; }
  .tcps-home .tcps-home-route-description { grid-column: 1/-1; }
  .tcps-home .tcps-home-route-description > p { font-size: 15px; }
  .tcps-home .tcps-home-route-description > p > br { display: none; }
  .tcps-home .tcps-home-route-description > span { font-size: 13px; margin-top: 5px; }
  .tcps-home .tcps-home-route-action { grid-column: 1/-1; flex-direction: row; justify-content: space-between; align-items: center; margin-top: 1px; gap: 12px; }
  .tcps-home .tcps-home-route-action > span { font-size: 13px; }
  .tcps-home .tcps-home-route-action > a { font-size: 14px; padding: 6px 0; }
  .tcps-home .tcps-home-route-footnote { display: block; margin-top: 16px; font-size: 13px; line-height: 1.8; }
  .tcps-home .tcps-home-route-footnote a { display: inline-block; margin-top: 8px; }
  .tcps-home .tcps-home-destination-grid { grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .tcps-home .tcps-home-destination { gap: 10px; padding: 18px 0; flex-wrap: wrap; align-items: flex-start; }
  .tcps-home .tcps-home-destination > figure { width: 100%; height: auto; aspect-ratio: 1.6; }
  .tcps-home .tcps-home-destination > div { flex: 1; }
  .tcps-home .tcps-home-destination small { font-size: 12px; }
  .tcps-home .tcps-home-destination h3 { font-size: 19px; margin-block: 2px 3px; }
  .tcps-home .tcps-home-destination p { font-size: 13px; }
  .tcps-home .tcps-home-destination b { align-self: center; font-size: 18px; }
  .tcps-home .tcps-home-booking, .tcps-home .tcps-home-faq-layout { display: block; }
  .tcps-home .tcps-home-booking-intro > p:not(.tcps-home-eyebrow) { margin-bottom: 15px; }
  .tcps-home .tcps-home-booking-intro > .tcps-home-text-link { margin-bottom: 28px; }
  .tcps-home .tcps-home-steps > li { gap: 18px; padding-bottom: 18px; margin-bottom: 18px; }
  .tcps-home .tcps-home-steps h3 { font-size: 17px; }
  .tcps-home .tcps-home-steps p { font-size: 15px; }
  .tcps-home .tcps-home-step-number { font-size: 23px; min-width: 30px; }
  .tcps-home .tcps-home-quote-note { padding: 18px; }
  .tcps-home .tcps-home-quote-note h3 { font-size: 16px; }
  .tcps-home .tcps-home-quote-note p { font-size: 14px; }
  .tcps-home .tcps-home-section-intro { font-size: 15px; margin-top: 12px; }
  .tcps-home .tcps-home-faq-list { margin-top: 24px; }
  .tcps-home .tcps-home-faq-list summary { font-size: 16px; gap: 16px; padding: 18px 0; }
  .tcps-home .tcps-home-faq-list details > p { font-size: 15px; padding: 0 16px 20px 0; }
  .tcps-home .tcps-home-consult { padding-block: 32px; }
  .tcps-home .tcps-home-consult-inner { display: block; }
  .tcps-home .tcps-home-consult p:not(.tcps-home-eyebrow) { font-size: 15px; }
  .tcps-home .tcps-home-consult-prompts { font-size: 12px; gap: 10px; margin-top: 18px; }
  .tcps-home .tcps-home-consult-prompts span + span { padding-left: 10px; }
  .tcps-home .tcps-home-consult-actions { width: auto; display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 24px; }
  .tcps-home .tcps-home-consult-actions .tcps-home-button { min-height: 48px; font-size: 15px; }
  .tcps-home .tcps-home-footer { padding: 26px 0 calc(100px + env(safe-area-inset-bottom)); }
  .tcps-home .tcps-home-footer-inner { align-items: flex-start; gap: 20px; flex-wrap: wrap; }
  .tcps-home .tcps-home-footer nav { gap: 20px; font-size: 13px; }
  .tcps-home .tcps-home-footer .tcps-home-footer-note { text-align: left; width: 100%; font-size: 11px; margin-top: 0; }
  .tcps-home .tcps-home-mobile-cta { position: fixed; left: 0; bottom: 0; width: 100%; z-index: 15; display: grid; grid-template-columns: .8fr 1.2fr; gap: 10px; padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--tcps-line); }
  .tcps-home .tcps-home-mobile-cta > a { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 45px; border-radius: 5px; border: 1px solid #c7cdd5; font-size: 14px; font-weight: 500; background: #fff; }
  .tcps-home .tcps-home-mobile-cta > a:last-child { color: #fff; background: var(--tcps-blue); border-color: var(--tcps-blue); }
}
@media(max-width:370px) {
  .tcps-home .tcps-home-wrap { width: calc(100% - 32px); }
  .tcps-home .tcps-home-hero h1 { font-size: 28px; }
  .tcps-home .tcps-home-hero-actions { gap: 16px; }
  .tcps-home .tcps-home-hero-actions .tcps-home-button { padding-inline: 16px; font-size: 14px; }
  .tcps-home .tcps-home-hero .tcps-home-text-link { font-size: 14px; }
  .tcps-home .tcps-home-route-row { grid-template-columns: 82px 1fr; gap: 12px; }
  .tcps-home .tcps-home-route-row figure > img { width: 82px; height: 94px; }
  .tcps-home .tcps-home-route-main h3 { font-size: 17px; }
  .tcps-home .tcps-home-destination-grid { column-gap: 16px; }
  .tcps-home .tcps-home-mobile-cta { padding-inline: 16px; }
}
@media(prefers-reduced-motion:reduce){.tcps-home{scroll-behavior:auto}.tcps-home *{transition:none!important}}

/* Data and navigation additions preserve the published travel tools. */
.tcps-home .tcps-home-locales{display:flex;gap:10px;margin-left:auto;flex-shrink:0;font-size:13px}
.tcps-home .tcps-home-locales a[aria-current="page"]{color:var(--tcps-blue);font-weight:600}
.tcps-home .tcps-home-header-inner{gap:24px}
.tcps-home .tcps-home-desktop-nav{gap:24px}
.tcps-home .tcps-home-discovery-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px;border-top:1px solid var(--tcps-line)}
.tcps-home .tcps-home-discovery{display:flex;gap:22px;font-size:14px;flex-shrink:0}
.tcps-home .tcps-home-discovery a{color:var(--tcps-blue)}
.tcps-home .tcps-home-search{display:flex;gap:0;align-items:stretch;max-width:450px;width:100%;margin:0}
.tcps-home .tcps-home-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tcps-home .tcps-home-search input{width:100%;min-width:0;padding:9px 12px;border:1px solid #c7cdd5;border-radius:4px 0 0 4px;font:inherit;font-size:14px;background:#fff;color:#222}
.tcps-home .tcps-home-search button{background:var(--tcps-blue);color:#fff;border:1px solid var(--tcps-blue);border-radius:0 4px 4px 0;padding:8px 16px;white-space:nowrap;cursor:pointer;font:inherit;font-size:14px}
.tcps-home .tcps-home-route-main h3{font-size:19px;overflow-wrap:anywhere}
.tcps-home .tcps-home-route-duration>span{display:block;margin:4px 0 0}
.tcps-home .tcps-home-route-description>p{font-size:14px}
.tcps-home .tcps-home-destination>figure img{width:100%;height:100%;object-fit:cover}
.tcps-home .tcps-home-footer nav{flex-wrap:wrap;gap:10px 22px;max-width:650px}
.tcps-home .tcps-home-existing-footer{font-size:12px;color:var(--tcps-muted);padding-top:18px;display:flex;gap:8px 24px;flex-wrap:wrap}
.tcps-home .tcps-home-existing-footer .tc-footer-registration{display:flex;gap:8px;flex-wrap:wrap;margin:0;color:var(--tcps-muted);font-size:12px}
.tcps-home .tcps-home-existing-footer .tc-footer-registration-value{white-space:nowrap}
.tcps-home .tcps-home-faq-list details>p{white-space:pre-line}
.tcps-home button:focus-visible,.tcps-home input:focus-visible{outline:3px solid var(--tcps-blue);outline-offset:4px}
.tcps-home .tcps-home-privacy{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid #c7cdd5;box-shadow:0 -3px 20px #00000012;padding:14px max(22px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;color:#222}
.tcps-home .tcps-home-privacy strong{font-size:15px;font-weight:600}
.tcps-home .tcps-home-privacy p{font-size:13px;line-height:1.6;color:#555;margin:3px 0 0}
.tcps-home .tcps-home-privacy-actions{display:flex;gap:8px;flex-shrink:0}
.tcps-home .tcps-home-privacy button{cursor:pointer;background:#fff;border:1px solid #c7cdd5;border-radius:4px;color:#222;padding:8px 12px;font:inherit;font-size:13px;white-space:nowrap}
.tcps-home .tcps-home-privacy button.tcps-home-primary{color:#fff;background:var(--tcps-blue);border-color:var(--tcps-blue)}
.tcps-home .tcps-home-privacy-expanded{display:block;max-height:75vh;overflow:auto;padding:20px max(22px,calc((100vw - 900px)/2))}
.tcps-home .tcps-home-privacy .tc-consent{position:static;background:#fff;color:#222;border:0;box-shadow:none;width:auto;max-width:none;padding:15px 0;margin:0}
.tcps-home .tcps-home-privacy .tc-consent h2{font-size:20px;color:#222}
.tcps-home .tcps-home-privacy .tc-consent a{color:var(--tcps-blue)}
.tcps-home .tcps-home-privacy .tc-consent-actions{flex-wrap:wrap}
.tcps-home .tcps-home-privacy .tc-consent-actions button:last-child{background:var(--tcps-blue);border-color:var(--tcps-blue);color:#fff}
.tcps-home .tcps-home-privacy .tc-consent input{accent-color:var(--tcps-blue)}
.tcps-home .tcps-home-mobile-menu nav{max-height:75vh;overflow:auto}
.tcps-home .tcps-home-contact-error{position:fixed;z-index:40;top:15px;left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 32px));background:#fff;border:1px solid #c7cdd5;box-shadow:0 5px 20px #0002;padding:14px 18px;display:flex;gap:14px;font-size:14px}
.tcps-home .tcps-home-contact-error button{font:inherit;background:none;border:0;cursor:pointer}
@media(max-width:1050px){.tcps-home .tcps-home-desktop-nav{gap:16px;font-size:14px}.tcps-home .tcps-home-header-inner{gap:18px}.tcps-home .tcps-home-brand>span{font-size:22px}.tcps-home .tcps-home-privacy{gap:16px}.tcps-home .tcps-home-privacy-actions{flex-wrap:wrap}}
@media(max-width:760px){
 .tcps-home .tcps-home-locales{gap:8px;font-size:12px}
 .tcps-home .tcps-home-header-inner{gap:12px}
 .tcps-home .tcps-home-brand>span{font-size:21px}
 .tcps-home .tcps-home-brand img{width:30px;height:30px}
 .tcps-home .tcps-home-mobile-menu summary{width:36px}
 .tcps-home .tcps-home-discovery-row{display:block;padding-block:10px 12px}
 .tcps-home .tcps-home-discovery{font-size:13px;gap:20px;margin-bottom:10px}
 .tcps-home .tcps-home-search{max-width:none}
 .tcps-home .tcps-home-search input{font-size:16px}
 .tcps-home .tcps-home-route-main h3{font-size:18px}
 .tcps-home .tcps-home-route-description>p{font-size:15px}
 .tcps-home .tcps-home-destination>figure img{aspect-ratio:1.6;height:auto}
 .tcps-home .tcps-home-footer-inner{display:block}
 .tcps-home .tcps-home-footer nav{margin-top:18px;font-size:13px}
 .tcps-home .tcps-home-footer-note{margin-top:18px}
 .tcps-home .tcps-home-existing-footer{font-size:12px;display:block;overflow-wrap:anywhere}
 .tcps-home .tcps-home-existing-footer>p,.tcps-home .tcps-home-existing-footer>a{margin-block:6px;display:block}
 .tcps-home .tcps-home-privacy{bottom:calc(65px + env(safe-area-inset-bottom));padding:12px 16px;display:block}
 .tcps-home .tcps-home-privacy-actions{margin-top:10px;gap:6px;flex-wrap:wrap}
 .tcps-home .tcps-home-privacy button{font-size:12px;padding:7px 9px}
 .tcps-home .tcps-home-privacy-expanded{max-height:70vh}
}
@media(max-width:370px){.tcps-home .tcps-home-brand small{display:none}.tcps-home .tcps-home-brand{gap:6px}.tcps-home .tcps-home-brand>span{font-size:18px}.tcps-home .tcps-home-header-inner{gap:8px}.tcps-home .tcps-home-locales{gap:6px}}

.tcps-home .tcps-home-more-nav{position:relative}
.tcps-home .tcps-home-more-nav summary{padding:12px 0;cursor:pointer;list-style:none;white-space:nowrap}
.tcps-home .tcps-home-more-nav summary::-webkit-details-marker{display:none}
.tcps-home .tcps-home-more-nav summary::after{content:" ▾"}
.tcps-home .tcps-home-more-nav>div{position:absolute;top:calc(100% + 16px);right:0;z-index:25;min-width:190px;padding:10px;background:#fff;border:1px solid var(--tcps-line);box-shadow:0 6px 18px #00000012;display:grid;max-height:70vh;overflow:auto}
.tcps-home .tcps-home-more-nav>div a{padding:10px 12px;white-space:nowrap;color:var(--tcps-ink)}
.tcps-home .tcps-home-more-nav>div a:hover{background:var(--tcps-surface)}
.tcps-home .tcps-home-more-nav summary:focus-visible{outline:3px solid var(--tcps-blue);outline-offset:4px}

/* Mobile4: readable trip cards and accessible photo attribution. */
.tcps-home .tcps-home-route-row { align-items: start; }
.tcps-home .tcps-home-route-row > * { min-width: 0; }
.tcps-home .tcps-home-route-row figure { margin: 0; }
.tcps-home .tcps-home-route-row figure > img { display: block; object-fit: cover; }
.tcps-home .tcps-home-photo-caption,
.tcps-home .tcps-home-route-row figcaption.tcps-home-photo-caption { position: static; display: block; inset: auto; width: 100%; margin: 4px 0 0; padding: 0; background: transparent; color: var(--tcps-muted); font-size: 11px; line-height: 1.5; border-radius: 0; }
.tcps-home .tcps-home-photo-credit { min-width: 0; max-width: 100%; }
.tcps-home .tcps-home-photo-credit > summary { cursor: pointer; min-height: 32px; padding: 6px 0; font-size: 11px; line-height: 1.5; }
.tcps-home .tcps-home-photo-credit-body { position: static; max-width: 100%; padding: 0 0 8px; overflow-wrap: anywhere; font-size: 11px; line-height: 1.6; }
.tcps-home .tcps-home-photo-credit-body a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.tcps-home .tcps-home-photo-credit-body small { display: block; margin-top: 4px; font: inherit; }
.tcps-home .tcps-home-photo-credit > summary:focus-visible { outline: 3px solid var(--tcps-blue); outline-offset: 3px; }
.tcps-home .tcps-home-route-duration { font-size: 14px; line-height: 1.65; overflow-wrap: normal; }
@media(max-width:760px) {
  .tcps-home .tcps-home-route-row { grid-template-columns: 95px minmax(0, 1fr); row-gap: 10px; }
  .tcps-home .tcps-home-route-row > figure { grid-row: 1 / span 2; }
  .tcps-home .tcps-home-route-main h3 { font-size: 18px; line-height: 1.4; overflow-wrap: normal; }
  .tcps-home .tcps-home-route-duration { margin-top: 7px; font-size: 13px; line-height: 1.65; }
  .tcps-home .tcps-home-route-description { display: none; }
  .tcps-home .tcps-home-route-action { grid-column: 2; align-items: start; justify-content: start; }
  .tcps-home .tcps-home-route-action > span { display: none; }
  .tcps-home .tcps-home-route-action > a { justify-content: start; min-height: 44px; white-space: normal; padding: 7px 0; }
  .tcps-home .tcps-home-photo-credit > summary { min-height: 44px; padding: 9px 0; }
  .tcps-home .tcps-home-photo-credit-body { font-size: 11px; }
  .tcps-home .tcps-home-mobile-cta { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
  .tcps-home .tcps-home-mobile-cta > a { min-width: 0; text-align: center; overflow-wrap: anywhere; }
  .tcps-home .tcps-home-footer { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
  .tcps-home [id] { scroll-margin-bottom: calc(90px + env(safe-area-inset-bottom)); }
}
@media(max-width:370px) {
  .tcps-home .tcps-home-route-row { grid-template-columns: 82px minmax(0, 1fr); }
  .tcps-home .tcps-home-route-main h3 { font-size: 17px; }
}
