:root{
  --tp-primary:#0a63f6;
  --tp-primary-dark:#0548b5;
  --tp-primary-soft:#edf5ff;
  --tp-navy:#071a35;
  --tp-ink:#10233d;
  --tp-body:#64758a;
  --tp-muted:#8796a8;
  --tp-line:#e1e9f2;
  --tp-success:#0c9c6d;
  --tp-card:#fff;
  --tp-shadow-sm:0 12px 32px rgba(11,35,65,.065);
  --tp-shadow-md:0 22px 58px rgba(11,35,65,.10);
  --tp-shadow-lg:0 28px 76px rgba(7,30,59,.14);
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scroll-padding-top:128px;
}

body.fg-tempo-page{
  margin:0;
  overflow-x:hidden;
  color:var(--tp-body);
  background:
    radial-gradient(circle at 90% 4%,rgba(10,99,246,.07),transparent 25rem),
    linear-gradient(180deg,#fbfdff 0%,#f6f8fb 44%,#fff 100%);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:14px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.fg-tempo-page h1,
.fg-tempo-page h2,
.fg-tempo-page h3,
.fg-tempo-page button,
.tp-kicker{
  font-family:Manrope,Inter,sans-serif;
}

.fg-tempo-page main{
  padding:44px 0 80px!important;
}

.fg-tempo-page main>.container{
  max-width:1220px!important;
}

.tp-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--tp-primary);
  font-size:11px;
  font-weight:800;
  letter-spacing:.085em;
  text-transform:uppercase;
}

.tp-kicker::before{
  content:"";
  width:22px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}

/* HERO */
.tp-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  align-items:center;
  gap:40px;
  min-height:410px;
  padding:48px;
  border:1px solid rgba(14,43,78,.08);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 8%,rgba(64,150,255,.16),transparent 19rem),
    linear-gradient(122deg,#fff 0%,#f9fbff 57%,#edf5ff 100%);
  box-shadow:var(--tp-shadow-lg);
}

.tp-hero::before{
  content:"";
  position:absolute;
  top:-150px;
  right:-120px;
  width:390px;
  height:390px;
  border:52px solid rgba(10,99,246,.045);
  border-radius:50%;
  pointer-events:none;
}

.tp-hero-copy,
.tp-hero-media{
  position:relative;
  z-index:1;
  min-width:0;
}

.tp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:35px;
  padding:0 11px;
  border:1px solid #dbe6f0;
  border-radius:999px;
  color:#38526f;
  background:rgba(255,255,255,.9);
  font-size:11px;
  font-weight:700;
}

.tp-eyebrow i{
  color:var(--tp-primary);
}

.tp-page-title{
  max-width:none;
  margin:18px 0 0;
  color:var(--tp-ink);
  font-size:clamp(38px,3.75vw,50px);
  line-height:1.04;
  letter-spacing:-.052em;
  font-weight:800;
  white-space:nowrap;
}

.tp-title-main{
  color:var(--tp-ink);
}

.tp-title-brand{
  margin-left:.12em;
  color:var(--tp-primary);
}

.tp-hero-lead{
  max-width:720px;
  margin:17px 0 0;
  color:#607288;
  font-size:15px;
  line-height:1.72;
  text-align:justify;
  text-justify:inter-word;
}

.tp-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:19px;
}

.tp-hero-tags span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:33px;
  padding:0 10px;
  border:1px solid #dce6f0;
  border-radius:999px;
  color:#38526f;
  background:rgba(255,255,255,.88);
  font-size:11px;
  font-weight:700;
}

.tp-hero-tags i{
  color:var(--tp-primary);
}

.tp-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
}

.tp-hero-action{
  min-height:47px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 18px;
  border-radius:12px;
  text-decoration:none;
  font-size:12.5px;
  font-weight:800;
}

.tp-hero-action.is-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--tp-primary-dark),var(--tp-primary));
  box-shadow:0 12px 25px rgba(10,99,246,.2);
}

