/*
 * typography.css
 * ─────────────────────────────────────────────────────────────────
 * Plus Jakarta Sans — Premium Logistics & Corporate Typography
 *
 * Inspired by the visual language of Virgin Atlantic, DHL, Maersk,
 * and modern corporate logistics brands: sharp, confident, clean,
 * and highly legible at every size.
 *
 * Weight system:
 *   300 — Light       (fine print, captions)
 *   400 — Regular     (body text, paragraphs, descriptions)
 *   500 — Medium      (navigation, labels, meta, utility text)
 *   600 — SemiBold    (sub-headings, card titles, buttons)
 *   700 — Bold        (section headings, feature titles)
 *   800 — ExtraBold   (hero headings, banners, page titles)
 *
 * Google Fonts URL (loaded in header.php):
 *   https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:
 *   ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;
 *   1,300;1,400;1,500;1,600;1,700;1,800&display=swap
 * ─────────────────────────────────────────────────────────────────
 */


/* ═══════════════════════════════════════════════════════════════════
   1. GLOBAL FONT VARIABLES
   ═══════════════════════════════════════════════════════════════════ */

:root {
  --tanspot-font:     "Plus Jakarta Sans", sans-serif;
  --tanspot-font-two: "Plus Jakarta Sans", sans-serif;
}


/* ═══════════════════════════════════════════════════════════════════
   2. BASE RESET & BODY
   ═══════════════════════════════════════════════════════════════════ */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}


/* ═══════════════════════════════════════════════════════════════════
   3. HEADING SCALE
   ═══════════════════════════════════════════════════════════════════ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.025em;
  margin-top: 0;
  margin-bottom: 0;
}

/* Fluid scale — interpolates smoothly between viewport widths */
h1 { font-size: clamp(2.25rem,  5.5vw, 3.75rem); font-weight: 800; letter-spacing: -0.03em; }
h2 { font-size: clamp(1.75rem,  4.5vw, 3rem);    font-weight: 800; letter-spacing: -0.028em; }
h3 { font-size: clamp(1.4rem,   3.5vw, 2.25rem); font-weight: 700; letter-spacing: -0.022em; }
h4 { font-size: clamp(1.15rem,  2.8vw, 1.625rem); font-weight: 700; letter-spacing: -0.018em; }
h5 { font-size: clamp(1rem,     2.2vw, 1.25rem);  font-weight: 600; letter-spacing: -0.012em; }
h6 { font-size: clamp(0.875rem, 1.8vw, 1rem);     font-weight: 600; letter-spacing: -0.008em; }


/* ═══════════════════════════════════════════════════════════════════
   4. PARAGRAPHS & BODY COPY
   ═══════════════════════════════════════════════════════════════════ */

p {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.01em;
}

p + p {
  margin-top: 1em;
}

small,
.text-small {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
}

strong, b {
  font-weight: 700;
}

em, i {
  font-style: italic;
}


/* ═══════════════════════════════════════════════════════════════════
   5. SECTION TITLES
   ═══════════════════════════════════════════════════════════════════ */

.section-title {
  margin-bottom: 50px;
}

.section-title__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(1.875rem, 4vw, 2.875rem);
  line-height: 1.16;
  letter-spacing: -0.028em;
}

.section-title__tagline {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════
   6. HERO & SLIDER HEADINGS  (weight: 800)
   ═══════════════════════════════════════════════════════════════════ */

/* Primary hero heading used on the homepage */
.section-title__title.title-animation,
.slider-one__title,
.slider-two__title,
.banner-one__title,
.banner-two__title,
.find-transport__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

/* Video overlay large text */
.video-one__title-box p,
.video-one__title-box h2,
.video-two__title {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

/* Page-header banner title */
.page-header__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
}


/* ═══════════════════════════════════════════════════════════════════
   7. NAVIGATION  (weight: 500)
   ═══════════════════════════════════════════════════════════════════ */

/* Primary nav items */
.main-menu__list > li > a,
.stricky-header .main-menu__list > li > a,
.main-menu-two__list > li > a,
.stricky-header .main-menu-two__list > li > a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.005em;
}

