/* Landing pages in the customer-journey design (corporate travel, B2B partners, international flights, the route
   pages, the legal pages, About us, the help pages, Help Center and FAQ): white surfaces, navy type, one red action
   colour and the journey.css spacing. A page loads this file through $page_extra_head and opts into the design with
   $tbf_journey_page (header.php). Rules start with body.tbf-journey so the older dark-theme stylesheets, loaded on
   every page, cannot win over them. */
body.tbf-journey .tl-page { background:#f5f7fa; color:#14243a; padding-bottom:72px; }
body.tbf-journey .tl-page h1, body.tbf-journey .tl-page h2, body.tbf-journey .tl-page h3 { color:#14243a; font-weight:800; }
body.tbf-journey .tl-page p { color:#3d4b60; }

/* Hero: the promise and its proof on the left, the enquiry form on the right (below the copy on phones). */
body.tbf-journey .tl-hero { padding:28px 0 56px; background:linear-gradient(180deg,#e9f0f7 0%,#f5f7fa 100%); border-bottom:1px solid #e4e9f0; }
body.tbf-journey .tl-crumbs { display:flex; gap:8px; font-size:13px; color:#536176; margin:0 0 28px; padding:0; list-style:none; }
body.tbf-journey .tl-crumbs a { color:#536176; text-decoration:none; }
body.tbf-journey .tl-crumbs a:hover { color:#c8102e; }
body.tbf-journey .tl-crumbs li + li::before { content:'/'; margin-right:8px; color:#9aa6b5; }
body.tbf-journey .tl-hero__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); grid-template-rows:auto 1fr; grid-template-areas:"intro form" "steps form"; gap:0 56px; align-items:start; }
body.tbf-journey .tl-hero__intro { grid-area:intro; }
body.tbf-journey .tl-hero__grid > .tl-form { grid-area:form; }
body.tbf-journey .tl-hero__steps { grid-area:steps; max-width:580px; margin-top:36px; padding-top:28px; border-top:1px solid #d5dee8; }
body.tbf-journey .tl-mini-title { font-size:13px!important; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:#536176!important; margin:0 0 18px; }
body.tbf-journey .tl-hero h1 { font-size:clamp(32px,3.7vw,48px); line-height:1.1; letter-spacing:-1.4px; margin:0 0 18px; }
body.tbf-journey .tl-hero h1 em { font-style:normal; color:#c8102e; }
body.tbf-journey .tl-lead { font-size:17px; line-height:1.65; max-width:580px; margin:0 0 26px; }
body.tbf-journey .tl-checks { list-style:none; padding:0; margin:0 0 30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; max-width:580px; }
body.tbf-journey .tl-checks li { display:flex; gap:10px; align-items:flex-start; font-size:15px; font-weight:600; color:#14243a; line-height:1.4; }
body.tbf-journey .tl-checks i { color:#08744c; font-size:20px; line-height:1; flex:none; }
body.tbf-journey .tl-actions { display:flex; flex-wrap:wrap; gap:12px; }

/* Buttons: red for the main action, white with a green edge for WhatsApp. */
body.tbf-journey .tl-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border-radius:8px; border:1px solid transparent; font:inherit; font-size:15px; font-weight:700; line-height:1.2; text-decoration:none!important; cursor:pointer; transition:background .15s,border-color .15s; }
body.tbf-journey .tl-btn--primary { background:#c8102e; color:#fff!important; }
body.tbf-journey .tl-btn--primary:hover { background:#a60b25; }
body.tbf-journey .tl-btn--wa { background:#fff; color:#0b7a4b!important; border-color:#b9e0cb; }
body.tbf-journey .tl-btn--wa:hover { background:#f0faf4; border-color:#8fd0ad; }
body.tbf-journey .tl-btn i { font-size:19px; }
body.tbf-journey .tl-btn:focus-visible { outline:3px solid #14243a; outline-offset:2px; }

body.tbf-journey .tl-card { background:#fff; border:1px solid #dce3ec; border-radius:16px; box-shadow:0 4px 18px #14243a0a; }

/* Enquiry form */
body.tbf-journey .tl-form { padding:28px; scroll-margin-top:90px; }
body.tbf-journey .tl-form h2 { font-size:22px; letter-spacing:-.4px; margin:0 0 6px; }
body.tbf-journey .tl-form__sub { font-size:14px; color:#536176!important; margin:0 0 22px; }
body.tbf-journey .tl-form__sub .req { color:#c8102e; }
body.tbf-journey .tl-field { margin:0 0 16px; }
body.tbf-journey .tl-field label { display:block; margin:0 0 6px; font-size:13px; font-weight:700; color:#14243a; letter-spacing:0; text-transform:none; }
body.tbf-journey .tl-field label .req { color:#c8102e; }
body.tbf-journey .tl-field label .opt { color:#66758a; font-weight:500; }
body.tbf-journey .tl-field input, body.tbf-journey .tl-field select, body.tbf-journey .tl-field textarea {
  display:block; width:100%; min-height:46px; box-sizing:border-box; margin:0; padding:10px 12px; border:1px solid #c5d0dc!important; border-radius:8px;
  background:#fff!important; color:#14243a!important; font:inherit; font-size:15px; line-height:1.4; box-shadow:none; -webkit-text-fill-color:#14243a; }
body.tbf-journey .tl-field select { appearance:none; padding-right:36px; background:#fff url("data:image/svg+xml,%3csvg viewBox='0 0 24 24' fill='%23536176' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e") no-repeat right 10px center / 20px!important; }
body.tbf-journey .tl-field textarea { min-height:92px; resize:vertical; }
body.tbf-journey .tl-field input::placeholder, body.tbf-journey .tl-field textarea::placeholder { color:#8593a5; -webkit-text-fill-color:#8593a5; opacity:1; }
body.tbf-journey .tl-field input:focus, body.tbf-journey .tl-field select:focus, body.tbf-journey .tl-field textarea:focus { outline:none; border-color:#14243a!important; box-shadow:0 0 0 3px #14243a1f; }
body.tbf-journey .tl-field input:user-invalid, body.tbf-journey .tl-field select:user-invalid { border-color:#c8102e!important; }
body.tbf-journey .tl-row { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
body.tbf-journey .tl-form .tl-btn { width:100%; margin-top:6px; }
body.tbf-journey .tl-or { display:flex; align-items:center; gap:12px; margin:16px 0; font-size:13px; color:#66758a; }
body.tbf-journey .tl-or::before, body.tbf-journey .tl-or::after { content:''; flex:1; height:1px; background:#e4e9f0; }
body.tbf-journey .tl-note { font-size:12px; line-height:1.55; color:#66758a!important; margin:16px 0 0; }
body.tbf-journey .tl-note a { color:#c8102e; font-weight:700; }
body.tbf-journey .tl-ok { display:none; text-align:center; padding:24px 6px; }
body.tbf-journey .tl-ok.show { display:block; }
body.tbf-journey .tl-ok > i { display:block; font-size:46px; color:#08744c; margin-bottom:10px; }
body.tbf-journey .tl-ok h3 { font-size:20px; margin:0 0 8px; }
body.tbf-journey .tl-ok p { font-size:14px; line-height:1.6; margin:0 0 18px; }

/* Sections */
body.tbf-journey .tl-section { padding-top:72px; }
body.tbf-journey .tl-section__head { max-width:720px; margin:0 0 28px; }
body.tbf-journey .tl-section__head h2 { font-size:clamp(25px,2.6vw,32px); line-height:1.2; letter-spacing:-.7px; margin:0 0 10px; }
body.tbf-journey .tl-section__head p { font-size:16px; line-height:1.6; color:#536176; margin:0; }

/* Client logos (the homepage's "Our Corporate Clients", as a still grid) */
body.tbf-journey .tl-logos { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
body.tbf-journey .tl-logos li { display:flex; flex-direction:column; align-items:center; gap:10px; padding:18px 10px 16px; text-align:center; }
body.tbf-journey .tl-logos picture { display:flex; align-items:center; justify-content:center; width:80px; height:80px; box-sizing:border-box; padding:8px; border:1px solid #e4e9f0; border-radius:50%; background:#fff; overflow:hidden; }
body.tbf-journey .tl-logos img { width:100%; height:100%; object-fit:contain; }
body.tbf-journey .tl-logos span { font-size:13px; font-weight:600; color:#3d4b60; line-height:1.3; }

/* Feature cards with tinted icons (the journey.css service palette) */
body.tbf-journey .tl-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.tbf-journey .tl-feature { padding:22px 22px 24px; }
body.tbf-journey .tl-feature > i { display:grid; place-items:center; width:46px; height:46px; margin:0 0 16px; border-radius:50%; font-size:22px; background:#fff0f3; color:#c8102e; }
body.tbf-journey .tl-feature:nth-child(4n+2) > i { background:#edf4ff; color:#2875d9; }
body.tbf-journey .tl-feature:nth-child(4n+3) > i { background:#e8f8f1; color:#087867; }
body.tbf-journey .tl-feature:nth-child(4n+4) > i { background:#fff6e6; color:#966000; }
body.tbf-journey .tl-feature h3 { font-size:16px; line-height:1.35; margin:0 0 8px; }
body.tbf-journey .tl-feature p { font-size:14px; line-height:1.6; color:#536176; margin:0; }

body.tbf-journey .tl-features--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.tbf-journey .tl-fineprint { margin:24px 0 0; padding:14px 16px; border-radius:12px; background:#eaf1f8; font-size:13px; line-height:1.6; color:#3d4b60!important; }
body.tbf-journey .tl-fineprint strong { color:#14243a; }

/* Route cards, grouped by region (international flights) */
body.tbf-journey .tl-region + .tl-region { margin-top:28px; }
body.tbf-journey .tl-region h3 { display:flex; align-items:center; gap:8px; font-size:18px; margin:0 0 12px; }
body.tbf-journey .tl-region h3 i { color:#c8102e; font-size:20px; }
body.tbf-journey .tl-routes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.tbf-journey .tl-routes a { display:flex; flex-direction:column; gap:4px; padding:16px 18px; color:#14243a!important; text-decoration:none!important; transition:border-color .15s,box-shadow .15s; }
body.tbf-journey .tl-routes a:hover { border-color:#b6c3d3; box-shadow:0 6px 24px #14243a14; }
body.tbf-journey .tl-routes strong { font-size:16px; }
body.tbf-journey .tl-routes strong span { color:#c8102e; margin:0 4px; }
body.tbf-journey .tl-routes small { font-size:13px; color:#536176; }

/* Article text and checklists */
body.tbf-journey .tl-prose { max-width:860px; }
body.tbf-journey .tl-prose h2 { font-size:clamp(22px,2.3vw,28px); letter-spacing:-.5px; margin:40px 0 12px; }
body.tbf-journey .tl-prose h2:first-child { margin-top:0; }
body.tbf-journey .tl-prose p { font-size:16px; line-height:1.75; margin:0 0 14px; }
body.tbf-journey .tl-prose strong { color:#14243a; }
body.tbf-journey .tl-checklist { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.tbf-journey .tl-checklist li { display:flex; gap:12px; align-items:flex-start; padding:16px 18px; font-size:15px; line-height:1.55; color:#3d4b60; }
body.tbf-journey .tl-checklist li i { color:#08744c; font-size:20px; line-height:1.2; flex:none; }
body.tbf-journey .tl-checklist strong { color:#14243a; }

/* Search hero (international flights): the homepage's search card under a breadcrumb */
body.tbf-journey .tl-search-hero { padding-bottom:8px; }
body.tbf-journey .tl-search-hero .tl-crumbs { margin-bottom:22px; }

/* Numbered steps */
body.tbf-journey .tl-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; counter-reset:tl-step; }
body.tbf-journey .tl-steps li { padding:24px; counter-increment:tl-step; }
body.tbf-journey .tl-steps li::before { content:counter(tl-step); display:grid; place-items:center; width:34px; height:34px; margin:0 0 16px; border-radius:50%; background:#14243a; color:#fff; font-weight:700; font-size:15px; }
body.tbf-journey .tl-steps h3 { font-size:17px; margin:0 0 8px; }
body.tbf-journey .tl-steps p { font-size:14px; line-height:1.6; color:#536176; margin:0; }
body.tbf-journey .tl-steps--compact { grid-template-columns:1fr; gap:20px; }
body.tbf-journey .tl-steps--compact li { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:16px; padding:0; }
body.tbf-journey .tl-steps--compact li::before { grid-row:1 / span 2; margin:0; }
body.tbf-journey .tl-steps--compact h3 { font-size:16px; margin:5px 0 4px; }

/* The rest of the range, as links */
body.tbf-journey .tl-range { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.tbf-journey .tl-range a { display:flex; flex-direction:column; gap:6px; padding:20px 20px 22px; color:#14243a!important; text-decoration:none!important; transition:border-color .15s,box-shadow .15s; }
body.tbf-journey .tl-range a:hover { border-color:#b6c3d3; box-shadow:0 6px 24px #14243a14; }
body.tbf-journey .tl-range a > i { font-size:24px; color:#c8102e; margin-bottom:6px; }
body.tbf-journey .tl-range strong { font-size:16px; display:flex; align-items:center; gap:6px; }
body.tbf-journey .tl-range strong::after { content:'\2192'; color:#c8102e; transition:transform .15s; }
body.tbf-journey .tl-range a:hover strong::after { transform:translateX(3px); }
body.tbf-journey .tl-range span { font-size:14px; line-height:1.5; color:#536176; }

/* FAQ and the closing band reuse journey.css (.jh-faq, .jh-help) */
body.tbf-journey .tl-page .jh-faq { max-width:none; padding-top:72px; }
body.tbf-journey .tl-page .jh-faq summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
body.tbf-journey .tl-page .jh-faq summary::-webkit-details-marker { display:none; }
body.tbf-journey .tl-page .jh-faq summary::after { content:'+'; flex:none; display:grid; place-items:center; width:30px; height:30px; border:1px solid #dce3ec; border-radius:50%; color:#14243a; font-size:18px; line-height:1; }
body.tbf-journey .tl-page .jh-faq details[open] summary::after { content:'\2212'; }
body.tbf-journey .tl-page .jh-help h2 { font-size:24px; }
body.tbf-journey .tl-page .jh-help p { margin-bottom:0; }
body.tbf-journey .tl-page .jh-help .tl-actions { flex:none; }

@media (max-width: 991px) {
  body.tbf-journey .tl-features--3, body.tbf-journey .tl-routes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tbf-journey .tl-hero__grid { grid-template-columns:1fr; grid-template-areas:none; grid-template-rows:none; gap:32px; }
  body.tbf-journey .tl-hero__intro, body.tbf-journey .tl-hero__grid > .tl-form, body.tbf-journey .tl-hero__steps { grid-area:auto; }
  body.tbf-journey .tl-hero__steps { margin-top:0; }
  body.tbf-journey .tl-features, body.tbf-journey .tl-range { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tbf-journey .tl-logos { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  body.tbf-journey .tl-hero { padding:16px 0 36px; }
  body.tbf-journey .tl-crumbs { margin-bottom:18px; }
  body.tbf-journey .tl-hero h1 { font-size:30px; letter-spacing:-1px; }
  body.tbf-journey .tl-lead { font-size:16px; }
  body.tbf-journey .tl-checks { grid-template-columns:1fr; gap:12px; }
  body.tbf-journey .tl-actions .tl-btn { width:100%; }
  body.tbf-journey .tl-form { padding:20px 16px; }
  body.tbf-journey .tl-row { grid-template-columns:1fr; }
  body.tbf-journey .tl-section { padding-top:48px; }
  body.tbf-journey .tl-features, body.tbf-journey .tl-range, body.tbf-journey .tl-steps, body.tbf-journey .tl-features--3, body.tbf-journey .tl-checklist { grid-template-columns:1fr; }
  body.tbf-journey .tl-routes { grid-template-columns:1fr; gap:10px; }
  body.tbf-journey .tl-prose p { font-size:15px; }
  body.tbf-journey .tl-logos { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
  body.tbf-journey .tl-logos li { box-sizing:border-box; width:calc((100% - 20px) / 3); padding:14px 6px; }
  body.tbf-journey .tl-logos picture { width:64px; height:64px; }
  body.tbf-journey .tl-page .jh-faq { padding-top:48px; }
}
@media (prefers-reduced-motion: reduce) {
  body.tbf-journey .tl-btn, body.tbf-journey .tl-range a, body.tbf-journey .tl-range strong::after { transition:none; }
}

/* Route pages (flights/route-handler.php): the search hero with the route filled in, the two airports, related
   routes and the popular-route links. Long city names may wrap the breadcrumb and the heading. */
body.tbf-journey .tl-crumbs { flex-wrap:wrap; row-gap:4px; }
body.tbf-journey .tl-route h1 { overflow-wrap:anywhere; }
body.tbf-journey .tl-search-hero { scroll-margin-top:72px; }
body.tbf-journey .tl-search-hero > .jh-container > .tl-note { margin:-8px 0 0; padding:0 0 20px; text-align:center; }
body.tbf-journey .tl-airports { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 16px; }
body.tbf-journey .tl-airports > div { padding:18px 22px; }
body.tbf-journey .tl-airports dt { font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:#536176; margin:0 0 6px; }
body.tbf-journey .tl-airports dd { display:flex; flex-direction:column; gap:2px; margin:0; }
body.tbf-journey .tl-airports strong { font-size:17px; color:#14243a; }
body.tbf-journey .tl-airports span { font-size:14px; color:#536176; }
body.tbf-journey .tl-links-title { font-size:17px!important; margin:28px 0 12px; }
body.tbf-journey .tl-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
body.tbf-journey .tl-links a { display:flex; align-items:center; flex-wrap:wrap; gap:0 4px; min-height:46px; box-sizing:border-box; padding:10px 14px; border:1px solid #dce3ec; border-radius:10px; background:#fff; color:#14243a!important; font-size:14px; font-weight:600; line-height:1.35; text-decoration:none!important; transition:border-color .15s,color .15s; }
body.tbf-journey .tl-links a:hover { border-color:#b6c3d3; color:#c8102e!important; }
body.tbf-journey .tl-links a span[aria-hidden] { color:#c8102e; }
body.tbf-journey .tl-btn--ghost { background:#fff; color:#14243a!important; border-color:#c5d0dc; }
body.tbf-journey .tl-btn--ghost:hover { border-color:#14243a; }
@media (max-width: 991px) {
  body.tbf-journey .tl-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  body.tbf-journey .tl-search-hero > .jh-container > .tl-note { text-align:left; }
  body.tbf-journey .tl-airports { grid-template-columns:1fr; gap:10px; }
  body.tbf-journey .tl-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  body.tbf-journey .tl-links a { transition:none; }
}

/* Content pages (legal, About us): a plain hero, an "On this page" list beside the text, tables, a split text +
   image row, the founder's note, support times and the office address. */
body.tbf-journey .tl-hero--plain { padding-bottom:44px; }
body.tbf-journey .tl-hero--plain .tl-lead { max-width:760px; margin-bottom:0; }
body.tbf-journey .tl-updated { font-size:14px; color:#536176!important; margin:0; }
body.tbf-journey .tl-doc { display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; align-items:start; padding-top:48px; }
body.tbf-journey .tl-toc { position:sticky; top:96px; padding:20px 22px; }
body.tbf-journey .tl-toc ol { list-style:none; margin:0; padding:0; }
body.tbf-journey .tl-toc a { display:block; padding:6px 0; font-size:14px; line-height:1.4; color:#3d4b60!important; text-decoration:none!important; }
body.tbf-journey .tl-toc a:hover { color:#c8102e!important; }
body.tbf-journey .tl-doc__body h2 { scroll-margin-top:96px; font-size:21px; margin:36px 0 10px; }
body.tbf-journey .tl-doc__body h2:first-child { margin-top:0; }
body.tbf-journey .tl-doc__body ul { margin:0 0 14px; padding-left:22px; }
body.tbf-journey .tl-doc__body li { font-size:16px; line-height:1.7; color:#3d4b60; margin:0 0 6px; }
body.tbf-journey .tl-doc__body a { color:#c8102e; font-weight:600; }
body.tbf-journey .tl-table-wrap { margin:8px 0 18px; border:1px solid #dce3ec; border-radius:12px; overflow-x:auto; background:#fff; }
body.tbf-journey .tl-table { width:100%; border-collapse:collapse; font-size:15px; }
body.tbf-journey .tl-table th { text-align:left; padding:12px 16px; background:#f0f4f9; color:#14243a; font-weight:700; }
body.tbf-journey .tl-table td { padding:12px 16px; border-top:1px solid #e4e9f0; color:#3d4b60; }
body.tbf-journey .tl-table .is-good { color:#08744c; font-weight:700; }
body.tbf-journey .tl-table .is-mid { color:#8a5a00; font-weight:700; }
body.tbf-journey .tl-table .is-low { color:#b54708; font-weight:700; }
body.tbf-journey .tl-table .is-none { color:#c8102e; font-weight:700; }
body.tbf-journey .tl-doc__body .tl-links { margin:12px 0 0; padding:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
body.tbf-journey .tl-doc__body .tl-links li { margin:0; }
body.tbf-journey .tl-links--icons a { font-weight:600; }
body.tbf-journey .tl-links--icons a i { color:#c8102e; font-size:18px; }
body.tbf-journey .tl-range--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.tbf-journey .tl-range--5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
body.tbf-journey .tl-split { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:center; }
body.tbf-journey .tl-split h2 { font-size:clamp(25px,2.6vw,32px); letter-spacing:-.7px; margin:0 0 14px; }
body.tbf-journey .tl-media { margin:0; border-radius:20px; overflow:hidden; background:#e9f0f7; box-shadow:0 10px 32px #14243a14; }
body.tbf-journey .tl-media img { display:block; width:100%; height:auto; }
body.tbf-journey .tl-quote { margin:24px 0 0; padding:18px 22px; border-left:4px solid #c8102e; border-radius:0 12px 12px 0; background:#fff; box-shadow:0 4px 18px #14243a0a; }
body.tbf-journey .tl-quote blockquote { margin:0; padding:0; border:0; }
body.tbf-journey .tl-prose .tl-quote p { margin:0; font-size:17px; line-height:1.6; font-weight:600; color:#14243a; }
body.tbf-journey .tl-quote figcaption { margin-top:10px; font-size:14px; color:#536176; }
body.tbf-journey .tl-quote figcaption a { color:#c8102e; font-weight:700; text-decoration:none; white-space:nowrap; }
body.tbf-journey .tl-founder { display:grid; grid-template-columns:270px minmax(0,1fr); gap:48px; padding:36px 40px; }
body.tbf-journey #founder { scroll-margin-top:90px; }
body.tbf-journey .tl-founder__profile { text-align:center; }
body.tbf-journey .tl-founder__photo { width:176px; height:176px; margin:0 auto 16px; border-radius:50%; overflow:hidden; border:4px solid #fff; box-shadow:0 6px 24px #14243a1f; background:#e9f0f7; }
body.tbf-journey .tl-founder__photo img { display:block; width:100%; height:100%; object-fit:cover; }
body.tbf-journey .tl-page .tl-founder__name { font-size:22px; font-weight:800; color:#14243a; margin:0 0 4px; }
body.tbf-journey .tl-founder__role { font-size:12px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:#c8102e; }
body.tbf-journey .tl-founder__place { margin-top:6px; font-size:14px; color:#536176; }
body.tbf-journey .tl-founder__facts { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:8px; text-align:left; }
body.tbf-journey .tl-founder__facts li { display:flex; gap:10px; align-items:center; padding:10px 12px; border:1px solid #e4e9f0; border-radius:10px; background:#f8fafc; font-size:14px; color:#14243a; }
body.tbf-journey .tl-founder__facts i { flex:none; font-size:18px; color:#c8102e; }
body.tbf-journey .tl-founder__letter h2 { font-size:clamp(24px,2.4vw,30px); letter-spacing:-.6px; margin:0 0 16px; }
body.tbf-journey .tl-page .tl-founder__letter p { font-size:16.5px; line-height:1.8; margin:0 0 16px; }
body.tbf-journey .tl-page .tl-founder__letter p strong { color:#14243a; }
body.tbf-journey .tl-page .tl-founder__pull { padding-left:18px; border-left:3px solid #c8102e; font-size:19px; line-height:1.55; font-weight:600; color:#14243a; }
body.tbf-journey .tl-founder__sign { margin-top:24px; padding-top:18px; border-top:1px solid #e4e9f0; }
body.tbf-journey .tl-founder__sign strong { display:block; font-size:20px; color:#14243a; }
body.tbf-journey .tl-founder__sign span { font-size:14px; color:#536176; }
body.tbf-journey .tl-panel { padding:32px 36px; max-width:none; background:#eaf1f8; border-color:#d5e1ee; box-shadow:none; }
body.tbf-journey .tl-panel h2 { margin-top:0; }
body.tbf-journey .tl-panel p:last-child { margin-bottom:0; }
body.tbf-journey .tl-times { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.tbf-journey .tl-times li { display:flex; flex-direction:column; gap:4px; padding:20px 22px; }
body.tbf-journey .tl-times i { font-size:22px; color:#c8102e; margin-bottom:6px; }
body.tbf-journey .tl-times span { font-size:14px; color:#536176; }
body.tbf-journey .tl-times strong { font-size:20px; color:#14243a; }
body.tbf-journey .tl-address { display:flex; gap:16px; align-items:flex-start; margin-top:16px; padding:22px 24px; }
body.tbf-journey .tl-address > i { font-size:28px; color:#c8102e; line-height:1; }
body.tbf-journey .tl-address h3 { font-size:17px; margin:0 0 6px; }
body.tbf-journey .tl-address address { margin:0; font-style:normal; font-size:15px; line-height:1.7; color:#3d4b60; }
@media (min-width: 992px) {
  /* About us: four buttons in the closing band go under the text instead of squeezing it */
  body.tbf-journey .tl-about .jh-help { flex-wrap:wrap; }
  body.tbf-journey .tl-about .jh-help > div:first-child { flex:1 1 420px; }
}
@media (max-width: 1199px) {
  body.tbf-journey .tl-range--5 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 991px) {
  body.tbf-journey .tl-doc { grid-template-columns:1fr; gap:0; padding-top:32px; }
  body.tbf-journey .tl-toc { display:none; }
  body.tbf-journey .tl-split, body.tbf-journey .tl-founder { grid-template-columns:1fr; gap:32px; }
  body.tbf-journey .tl-range--3, body.tbf-journey .tl-range--5, body.tbf-journey .tl-times { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  body.tbf-journey .tl-hero--plain { padding-bottom:32px; }
  body.tbf-journey .tl-range--3, body.tbf-journey .tl-range--5 { grid-template-columns:1fr; }
  body.tbf-journey .tl-doc__body .tl-links { grid-template-columns:1fr; }
  body.tbf-journey .tl-founder { padding:24px 18px; }
  body.tbf-journey .tl-panel { padding:24px 18px; }
  body.tbf-journey .tl-times { gap:10px; }
  body.tbf-journey .tl-times li { padding:16px; }
  body.tbf-journey .tl-times strong { font-size:17px; }
}

/* Support pages (refund, cancellation, payment, baggage, check-in, name change, PNR, student help): their shared sp-*
   layout in the light design. The pages keep their markup, forms and scripts (build_help.cjs removes only their dark
   <style> blocks and maps inline colours); the support form's success box stays hidden until its script shows it. */
body.tbf-journey .sp-page { display:block; min-height:80vh; padding-bottom:72px; background:linear-gradient(180deg,#e9f0f7 0,#f5f7fa 520px); color:#14243a; font-family:inherit; }
body.tbf-journey .sp-page .sp-c { width:min(1160px,calc(100% - 64px)); max-width:none; margin-inline:auto; padding:0; }
body.tbf-journey .sp-page .sp-c .sp-c { width:auto; }
body.tbf-journey .sp-page strong { color:#14243a; }
body.tbf-journey .sp-page p a, body.tbf-journey .sp-page li a { color:#c8102e; font-weight:600; }
body.tbf-journey .sp-page .tl-crumbs a { color:#536176; font-weight:400; }
body.tbf-journey .sp-page .tl-crumbs a:hover { color:#c8102e; }
body.tbf-journey .sp-page .sp-hero { padding:28px 0 32px; text-align:left; overflow:visible; }
body.tbf-journey .sp-page .sp-hero::before { content:none; }
body.tbf-journey .sp-page .sp-hero .tl-crumbs { margin-bottom:24px; }
body.tbf-journey .sp-page .sp-hero h1 { max-width:920px; margin:0 0 16px; font-size:clamp(32px,3.7vw,48px); line-height:1.1; letter-spacing:-1.2px; font-weight:800; color:#14243a; }
body.tbf-journey .sp-page .sp-hero h1 span { color:#c8102e; }
body.tbf-journey .sp-page .sp-hero .sub { max-width:720px; margin:0 0 26px; font-size:17px; line-height:1.65; color:#3d4b60; }
body.tbf-journey .sp-page .sp-ctas { display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-start; }
body.tbf-journey .sp-page .sp-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border:1px solid transparent; border-radius:8px; box-shadow:none; font:inherit; font-size:15px; font-weight:700; line-height:1.2; text-decoration:none; cursor:pointer; transform:none; transition:background .15s,border-color .15s; }
body.tbf-journey .sp-page .sp-btn i { font-size:19px; }
body.tbf-journey .sp-page .sp-btn:focus-visible { outline:3px solid #14243a; outline-offset:2px; }
body.tbf-journey .sp-page .sp-btn-p { background:#c8102e; color:#fff; }
body.tbf-journey .sp-page .sp-btn-p:hover { background:#a60b25; box-shadow:none; transform:none; }
body.tbf-journey .sp-page .sp-btn-p[disabled] { opacity:.7; cursor:default; }
body.tbf-journey .sp-page .sp-btn-s { background:#fff; color:#14243a; border-color:#c5d0dc; }
body.tbf-journey .sp-page .sp-btn-s:hover { background:#fff; border-color:#14243a; }
body.tbf-journey .sp-page .sp-btn-wa { background:#fff; color:#0b7a4b; border-color:#b9e0cb; }
body.tbf-journey .sp-page .sp-btn-wa:hover { background:#f0faf4; border-color:#8fd0ad; }
body.tbf-journey .sp-page .sp-trust { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px 28px; padding:4px 0 28px; border-bottom:1px solid #dce3ec; }
body.tbf-journey .sp-page .sp-trust-item { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:#3d4b60; }
body.tbf-journey .sp-page .sp-trust i { font-size:18px; color:#087867; }
body.tbf-journey .sp-page .sp-sec { padding:44px 0; }
body.tbf-journey .sp-page .sp-sec[id] { scroll-margin-top:80px; }
body.tbf-journey .sp-page .sp-sec-t { margin:0 0 10px; text-align:left; font-size:clamp(25px,2.6vw,32px); line-height:1.2; letter-spacing:-.7px; font-weight:800; color:#14243a; }
body.tbf-journey .sp-page .sp-sec-t span { color:inherit; }
body.tbf-journey .sp-page .sp-sec-sub { max-width:720px; margin:0 0 24px; text-align:left; font-size:16px; line-height:1.6; color:#536176; }
body.tbf-journey .sp-page .sp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
body.tbf-journey .sp-page .sp-card { padding:22px; background:#fff; border:1px solid #dce3ec; border-radius:16px; box-shadow:0 4px 18px #14243a0a; transition:border-color .15s,box-shadow .15s; }
body.tbf-journey .sp-page .sp-card:hover { border-color:#b6c3d3; box-shadow:0 6px 24px #14243a14; transform:none; }
body.tbf-journey .sp-page .sp-card i.icon { display:block; margin:0 0 12px; font-size:24px; color:#c8102e; }
body.tbf-journey .sp-page .sp-card h3 { margin:0 0 6px; font-size:16px; line-height:1.35; font-weight:700; color:#14243a; }
body.tbf-journey .sp-page .sp-card p { margin:0; font-size:14px; line-height:1.6; color:#536176; }
body.tbf-journey .sp-page .sp-card li { color:#3d4b60; }
body.tbf-journey .sp-page .sp-card a { display:inline-flex; align-items:center; gap:4px; margin-top:12px; font-size:14px; font-weight:700; color:#c8102e; text-decoration:none; }
body.tbf-journey .sp-page .sp-card a:hover { text-decoration:underline; }
body.tbf-journey .sp-page .sp-warn { display:flex; gap:14px; align-items:flex-start; max-width:none; margin:0 0 32px; padding:18px 20px; background:#edf4ff; border:1px solid #c9dcf5; border-radius:12px; }
body.tbf-journey .sp-page .sp-warn i { flex-shrink:0; margin-top:1px; font-size:22px; color:#1d5fbf; }
body.tbf-journey .sp-page .sp-warn p { margin:0; font-size:15px; line-height:1.65; color:#3d4b60; }
body.tbf-journey .sp-page .sp-warn strong { color:#1d5fbf; }
body.tbf-journey .sp-page--amber .sp-warn { background:#fff6e6; border-color:#f2dcae; }
body.tbf-journey .sp-page--amber .sp-warn i, body.tbf-journey .sp-page--amber .sp-warn strong { color:#8a5a00; }
body.tbf-journey .sp-page .sp-warn.sp-danger { background:#fff0f3; border-color:#f5c2cc; }
body.tbf-journey .sp-page .sp-warn.sp-danger i, body.tbf-journey .sp-page .sp-warn.sp-danger strong { color:#c8102e; }
body.tbf-journey .sp-page .sp-steps { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; counter-reset:step; }
body.tbf-journey .sp-page .sp-step { padding:20px; text-align:left; background:#fff; border:1px solid #dce3ec; border-radius:16px; }
body.tbf-journey .sp-page .sp-step::before { counter-increment:step; content:counter(step); display:grid; place-items:center; width:34px; height:34px; margin:0 0 14px; border:0; border-radius:50%; background:#14243a; color:#fff; font-size:15px; font-weight:700; }
body.tbf-journey .sp-page .sp-step h4 { margin:0 0 6px; font-size:16px; font-weight:700; color:#14243a; }
body.tbf-journey .sp-page .sp-step p { margin:0; font-size:14px; line-height:1.55; color:#536176; }
body.tbf-journey .sp-page :is(.sp-tbl,.nc-table,.pnr-table,.st-table) { width:100%; max-width:none; margin:16px 0; border-collapse:separate; border-spacing:0; overflow:hidden; background:#fff; border:1px solid #dce3ec; border-radius:12px; font-size:14px; }
body.tbf-journey .sp-page :is(.sp-tbl,.nc-table,.pnr-table,.st-table) th { padding:12px 16px; text-align:left; background:#f0f4f9; border-bottom:1px solid #dce3ec; color:#14243a; font-size:13px; font-weight:700; text-transform:none; letter-spacing:0; }
body.tbf-journey .sp-page :is(.sp-tbl,.nc-table,.pnr-table,.st-table) td { padding:12px 16px; border-bottom:1px solid #e4e9f0; color:#3d4b60; font-size:14px; }
body.tbf-journey .sp-page :is(.sp-tbl,.nc-table,.pnr-table,.st-table) tr:last-child td { border-bottom:0; }
body.tbf-journey .sp-page :is(.sp-tbl,.nc-table,.pnr-table,.st-table) tr:hover td { background:#f8fafc; }
body.tbf-journey .sp-page .sp-faq { max-width:900px; margin:0; }
body.tbf-journey .sp-page .sp-faq-i { margin:0; overflow:hidden; background:none; border:0; border-bottom:1px solid #dce3ec; border-radius:0; }
body.tbf-journey .sp-page .sp-faq-q { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; cursor:pointer; font-size:17px; font-weight:500; color:#14243a; }
body.tbf-journey .sp-page .sp-faq-q:hover { color:#c8102e; }
body.tbf-journey .sp-page .sp-faq-q i { flex:none; display:grid; place-items:center; width:30px; height:30px; border:1px solid #dce3ec; border-radius:50%; color:#14243a; font-size:18px; transition:transform .2s; }
body.tbf-journey .sp-page .sp-faq-i.open .sp-faq-q i { transform:rotate(180deg); color:#c8102e; }
body.tbf-journey .sp-page .sp-faq-a { max-height:0; padding:0; overflow:hidden; transition:max-height .3s ease; }
body.tbf-journey .sp-page .sp-faq-i.open .sp-faq-a { max-height:900px; padding:0 0 18px; }
body.tbf-journey .sp-page .sp-faq-a p { margin:0; font-size:15px; line-height:1.7; color:#536176; }
body.tbf-journey .sp-page .sp-seo { margin-top:24px; padding:32px 36px; background:#eaf1f8; border:1px solid #d5e1ee; border-radius:16px; }
body.tbf-journey .sp-page .sp-seo h2 { margin:0 0 12px; font-size:clamp(22px,2.3vw,28px); font-weight:800; color:#14243a; }
body.tbf-journey .sp-page .sp-seo h3 { margin:24px 0 10px; font-size:18px; font-weight:700; color:#14243a; }
body.tbf-journey .sp-page .sp-seo p { max-width:860px; margin:0 0 14px; font-size:16px; line-height:1.75; color:#3d4b60; }
body.tbf-journey .sp-page .sp-seo a { color:#c8102e; font-weight:600; text-decoration:none; }
body.tbf-journey .sp-page .sp-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
body.tbf-journey .sp-page .sp-links a { display:inline-flex; align-items:center; gap:6px; padding:10px 16px; background:#fff; border:1px solid #dce3ec; border-radius:10px; color:#14243a; font-size:14px; font-weight:600; text-decoration:none; transition:border-color .15s,color .15s; }
body.tbf-journey .sp-page .sp-links a:hover { border-color:#b6c3d3; color:#c8102e; }
body.tbf-journey .sp-page .sp-links a i { color:#c8102e; }
body.tbf-journey .sp-page .sp-fw { max-width:860px; margin:0; padding:32px; background:#fff; border:1px solid #dce3ec; border-radius:16px; box-shadow:0 4px 18px #14243a0a; }
body.tbf-journey .sp-page .sp-fg { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
body.tbf-journey .sp-page .sp-f { display:flex; flex-direction:column; gap:6px; }
body.tbf-journey .sp-page .sp-f.full { grid-column:1/-1; }
body.tbf-journey .sp-page .sp-f label { font-size:13px; font-weight:700; color:#14243a; text-transform:none; letter-spacing:0; }
body.tbf-journey .sp-page .sp-f label .req { color:#c8102e; }
body.tbf-journey .sp-page .sp-f :is(input,select,textarea) { width:100%; min-height:46px; box-sizing:border-box; margin:0; padding:10px 12px; border:1px solid #c5d0dc!important; border-radius:8px; background:#fff!important; color:#14243a!important; -webkit-text-fill-color:#14243a; font:inherit; font-size:15px; line-height:1.4; box-shadow:none; outline:none; }
body.tbf-journey .sp-page .sp-f :is(input,select,textarea):focus { border-color:#14243a!important; box-shadow:0 0 0 3px #14243a1f; }
body.tbf-journey .sp-page .sp-f :is(input,textarea)::placeholder { color:#8593a5; -webkit-text-fill-color:#8593a5; opacity:1; }
body.tbf-journey .sp-page .sp-f textarea { min-height:92px; resize:vertical; }
body.tbf-journey .sp-page .sp-f select { appearance:none; padding-right:36px; background:#fff url("data:image/svg+xml,%3csvg viewBox='0 0 24 24' fill='%23536176' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e") no-repeat right 10px center / 20px!important; }
body.tbf-journey .sp-page .sp-f select option { background:#fff; color:#14243a; }
body.tbf-journey .sp-page .sp-sr { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:20px; }
body.tbf-journey .sp-page .sp-ok { display:none; padding:28px 12px; text-align:center; }
body.tbf-journey .sp-page .sp-ok i { display:block; margin-bottom:10px; font-size:46px; color:#08744c; }
body.tbf-journey .sp-page .sp-ok h3 { margin:0 0 8px; font-size:20px; font-weight:800; color:#14243a; }
body.tbf-journey .sp-page .sp-ok p { font-size:15px; line-height:1.6; color:#536176; }
@media (max-width: 768px) {
  body.tbf-journey .sp-page .sp-c { width:calc(100% - 32px); }
  body.tbf-journey .sp-page .sp-hero { padding:16px 0 24px; }
  body.tbf-journey .sp-page .sp-hero h1 { font-size:30px; letter-spacing:-1px; }
  body.tbf-journey .sp-page .sp-hero .sub { font-size:16px; }
  body.tbf-journey .sp-page .sp-sec { padding:36px 0; }
  body.tbf-journey .sp-page .sp-warn { flex-direction:column; gap:8px; }
  body.tbf-journey .sp-page .sp-fw { padding:20px 16px; }
  body.tbf-journey .sp-page .sp-fg { grid-template-columns:1fr; }
  body.tbf-journey .sp-page .sp-sr { flex-direction:column; align-items:stretch; }
  body.tbf-journey .sp-page .sp-sr .sp-btn { width:100%; }
  body.tbf-journey .sp-page .sp-seo { padding:24px 18px; }
  body.tbf-journey .sp-page :is(.sp-tbl,.nc-table,.pnr-table,.st-table) { display:block; overflow-x:auto; }
}
@media (max-width: 640px) {
  body.tbf-journey .sp-page .sp-ctas { flex-direction:column; align-items:stretch; }
  body.tbf-journey .sp-page .sp-ctas .sp-btn { width:100%; }
  body.tbf-journey .sp-page .sp-grid { grid-template-columns:1fr!important; }
  body.tbf-journey .sp-page .sp-steps { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  body.tbf-journey .sp-page :is(.sp-btn,.sp-card,.sp-links a,.sp-faq-q i,.sp-faq-a) { transition:none; }
}

/* Help Center (help-center.php): its hc-* layout in the light design. The search filter and the FAQ buttons keep their
   scripts (filterFAQ hides cards and questions with an inline display; toggleHelpFAQ adds .open). The FAQ page reuses
   .jh-faq, .tl-times and .tl-links. */
body.tbf-journey .tl-faq-page .tl-links { margin-top:16px; }
body.tbf-journey .hc-page { display:block; min-height:80vh; padding-bottom:72px; background:linear-gradient(180deg,#e9f0f7 0,#f5f7fa 520px); color:#14243a; font-family:inherit; }
body.tbf-journey .hc-page .hc-c { width:min(1160px,calc(100% - 64px)); max-width:none; margin-inline:auto; padding:0; }
body.tbf-journey .hc-page .tl-crumbs a { color:#536176; font-weight:400; }
body.tbf-journey .hc-page .hc-hero { padding:28px 0 8px; text-align:left; overflow:visible; }
body.tbf-journey .hc-page .hc-hero::before { content:none; }
body.tbf-journey .hc-page .hc-hero .tl-crumbs { margin-bottom:24px; }
body.tbf-journey .hc-page .hc-hero h1 { margin:0 0 14px; font-size:clamp(32px,3.7vw,48px); line-height:1.1; letter-spacing:-1.2px; font-weight:800; color:#14243a; }
body.tbf-journey .hc-page .hc-hero h1 span { color:#c8102e; }
body.tbf-journey .hc-page .hc-hero .sub { max-width:640px; margin:0 0 24px; font-size:17px; line-height:1.65; color:#3d4b60; }
body.tbf-journey .hc-page .hc-search { display:flex; align-items:center; gap:12px; max-width:560px; min-height:52px; margin:0 0 10px; padding:0 16px; background:#fff; border:1px solid #c5d0dc; border-radius:12px; box-shadow:0 4px 18px #14243a0a; }
body.tbf-journey .hc-page .hc-search:focus-within { border-color:#14243a; box-shadow:0 0 0 3px #14243a1f; }
body.tbf-journey .hc-page .hc-search i { font-size:20px; color:#536176; }
body.tbf-journey .hc-page .hc-search input { width:100%; min-height:48px; padding:0; border:0!important; background:transparent!important; color:#14243a!important; -webkit-text-fill-color:#14243a; font:inherit; font-size:16px; outline:none; box-shadow:none; }
body.tbf-journey .hc-page .hc-search input::placeholder { color:#8593a5; -webkit-text-fill-color:#8593a5; opacity:1; }
body.tbf-journey .hc-page #hcSearchStatus { min-height:20px; margin:0; font-size:14px; }
body.tbf-journey .hc-page .hc-cats { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; padding:28px 0 48px; }
body.tbf-journey .hc-page .hc-cat { position:relative; display:flex; flex-direction:column; gap:6px; padding:22px 22px 24px; overflow:hidden; background:#fff; border:1px solid #dce3ec; border-radius:16px; box-shadow:0 4px 18px #14243a0a; color:#14243a; text-decoration:none; transition:border-color .15s,box-shadow .15s; }
body.tbf-journey .hc-page .hc-cat::before { content:none; }
body.tbf-journey .hc-page .hc-cat:hover { border-color:#b6c3d3; box-shadow:0 6px 24px #14243a14; transform:none; }
body.tbf-journey .hc-page .hc-cat i.icon { display:block; margin:0 0 8px; font-size:24px; color:#c8102e; }
body.tbf-journey .hc-page .hc-cat h3 { margin:0; font-size:16px; font-weight:700; color:#14243a; }
body.tbf-journey .hc-page .hc-cat p { margin:0; font-size:14px; line-height:1.55; color:#536176; }
body.tbf-journey .hc-page .hc-cat .count { position:absolute; top:18px; right:18px; padding:3px 8px; border-radius:999px; background:#fff0f3; color:#a60b25; font-size:11px; font-weight:700; }
body.tbf-journey .hc-page .hc-sec { padding:44px 0; border-top:1px solid #dce3ec; }
body.tbf-journey .hc-page .hc-sec-t { margin:0 0 8px; text-align:left; font-size:clamp(25px,2.6vw,32px); line-height:1.2; letter-spacing:-.7px; font-weight:800; color:#14243a; }
body.tbf-journey .hc-page .hc-sec-t span { color:inherit; }
body.tbf-journey .hc-page .hc-sec-sub { margin:0 0 24px; text-align:left; font-size:16px; color:#536176; }
body.tbf-journey .hc-page .hc-sec h3 { color:#14243a; }
body.tbf-journey .hc-page .hc-faq { max-width:900px; margin:0; }
body.tbf-journey .hc-page .hc-faq-i { margin:0; overflow:hidden; background:none; border:0; border-bottom:1px solid #dce3ec; border-radius:0; }
body.tbf-journey .hc-page .hc-faq-q { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; padding:20px 0; background:transparent; border:0; text-align:left; cursor:pointer; font:inherit; font-size:17px; font-weight:500; color:#14243a; }
body.tbf-journey .hc-page .hc-faq-q:hover { color:#c8102e; }
body.tbf-journey .hc-page .hc-faq-q:focus-visible { outline:3px solid #14243a; outline-offset:2px; }
body.tbf-journey .hc-page .hc-faq-q i { flex:none; display:grid; place-items:center; width:30px; height:30px; border:1px solid #dce3ec; border-radius:50%; color:#14243a; font-size:18px; transition:transform .2s; }
body.tbf-journey .hc-page .hc-faq-i.open .hc-faq-q i { transform:rotate(180deg); color:#c8102e; }
body.tbf-journey .hc-page .hc-faq-a { max-height:0; padding:0; overflow:hidden; transition:max-height .3s; }
body.tbf-journey .hc-page .hc-faq-i.open .hc-faq-a { max-height:900px; padding:0 0 18px; }
body.tbf-journey .hc-page .hc-faq-a p { margin:0; font-size:15px; line-height:1.7; color:#536176; }
body.tbf-journey .hc-page .hc-contact { max-width:none; margin:0; padding:32px 36px; text-align:left; background:#e8eef5; border:0; border-radius:16px; }
body.tbf-journey .hc-page .hc-contact h3 { margin:0 0 8px; font-size:24px; font-weight:800; color:#14243a; }
body.tbf-journey .hc-page .hc-contact p { margin:0 0 20px; font-size:16px; line-height:1.6; color:#3d4b60; }
body.tbf-journey .hc-page .hc-contact-btns { display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-start; }
body.tbf-journey .hc-page .hc-contact-btns a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border:1px solid transparent; border-radius:8px; box-shadow:none; font-size:15px; font-weight:700; text-decoration:none; transform:none; transition:background .15s,border-color .15s; }
body.tbf-journey .hc-page .hc-btn-primary { background:#c8102e; color:#fff; }
body.tbf-journey .hc-page .hc-btn-primary:hover { background:#a60b25; box-shadow:none; transform:none; }
body.tbf-journey .hc-page .hc-btn-secondary { background:#fff; color:#14243a; border-color:#c5d0dc; }
body.tbf-journey .hc-page .hc-btn-secondary:hover { border-color:#14243a; color:#14243a; }
@media (max-width: 768px) {
  body.tbf-journey .hc-page .hc-c { width:calc(100% - 32px); }
  body.tbf-journey .hc-page .hc-hero { padding:16px 0 4px; }
  body.tbf-journey .hc-page .hc-hero h1 { font-size:30px; letter-spacing:-1px; }
  body.tbf-journey .hc-page .hc-hero .sub { font-size:16px; }
  body.tbf-journey .hc-page .hc-cats { grid-template-columns:1fr 1fr; gap:10px; padding:20px 0 36px; }
  body.tbf-journey .hc-page .hc-cat { padding:16px; }
  body.tbf-journey .hc-page .hc-cat .count { position:static; align-self:flex-start; order:-1; margin-bottom:4px; }
  body.tbf-journey .hc-page .hc-sec { padding:36px 0; }
  body.tbf-journey .hc-page .hc-contact { padding:24px 18px; }
  body.tbf-journey .hc-page .hc-contact-btns { flex-direction:column; }
}
@media (max-width: 480px) {
  body.tbf-journey .hc-page .hc-cats { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  body.tbf-journey .hc-page :is(.hc-cat,.hc-faq-q i,.hc-faq-a,.hc-contact-btns a) { transition:none; }
}