.tp-hero-action.is-secondary{
  color:#35516d;
  border:1px solid #d9e4ee;
  background:#fff;
}

.fg-carousel{
  overflow:hidden;
  border:1px solid #dce6f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 46px rgba(15,33,63,.13);
}

.fg-carousel .carousel-inner{
  aspect-ratio:16/11;
  max-height:360px;
  overflow:hidden;
}

.fg-carousel .carousel-item,
.fg-carousel .carousel-item img{
  width:100%;
  height:100%;
}

.fg-carousel .carousel-item img{
  display:block;
  object-fit:cover;
  object-position:center;
}

.fg-carousel .carousel-control-prev,
.fg-carousel .carousel-control-next{
  width:54px;
}

.fg-carousel .carousel-control-prev-icon,
.fg-carousel .carousel-control-next-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background-color:rgba(7,26,53,.58);
  background-size:48% 48%;
}

/* STICKY SECTION NAV */
.tp-nav{
  position:sticky;
  top:74px;
  z-index:30;
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:24px 0 34px;
  padding:10px;
  border:1px solid var(--tp-line);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 36px rgba(15,33,63,.07);
  backdrop-filter:blur(14px);
  scrollbar-width:none;
}

.tp-nav::-webkit-scrollbar{display:none}

.tp-nav a{
  flex:1 0 auto;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 15px;
  border-radius:11px;
  color:#607289;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}

.tp-nav a:hover{
  color:var(--tp-primary-dark);
  background:var(--tp-primary-soft);
}

/* SECTION HEADINGS */
.tp-section-block{
  margin-bottom:52px;
  scroll-margin-top:125px;
}

.tp-section-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:20px;
}

.tp-section-copy{
  max-width:720px;
}

.tp-section-intro h2{
  margin:8px 0 0;
  color:var(--tp-ink);
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.04em;
  font-weight:800;
}

.tp-section-intro p{
  max-width:470px;
  margin:0;
  color:#6c7d91;
  font-size:14px;
  line-height:1.72;
  text-align:justify;
  text-justify:inter-word;
}

/* FLEET CARDS */
#fleet>.row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:0;
}

#fleet>.row>[class*="col-"]{
  width:auto;
  padding:0;
}