/* Dropdown nav items */
.main-menu__list > li > ul a,
.main-menu__list li .shadow-box a,
.main-menu-two__list > li > ul a,
.main-menu-two__list li .shadow-box a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: -0.005em;
  line-height: 1.5;
}

/* Mobile nav */
.mobile-nav__container .main-menu__list > li > a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   8. BUTTONS  (weight: 700)
   ═══════════════════════════════════════════════════════════════════ */

.thm-btn,
.thm-btn-two,
button:not([class*="owl"]):not([class*="slick"]):not([class*="swiper"]),
[type="submit"],
[type="button"],
[type="reset"] {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-transform: none;
}


/* ═══════════════════════════════════════════════════════════════════
   9. FORM ELEMENTS  (weight: 400)
   ═══════════════════════════════════════════════════════════════════ */

input,
textarea,
select,
.nice-select,
.form-control,
[type="text"],
[type="email"],
[type="tel"],
[type="search"],
[type="number"],
[type="password"],
[type="url"] {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.5;
}

::placeholder {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.005em;
  opacity: 0.65;
}

label {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════
   10. TOP BAR & UTILITY TEXT
   ═══════════════════════════════════════════════════════════════════ */

.main-menu__top-welcome-text,
.main-menu__call-sub-title,
.main-menu__call-sub-title,
.main-menu-two__call-sub-title,
.main-menu__top-text,
.main-menu-two__top-text,
.main-menu__contact-list li .text p,
.main-menu-two__contact-list li .text p {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: -0.005em;
}

.main-menu__call-number,
.main-menu__call-number a,
.main-menu-two__call-number,
.main-menu-two__call-number a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.015em;
}


/* ═══════════════════════════════════════════════════════════════════
   11. SERVICE & FEATURE CARDS
   ═══════════════════════════════════════════════════════════════════ */

.services-one__title a,
.services-two__title h3,
.services-three__title a,
.services-one__title h4,
.feature-one__title,
.feature-two__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.services-one__text,
.services-two__text,
.services-three__text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: -0.01em;
}

.services-one__count {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.04em;
}


/* ═══════════════════════════════════════════════════════════════════
   12. COUNTER NUMBERS
   ═══════════════════════════════════════════════════════════════════ */

.counter-one__count h3,
.counter-two__count h3,
.odometer,
.odometer.odometer-auto-theme {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

.counter-one__text,
.counter-two__text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.005em;
}


/* ═══════════════════════════════════════════════════════════════════
   13. PROCESS STEPS
   ═══════════════════════════════════════════════════════════════════ */

.process-one__title,
.process-two__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.018em;
  line-height: 1.3;
}

.process-one__text,
.process-two__text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: -0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   14. ABOUT SECTION
   ═══════════════════════════════════════════════════════════════════ */

.about-one__text,
.about-two__text,
.about-three__text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.01em;
}

.about-one__point-content h4,
.about-two__point-content h4,
.about-one__author-content h4 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}


/* ═══════════════════════════════════════════════════════════════════
   15. WHY CHOOSE SECTION
   ═══════════════════════════════════════════════════════════════════ */

.why-choose-one__point-content h4,
.why-choose-two__content h4 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.018em;
}

.why-choose-one__text,
.why-choose-two__text,
.why-choose-one__point-content p,
.why-choose-two__content p {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: -0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   16. TEAM MEMBERS
   ═══════════════════════════════════════════════════════════════════ */

.team-one__title a,
.team-two__title a,
.team-three__title a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.018em;
}

.team-one__sub-title,
.team-two__sub-title,
.team-three__sub-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════
   17. TESTIMONIALS
   ═══════════════════════════════════════════════════════════════════ */

