.tc-taxi {
  --tc-taxi-ink: #28262f;
  --tc-taxi-muted: #57535d;
  --tc-taxi-pale: #e4fffc;
  --tc-taxi-orange: #f7921e;
  --tc-taxi-line: #d7dedc;
  background: #faffff;
  color: var(--tc-taxi-ink);
  font: 21px/1.5 ALMONI, sans-serif;
  padding: 0 3.2% 80px;
}
.tc-taxi *, .tc-taxi *::before, .tc-taxi *::after { box-sizing: border-box; }
.tc-taxi [hidden] { display: none !important; }
.tc-taxi ::selection { background: var(--tc-taxi-orange); color: var(--tc-taxi-ink); }
.tc-taxi :focus-visible { outline: 3px solid #94500a; outline-offset: 5px; }
.tc-taxi a { color: inherit; text-underline-offset: 4px; }
.tc-taxi a:visited { color: inherit; }
.tc-taxi button { font: inherit; cursor: pointer; }
.tc-taxi button:disabled { cursor: default; opacity: .45; }
.tc-taxi h1, .tc-taxi h2, .tc-taxi h3, .tc-taxi p, .tc-taxi figure, .tc-taxi dl { margin: 0; }
.tc-taxi h1, .tc-taxi h2 { font-family: barlev, ALMONI, sans-serif; font-weight: 400; line-height: 1.12; text-wrap: balance; }
.tc-taxi h1 { font-size: clamp(58px, 6.4vw, 90px); }
.tc-taxi h2 { font-size: clamp(38px, 4.3vw, 60px); }
.tc-taxi h1 span, .tc-taxi h2 span { color: #8c4b09; }
.tc-taxi h3 { font-size: 27px; font-weight: 700; line-height: 1.25; }
.tc-taxi p { max-width: 68ch; }
.tc-taxi p + p { margin-top: 17px; }
.tc-taxi .tc-taxi-lead { font-size: 25px; line-height: 1.45; color: var(--tc-taxi-ink); }
.tc-taxi section[id] { scroll-margin-top: 120px; }
.tc-taxi svg { flex: none; }
.tc-taxi-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: center;
  gap: clamp(40px, 7vw, 110px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 55px 0 65px;
}
.tc-taxi-hero-copy { min-width: 0; }
.tc-taxi-hero-copy > .tc-taxi-lead { margin-top: 27px; max-width: 34ch; }
.tc-taxi-hero-copy > p:not(.tc-taxi-lead) { color: var(--tc-taxi-muted); max-width: 46ch; }
.tc-taxi-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 23px; margin-top: 30px; }
.tc-taxi .tc-taxi-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 52px;
  padding: 12px 23px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.25;
  transition: background-color .18s ease-out;
}
.tc-taxi .tc-taxi-button--orange { background: var(--tc-taxi-orange); color: var(--tc-taxi-ink); }
.tc-taxi .tc-taxi-button--orange:hover { background: #ffad4c; }
.tc-taxi .tc-taxi-button--dark { background: var(--tc-taxi-ink); color: #faffff; }
.tc-taxi .tc-taxi-button--dark:hover { background: #43404e; }
.tc-taxi-text-link { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; text-decoration: underline; min-height: 44px; }
.tc-taxi .tc-taxi-hero-contact { font-size: 18px; margin-top: 18px; }
.tc-taxi-hero-contact a { white-space: nowrap; }
.tc-taxi-hero-cover { justify-self: center; width: min(100%, 345px); }
.tc-taxi-hero-cover > a { display: block; box-shadow: 0 18px 44px #28262f22; }
.tc-taxi-hero-cover img { display: block; width: 100%; height: auto; }
.tc-taxi-hero-cover figcaption { font-size: 18px; margin-top: 18px; color: var(--tc-taxi-muted); text-align: center; }
.tc-taxi-booking { max-width: 1180px; margin: 0 auto; padding: 23px 0; border-top: 1px solid var(--tc-taxi-line); border-bottom: 1px solid var(--tc-taxi-line); display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.tc-taxi-booking p { font-weight: 700; font-size: 24px; }
.tc-taxi-booking a { display: inline-flex; align-items: center; gap: 18px; font-weight: 700; min-height: 44px; }
.tc-taxi-section { max-width: 1180px; margin: 0 auto; padding-top: 92px; }
.tc-taxi-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 70px; align-items: start; margin-bottom: 40px; }
.tc-taxi-section-heading > p, .tc-taxi-section-heading > div > p { color: var(--tc-taxi-muted); }
.tc-taxi-section-heading .tc-taxi-lead { color: var(--tc-taxi-ink); }
.tc-taxi-service-list > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 70px; padding: 23px 0; border-bottom: 1px solid var(--tc-taxi-line); }
.tc-taxi-service-list > div:first-child { border-top: 1px solid var(--tc-taxi-line); }
.tc-taxi-service-list dt, .tc-taxi-finance-list dt { font-size: 27px; font-weight: 700; line-height: 1.3; }
.tc-taxi-service-list dd, .tc-taxi-finance-list dd { margin: 0; max-width: 58ch; color: var(--tc-taxi-muted); }
.tc-taxi-booking-channels { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 70px; margin-top: 37px; }
.tc-taxi-booking-channels p { color: var(--tc-taxi-muted); }
.tc-taxi .tc-taxi-qualification { font-size: 18px; color: var(--tc-taxi-muted); margin-top: 20px; }
.tc-taxi-finance { max-width: 1300px; margin: 85px auto 0; padding: 60px; border-radius: 30px; background: var(--tc-taxi-ink); color: #faffff; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 75px; }
.tc-taxi-finance h2 span { color: var(--tc-taxi-orange); }
.tc-taxi-finance-heading > p { color: var(--tc-taxi-pale); margin-top: 24px; max-width: 34ch; }
.tc-taxi-finance-list > div { padding: 25px 0; border-bottom: 1px solid #55515e; }
.tc-taxi-finance-list > div:first-child { padding-top: 0; }
.tc-taxi-finance-list > div:last-child { border-bottom: 0; padding-bottom: 0; }
.tc-taxi-finance-list dd { margin-top: 10px; color: #e4e0ec; }
.tc-taxi .tc-taxi-finance-note { color: #e4e0ec; font-size: 18px; margin-top: 32px; }
.tc-taxi-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; padding: 0 25px 0 0; margin: 0; list-style: decimal; }
.tc-taxi-steps > li { padding: 16px 8px 0 0; border-top: 1px solid var(--tc-taxi-line); }
.tc-taxi-steps > li::marker { font-size: 27px; color: #8c4b09; font-weight: 700; }
.tc-taxi-steps h3 { margin-top: 0; }
.tc-taxi-steps p { color: var(--tc-taxi-muted); margin-top: 14px; }
.tc-taxi-brochure { padding-bottom: 80px; }
.tc-taxi-pdf-links { display: flex; align-items: start; flex-wrap: wrap; gap: 6px 25px; margin-top: 16px; }
.tc-taxi-new-window { font-size: 17px; font-weight: 400; }
.tc-taxi-page-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid #b5c9c5; }
.tc-taxi-page-buttons button { min-width: 0; min-height: 58px; padding: 12px 10px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--tc-taxi-muted); font-weight: 700; }
.tc-taxi-page-buttons button span { margin-inline-end: 7px; font-variant-numeric: tabular-nums; }
.tc-taxi-page-buttons button[aria-pressed="true"] { border-bottom-color: #8c4b09; color: var(--tc-taxi-ink); background: var(--tc-taxi-pale); }
.tc-taxi-page-buttons button:hover { color: var(--tc-taxi-ink); background: #eef8f6; }
.tc-taxi-reader-navigation { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; }
.tc-taxi .tc-taxi-page-count { font-size: 19px; text-align: center; font-variant-numeric: tabular-nums; margin: 0; }
.tc-taxi-page-step { min-height: 44px; padding: 8px 17px; border: 1px solid #a4b4b0; border-radius: 999px; background: #faffff; color: var(--tc-taxi-ink); line-height: 1.2; }
.tc-taxi-page-step:not(:disabled):hover { background: var(--tc-taxi-pale); }
.tc-taxi-brochure-pages { background: #eaf3f1; padding: 35px; border-radius: 16px; }
.tc-taxi-brochure-pages figure { max-width: 650px; margin-inline: auto; }
.tc-taxi-brochure-pages figure + figure { margin-top: 45px; }
.tc-taxi-brochure[data-tc-taxi-enhanced] .tc-taxi-brochure-pages figure { margin-top: 0; }
.tc-taxi-brochure-pages img { display: block; width: 100%; height: auto; background: #fff; }
.tc-taxi-brochure-pages figcaption { font-size: 18px; text-align: center; color: #40544f; margin-top: 18px; }
.tc-taxi-reader-message { color: #7a3d08; font-size: 19px; padding: 16px 0; }
.tc-taxi-reader-message[data-tc-taxi-error="true"] { color: #a01f2d; }
.tc-taxi-contact { max-width: 1180px; margin: 0 auto; padding: 45px 50px; border-radius: 28px; background: var(--tc-taxi-pale); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 50px; align-items: center; }
.tc-taxi-contact > div > p { margin-top: 19px; max-width: 40ch; color: #40544f; }
.tc-taxi-contact-details { display: flex; align-items: flex-start; flex-direction: column; gap: 17px; justify-self: end; }
.tc-taxi .tc-taxi-contact-details > p { color: var(--tc-taxi-ink); margin-top: 0; }
.tc-taxi-contact-details bdi { white-space: nowrap; }

@media (max-width: 1050px) {
  .tc-taxi-hero { gap: 45px; }
  .tc-taxi h1 { font-size: 70px; }
  .tc-taxi-section-heading, .tc-taxi-service-list > div, .tc-taxi-booking-channels { gap: 40px; }
  .tc-taxi-finance { gap: 40px; padding: 45px 35px; }
  .tc-taxi-finance h2 { font-size: 47px; }
  .tc-taxi-steps { gap: 35px; }
  .tc-taxi-contact { gap: 30px; padding: 38px 32px; }
  .tc-taxi-contact-details .tc-taxi-button { gap: 12px; font-size: 19px; }
}
@media (max-width: 767px) {
  .tc-taxi { padding: 0 20px 45px; font-size: 20px; }
  .tc-taxi h1 { font-size: clamp(52px, 12.7vw, 70px); }
  .tc-taxi h2 { font-size: 43px; }
  .tc-taxi h3 { font-size: 26px; }
  .tc-taxi .tc-taxi-lead { font-size: 23px; }
  .tc-taxi-hero { grid-template-columns: 1fr; padding: 35px 0 36px; gap: 35px; }
  .tc-taxi-hero-copy > .tc-taxi-lead { margin-top: 21px; }
  .tc-taxi-actions { gap: 10px 20px; margin-top: 23px; }
  .tc-taxi .tc-taxi-button { min-height: 50px; font-size: 20px; padding: 12px 20px; gap: 18px; }
  .tc-taxi .tc-taxi-hero-contact { font-size: 17px; margin-top: 14px; }
  .tc-taxi-hero-cover { width: min(100%, 275px); }
  .tc-taxi-hero-cover figcaption { font-size: 17px; margin-top: 13px; }
  .tc-taxi-booking { align-items: flex-start; flex-direction: column; gap: 2px; padding: 20px 0; }
  .tc-taxi-booking p { font-size: 23px; }
  .tc-taxi-section { padding-top: 55px; }
  .tc-taxi-section-heading { grid-template-columns: 1fr; gap: 23px; margin-bottom: 27px; }
  .tc-taxi-service-list > div { grid-template-columns: 1fr; gap: 10px; padding: 21px 0; }
  .tc-taxi-service-list dt, .tc-taxi-finance-list dt { font-size: 26px; }
  .tc-taxi-booking-channels { grid-template-columns: 1fr; gap: 12px; margin-top: 29px; }
  .tc-taxi .tc-taxi-qualification { font-size: 17px; margin-top: 17px; }
  .tc-taxi-finance { grid-template-columns: 1fr; border-radius: 24px; margin-top: 48px; padding: 32px 25px; gap: 30px; }
  .tc-taxi-finance h2 { font-size: 42px; }
  .tc-taxi-finance-heading > p { margin-top: 20px; }
  .tc-taxi-finance-list > div { padding: 23px 0; }
  .tc-taxi .tc-taxi-finance-note { font-size: 17px; margin-top: 24px; }
  .tc-taxi-steps { grid-template-columns: 1fr; gap: 25px; padding-inline-start: 25px; }
  .tc-taxi-steps > li { padding-top: 19px; padding-inline-start: 5px; }
  .tc-taxi-steps p { margin-top: 10px; }
  .tc-taxi-brochure { padding-bottom: 48px; }
  .tc-taxi-pdf-links { gap: 3px 19px; margin-top: 13px; }
  .tc-taxi-pdf-links > a { flex-wrap: wrap; gap: 0 7px; }
  .tc-taxi-page-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .tc-taxi-page-buttons button { padding: 11px 5px; font-size: 17px; line-height: 1.25; min-height: 64px; white-space: normal; overflow-wrap: anywhere; }
  .tc-taxi-page-buttons button span { display: block; margin-inline-end: 0; margin-bottom: 4px; }
  .tc-taxi-reader-navigation { flex-wrap: wrap; gap: 10px; padding: 17px 0; }
  .tc-taxi .tc-taxi-page-count { order: -1; width: 100%; max-width: none; font-size: 18px; }
  .tc-taxi-page-step { font-size: 19px; }
  .tc-taxi-brochure-pages { padding: 13px; border-radius: 12px; }
  .tc-taxi-brochure-pages figcaption { font-size: 17px; margin-top: 13px; }
  .tc-taxi-contact { grid-template-columns: 1fr; border-radius: 24px; padding: 31px 24px; gap: 25px; }
  .tc-taxi-contact-details { justify-self: start; gap: 13px; width: 100%; }
  .tc-taxi .tc-taxi-contact-details .tc-taxi-button { gap: 9px; font-size: 19px; padding: 13px 16px; max-width: 100%; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .tc-taxi *, .tc-taxi *::before, .tc-taxi *::after { transition: none !important; scroll-behavior: auto !important; }
}