.card-neo{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  border:1px solid var(--tp-line);
  border-radius:22px;
  background:var(--tp-card);
  box-shadow:var(--tp-shadow-sm);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.card-neo:hover{
  transform:translateY(-4px);
  border-color:#cad9e9;
  box-shadow:0 22px 48px rgba(15,33,63,.10);
}

.fg-car-img{
  width:100%;
  height:220px;
  object-fit:cover;
  object-position:center;
  border-bottom:1px solid #e8eef5;
  background:#fff;
}

.card-neo>.p-3,
.card-neo>.p-md-4{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:18px!important;
}

.card-neo h3{
  margin:0;
  color:var(--tp-ink);
  font-size:19px!important;
  line-height:1.28;
  letter-spacing:-.028em;
  font-weight:800;
}

.tp-card-features{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:7px!important;
  margin:15px 0!important;
  padding:0!important;
}

.tp-card-features li{
  width:auto!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:7px;
  margin:0!important;
  padding:8px!important;
  border:1px solid #e4ebf3;
  border-radius:10px;
  color:#607288!important;
  background:#fbfdff;
  font-size:11px!important;
  line-height:1.45!important;
}

.tp-card-features i{
  margin:2px 0 0!important;
  color:var(--tp-primary)!important;
}

.card-neo .fw-bold{
  color:var(--tp-primary);
  font-size:13px;
  font-weight:800!important;
}

.card-neo .d-flex.gap-2{
  margin-top:auto;
}

.btn-brand,
.btn-outline-brand{
  min-height:45px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:11px;
  text-decoration:none;
  font-size:11.5px;
  font-weight:800;
}

.btn-brand{
  color:#fff;
  border:0;
  background:linear-gradient(135deg,var(--tp-primary-dark),var(--tp-primary));
  box-shadow:0 11px 22px rgba(11,99,246,.18);
}

.btn-brand:hover{
  color:#fff;
  transform:translateY(-1px);
}

.btn-outline-brand{
  color:#3f5871;
  border:1px solid #dfe7ef;
  background:#fff;
}

.btn-outline-brand:hover{
  color:var(--tp-primary-dark);
  border-color:#c9dbec;
  background:var(--tp-primary-soft);
}

/* TRUST SECTION */
.tp-trust{
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(0,1.5fr);
  margin-bottom:52px;
  border:1px solid #dce6f0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 65px rgba(10,36,69,.10);
  scroll-margin-top:125px;
}

.tp-trust-intro{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:470px;
  padding:40px 34px;
  color:#dce9f7;
  background:
    radial-gradient(circle at 100% 0%,rgba(77,164,255,.28),transparent 18rem),
    linear-gradient(145deg,#07182e,#0a2a50 68%,#0a4a89);
}

.tp-trust-intro::after{
  content:"";
  position:absolute;
  right:-84px;
  bottom:-108px;
  width:230px;
  height:230px;
  border:34px solid rgba(255,255,255,.055);
  border-radius:50%;
}

.tp-trust-intro>*{
  position:relative;
  z-index:1;
}

.tp-trust-intro .tp-kicker{
  color:#72bcff;
}

.tp-trust-intro h2{
  margin:15px 0 0;
  color:#fff;
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:800;
}

.tp-trust-intro h2 span{
  display:block;
  color:#74bdff;
}

.tp-trust-intro p{
  margin:16px 0 0;
  color:#bed0e5;
  font-size:14px;
  line-height:1.72;
  text-align:justify;
  text-justify:inter-word;
}

.tp-trust-proof{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:26px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:15px;
  background:rgba(255,255,255,.075);
}

.tp-trust-proof i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  border-radius:10px;
  color:#fff;
  background:rgba(108,184,255,.18);
}

.tp-trust-proof strong,
.tp-trust-proof span{
  display:block;
}

.tp-trust-proof strong{
  color:#fff;
  font-size:13px;
  font-weight:800;
}

.tp-trust-proof span{
  margin-top:3px;
  color:#c8d8e9;
  font-size:11.5px;
  line-height:1.55;
}

.tp-trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  background:
    radial-gradient(circle at 100% 0%,rgba(10,99,246,.055),transparent 17rem),
    #fff;
}

.tp-trust-card{
  min-height:235px;
  padding:26px;
  border-right:1px solid #e8eef5;
  border-bottom:1px solid #e8eef5;
}

.tp-trust-card:nth-child(2n){border-right:0}
.tp-trust-card:nth-last-child(-n+2){border-bottom:0}

.tp-trust-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.tp-trust-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:13px;
}

.tp-trust-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 46px;
  border:1px solid #cfe2f7;
  border-radius:14px;
  color:#0864d8;
  background:linear-gradient(145deg,#eef7ff,#dceeff);
  box-shadow:0 9px 20px rgba(10,99,246,.11);
  font-size:17px;
}

.tp-trust-card h3{
  margin:0;
  color:var(--tp-ink);
  font-size:17px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.025em;
}

.tp-trust-index{
  align-self:flex-start;
  color:#a0adbc;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
}

.tp-trust-card p{
  margin:16px 0 0;
  color:#6b7c90;
  font-size:13px;
  line-height:1.68;
  text-align:justify;
  text-justify:inter-word;
}

.tp-trust-points{
  display:grid;
  gap:7px;
  margin:13px 0 0;
  padding:0;
  list-style:none;
}

.tp-trust-points li{
  display:flex;
  align-items:flex-start;
  gap:7px;
  color:#607288;
  font-size:11.5px;
  line-height:1.5;
}

.tp-trust-points i{
  margin-top:3px;
  color:var(--tp-success);
}

/* CONTENT CARDS */
.content-card,
.card.card-neo{
  overflow:hidden;
  border:1px solid var(--tp-line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--tp-shadow-sm);
}