.testimonial-one__text,
.testimonial-two__text,
.testimonial-three__text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: -0.015em;
}

.testimonial-one__name,
.testimonial-two__name,
.testimonial-three__name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.018em;
}

.testimonial-one__sub-title,
.testimonial-two__sub-title,
.testimonial-three__sub-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════
   18. BLOG
   ═══════════════════════════════════════════════════════════════════ */

.blog-one__title,
.blog-two__title,
.blog-three__title,
.blog-list__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.022em;
  line-height: 1.28;
}

.blog-one__meta li a,
.blog-two__meta li a,
.blog-three__meta li a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: -0.005em;
}

.blog-one__author-content h5,
.blog-two__author-content h5 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.015em;
}


/* ═══════════════════════════════════════════════════════════════════
   19. FAQ ACCORDION
   ═══════════════════════════════════════════════════════════════════ */

.faq-one-accrodion .accrodion-title h4,
.faq-page__single .faq-one-accrodion .accrodion-title h4 {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px;
  letter-spacing: -0.015em;
  line-height: 1.4;
}

.faq-one-accrodion .accrodion-content p {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: -0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   20. PRICING CARDS
   ═══════════════════════════════════════════════════════════════════ */

.pricing-one__title,
.pricing-two__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.pricing-one__price,
.pricing-two__price {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}


/* ═══════════════════════════════════════════════════════════════════
   21. CTA SECTIONS
   ═══════════════════════════════════════════════════════════════════ */

.cta-one__content h2,
.cta-two__content h2 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.cta-one__content p,
.cta-two__content p {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   22. QUOTE / FIND TRANSPORT FORMS
   ═══════════════════════════════════════════════════════════════════ */

.why-choose-one__form-box .title-box h2,
.quote-tab-content-box-item .quotes-wrapper-inner .title-box h2 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}


/* ═══════════════════════════════════════════════════════════════════
   23. FOOTER
   ═══════════════════════════════════════════════════════════════════ */

.footer-widget__title,
.footer-widget-two__title,
.footer-widget-three__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.018em;
}

.footer-widget__newsletter-title,
.footer-widget-two__newsletter-title,
.footer-widget-three__newsletter-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.022em;
}

.site-footer__bottom-text,
.site-footer-two__bottom-text,
.site-footer-three__bottom-text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: -0.005em;
}

.site-footer__bottom-menu a,
.site-footer-two__bottom-menu a,
.site-footer-three__bottom-menu a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.005em;
}


/* ═══════════════════════════════════════════════════════════════════
   24. PAGE HEADER BREADCRUMBS
   ═══════════════════════════════════════════════════════════════════ */

.page-header__breadcrumb a,
.page-header__breadcrumb span,
.thm-breadcrumb li,
.thm-breadcrumb li a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   25. SIDEBAR
   ═══════════════════════════════════════════════════════════════════ */

.sidebar__title,
.sidebar .widget-title,
.xs-sidebar-group .content-inner h4 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.015em;
}

.sidebar-contact-info ul li,
.sidebar-contact-info ul li a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: -0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   26. DOWNLOAD APP
   ═══════════════════════════════════════════════════════════════════ */

.download-app-one__title,
.download-app-two__title {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.18;
}


/* ═══════════════════════════════════════════════════════════════════
   27. SLIDING TEXT TICKER
   ═══════════════════════════════════════════════════════════════════ */

.sliding-text__title,
.sliding-text-one__item {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 800;
  letter-spacing: -0.02em;
}


/* ═══════════════════════════════════════════════════════════════════
   28. CONTACT INFO BOXES
   ═══════════════════════════════════════════════════════════════════ */

.contact-info__single h3,
.contact-one__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.contact-info__single p {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.7;
}


/* ═══════════════════════════════════════════════════════════════════
   29. SCROLL TO TOP
   ═══════════════════════════════════════════════════════════════════ */