.content-card .card-header,
.card.card-neo>.card-header{
  padding:19px 21px;
  border-bottom:1px solid #edf2f7;
  color:var(--tp-ink);
  background:#fbfdff;
  font-size:15px;
  font-weight:800;
}

.content-card .card-body,
.card.card-neo>.card-body{
  padding:21px;
}

/* FAQ */
.tp-faq-card{
  scroll-margin-top:125px;
}

.accordion .accordion-item{
  border:0;
  margin-bottom:9px;
  background:transparent;
}

.accordion .accordion-button{
  min-height:60px;
  padding:14px 16px;
  border:1px solid #e3ebf3;
  border-radius:13px!important;
  color:#263e57;
  background:#fff;
  box-shadow:none;
  font-size:13px;
  line-height:1.45;
  font-weight:800;
}

.accordion .accordion-button:not(.collapsed){
  color:var(--tp-primary-dark);
  border-color:#cfe0f2;
  background:#f5f9ff;
}

.accordion .accordion-body{
  margin-top:6px;
  padding:15px 16px;
  border:1px solid #e3ebf3;
  border-radius:13px;
  color:#64758a;
  background:#fbfdff;
  font-size:13px;
  line-height:1.75;
  text-align:justify;
  text-justify:inter-word;
}

.tp-faq-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:14px;
  padding:14px 15px;
  border:1px solid #d8e5f2;
  border-radius:14px;
  color:#46627e;
  background:#f4f8fd;
  font-size:12px;
  line-height:1.6;
}

.tp-faq-note i{
  margin-top:3px;
  color:var(--tp-primary);
}

/* ROUTES */
.tp-route-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.tp-route-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:20px;
  border:1px solid #e2eaf3;
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0%,rgba(10,99,246,.055),transparent 10rem),
    #fff;
  box-shadow:0 10px 26px rgba(15,33,63,.05);
}

.tp-route-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.tp-route-card h3{
  margin:0;
  color:var(--tp-ink);
  font-size:17px;
  line-height:1.35;
  font-weight:800;
}

.tp-route-duration{
  flex:0 0 auto;
  padding:6px 8px;
  border:1px solid #dce6f0;
  border-radius:999px;
  color:#607288;
  background:#fff;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.tp-route-list{
  display:grid;
  gap:8px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}

.tp-route-list li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#64758a;
  font-size:12px;
  line-height:1.58;
  text-align:justify;
  text-justify:inter-word;
}

.tp-route-list i{
  margin-top:3px;
  color:var(--tp-primary);
}

.tp-route-rate{
  margin-top:auto;
  padding-top:17px;
  color:var(--tp-primary);
  font-size:12.5px;
  line-height:1.5;
  font-weight:800;
}

.tp-route-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:13px;
}

.tp-route-note{
  margin-top:15px;
  color:#718196;
  font-size:12px;
  line-height:1.65;
  text-align:justify;
  text-justify:inter-word;
}

/* MODALS */
.modal-content{
  overflow:hidden;
  border:0;
  border-radius:22px;
  background:transparent;
  box-shadow:0 28px 80px rgba(15,33,63,.20);
}

.modal .card-neo{
  transform:none!important;
}

.modal .card-header{
  padding:20px 22px!important;
  color:var(--tp-ink);
  background:#fbfdff;
  font-size:15px;
}

.modal .btn-close{
  flex:0 0 auto;
  margin-left:12px;
}

.modal .p-3.p-lg-4{
  padding:22px!important;
}

.modal ul{
  color:#607288!important;
  font-size:12.5px;
  line-height:1.65;
}

.modal .table{
  font-size:12px;
}

.modal .table th,
.modal .table td{
  padding:10px;
  border-color:#edf2f7;
  vertical-align:middle;
}

.thumb-img{
  width:100%;
  height:clamp(150px,22vw,250px);
  object-fit:cover;
  border-radius:13px;
}

.modal .text-muted.small{
  font-size:11.5px!important;
  line-height:1.6;
}

@media(max-width:1100px){
  .tp-page-title{
    font-size:40px;
  }

  .tp-hero{
    grid-template-columns:minmax(0,1fr) 390px;
  }
}