.scroll-to-top__text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════
   30. SEARCH POPUP
   ═══════════════════════════════════════════════════════════════════ */

.search-popup .form-group input[type="text"],
.search-popup .form-group input[type="search"] {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  letter-spacing: -0.01em;
}


/* ═══════════════════════════════════════════════════════════════════
   31. RESPONSIVE BREAKPOINTS
   ═══════════════════════════════════════════════════════════════════ */

/* ── Tablet landscape (992px – 1199px) ─────────────────────────── */
@media only screen and (max-width: 1199px) {
  h1 { font-size: clamp(2rem,   5vw, 3rem);    }
  h2 { font-size: clamp(1.65rem, 4vw, 2.5rem); }
  h3 { font-size: clamp(1.3rem,  3vw, 2rem);   }
  h4 { font-size: clamp(1.1rem,  2.5vw, 1.5rem); }

  .section-title__title {
    font-size: clamp(1.75rem, 3.8vw, 2.5rem);
  }
}

/* ── Tablet portrait (768px – 991px) ────────────────────────────── */
@media only screen and (max-width: 991px) {
  body {
    font-size: 15px;
    line-height: 1.72;
  }

  p {
    font-size: 15px;
  }

  h1 { font-size: clamp(1.875rem, 5.5vw, 2.75rem); }
  h2 { font-size: clamp(1.55rem,  4.5vw, 2.25rem); }
  h3 { font-size: clamp(1.25rem,  3.8vw, 1.875rem); }
  h4 { font-size: clamp(1.1rem,   3vw,   1.5rem);  }
  h5 { font-size: 1.05rem; }
  h6 { font-size: 0.9rem;  }

  .section-title__title {
    font-size: clamp(1.6rem, 4.5vw, 2.25rem);
    letter-spacing: -0.022em;
  }

  .testimonial-one__text,
  .testimonial-two__text,
  .testimonial-three__text {
    font-size: 16px;
  }
}

/* ── Mobile (max 767px) ─────────────────────────────────────────── */
@media only screen and (max-width: 767px) {
  body {
    font-size: 15px;
    line-height: 1.7;
  }

  p {
    font-size: 15px;
    line-height: 1.7;
  }

  h1 { font-size: 1.875rem; letter-spacing: -0.025em; }
  h2 { font-size: 1.575rem; letter-spacing: -0.022em; }
  h3 { font-size: 1.3rem;   letter-spacing: -0.018em; }
  h4 { font-size: 1.125rem; letter-spacing: -0.015em; }
  h5 { font-size: 1rem;     letter-spacing: -0.01em;  }
  h6 { font-size: 0.875rem; letter-spacing: -0.008em; }

  .section-title__title {
    font-size: 1.65rem;
    letter-spacing: -0.02em;
    line-height: 1.2;
  }

  .thm-btn,
  .thm-btn-two {
    font-size: 14px;
    letter-spacing: 0.01em;
  }

  .main-menu__list > li > a {
    font-size: 15px;
  }

  .testimonial-one__text,
  .testimonial-two__text,
  .testimonial-three__text {
    font-size: 15px;
    line-height: 1.65;
  }

  .faq-one-accrodion .accrodion-title h4,
  .faq-page__single .faq-one-accrodion .accrodion-title h4 {
    font-size: 15px !important;
  }
}

/* ── Small mobile (max 480px) ───────────────────────────────────── */
@media only screen and (max-width: 480px) {
  body {
    font-size: 14px;
  }

  p {
    font-size: 14px;
    line-height: 1.68;
  }

  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.45rem; }
  h3 { font-size: 1.2rem;  }
  h4 { font-size: 1.05rem; }

  .section-title__title {
    font-size: 1.5rem;
    letter-spacing: -0.018em;
  }

  .section-title__tagline {
    font-size: 11px;
    letter-spacing: 0.14em;
  }
}