@media(max-width:991.98px){
  .fg-tempo-page main{
    padding-top:38px!important;
  }

  .tp-hero{
    grid-template-columns:1fr;
    min-height:0;
  }

  .tp-page-title{
    white-space:normal;
  }

  .tp-trust{
    grid-template-columns:1fr;
  }

  .tp-trust-intro{
    min-height:0;
    padding:34px;
  }

  #fleet>.row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tp-route-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:767.98px){
  .fg-tempo-page main{
    padding:16px 0 64px!important;
  }

  .fg-tempo-page main>.container{
    padding-inline:12px;
  }

  .tp-hero{
    gap:22px;
    padding:27px 18px;
    border-radius:22px;
  }

  .tp-eyebrow{
    min-height:32px;
    padding-inline:9px;
    font-size:10px;
  }

  .tp-page-title{
    font-size:34px;
    line-height:1.05;
  }

  .tp-title-main,
  .tp-title-brand{
    display:block;
  }

  .tp-title-brand{
    margin:5px 0 0;
  }

  .tp-hero-lead{
    font-size:14px;
    line-height:1.68;
    text-align:left;
  }

  .tp-hero-tags span{
    min-height:31px;
    padding-inline:9px;
    font-size:10.5px;
  }

  .tp-hero-action{
    flex:1 1 145px;
    min-height:45px;
    font-size:12px;
  }

  .fg-carousel .carousel-inner{
    max-height:280px;
  }

  .tp-nav{
    top:64px;
    margin-bottom:30px;
    padding:8px;
  }

  .tp-nav a{
    min-height:40px;
    padding-inline:12px;
    font-size:11px;
  }

  .tp-section-block{
    margin-bottom:40px;
  }

  .tp-section-intro{
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
    margin-bottom:17px;
  }

  .tp-section-intro h2{
    font-size:26px;
  }

  .tp-section-intro p{
    font-size:13px;
    text-align:left;
  }

  #fleet>.row,
  .tp-route-grid{
    grid-template-columns:1fr;
  }

  .card-neo{
    border-radius:19px;
  }

  .fg-car-img{
    height:205px;
  }

  .card-neo h3{
    font-size:18px!important;
  }

  .tp-card-features li{
    font-size:10.5px!important;
  }

  .tp-trust{
    margin-bottom:40px;
    border-radius:21px;
  }

  .tp-trust-intro{
    padding:27px 20px;
  }

  .tp-trust-intro h2{
    font-size:29px;
  }

  .tp-trust-intro p{
    font-size:13.5px;
    text-align:left;
  }

  .tp-trust-grid{
    grid-template-columns:1fr;
  }

  .tp-trust-card{
    min-height:0;
    padding:22px 20px;
    border-right:0;
    border-bottom:1px solid #e8eef5!important;
  }

  .tp-trust-card:last-child{
    border-bottom:0!important;
  }

  .tp-trust-card:nth-last-child(2){
    border-bottom:1px solid #e8eef5!important;
  }

  .tp-trust-card p{
    font-size:13px;
    text-align:left;
  }

  .content-card .card-body,
  .card.card-neo>.card-body{
    padding:16px;
  }

  .accordion .accordion-button{
    min-height:58px;
    padding:13px 14px;
    font-size:12.5px;
  }

  .accordion .accordion-body{
    padding:14px;
    font-size:12.5px;
    text-align:justify;
  }

  .tp-route-card{
    padding:18px;
  }

  .tp-route-list li,
  .tp-route-note{
    text-align:left;
  }

  .modal-dialog{
    margin:10px;
  }

  .modal .p-3.p-lg-4{
    padding:16px!important;
  }

  .modal .thumb-img{
    height:125px;
  }
}

@media(max-width:390px){
  .tp-page-title{
    font-size:31px;
  }

  .tp-card-features{
    grid-template-columns:1fr;
  }

  .tp-route-actions{
    grid-template-columns:1fr;
  }
}
