

:root {

  --dark: #171717;

  --dark-soft: #242424;

  --green: #FFC928;

  --cream: #FFF9E6;

  --white: #FFFFFF;

  --muted: #777777;

  --line: #E8D89D;

  --font-heading: "Outfit", sans-serif;

  --font-body: "DM Sans", sans-serif;

}



* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}



html {

  scroll-behavior: smooth;

  scroll-padding-top: 90px;

}



body {

  font-family: var(--font-body);

  color: var(--dark);

  background: var(--cream);

  overflow-x: hidden;

}



button, input, select {

  font: inherit;

}



button, a {

  -webkit-tap-highlight-color: transparent;

}



button {

  cursor: pointer;

}



a {

  color: inherit;

  text-decoration: none;

}



img {

  max-width: 100%;

}



.container {

  width: min(1180px, calc(100% - 64px));

  margin-inline: auto;

}



.section-pad {

  padding: 110px 0;

}



.section-tag {

  display: inline-block;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 2px;

  line-height: 1.6;

}



.section-tag::before {

  content: "";

  display: inline-block;

  width: 20px;

  height: 2px;

  margin-right: 10px;

  vertical-align: middle;

  background: #E6A900;

}



h1, h2, h3 {

  font-family: var(--font-heading);

  font-weight: 600;

  letter-spacing: -1.5px;

}



.btn {

  min-height: 49px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 22px;

  padding: 0 22px;

  border: 0;

  border-radius: 3px;

  font-size: 12px;

  font-weight: 700;

  transition: background .25s, color .25s, transform .25s;

}



.btn span {

  font-size: 17px;

  transition: transform .25s;

}



.btn:hover {

  transform: translateY(-2px);

}



.btn:hover span {

  transform: translate(3px, -2px);

}



.btn-primary {

  background: var(--green);

  color: var(--dark);

}



.btn-primary:hover {

  background: #FFE17A;

}



.btn-dark {

  background: var(--dark);

  color: white;

}



.btn-dark:hover {

  background: #343434;

}



/* Top strip */



.topbar {

  background: var(--green);

  color: var(--dark);

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 1.1px;

}



.topbar-inner {

  height: 33px;

  display: flex;

  align-items: center;

  justify-content: space-between;

}



.live-dot {

  display: inline-block;

  width: 6px;

  height: 6px;

  margin-right: 7px;

  background: #8A6500;

  border-radius: 50%;

}



.topbar-right span {

  margin-left: 7px;

}



/* Navbar */



.header {

  position: sticky;

  top: 0;

  z-index: 1000;

  background: rgba(23, 23, 23, .97);

  color: white;

  border-bottom: 1px solid rgba(255,255,255,.09);

  backdrop-filter: blur(14px);

}



.nav-wrap {

  height: 82px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 25px;

}



.brand {

  display: inline-flex;

  align-items: center;

  gap: 11px;

  flex-shrink: 0;

}



.brand-icon {

  width: 43px;

  height: 43px;

  display: grid;

  place-items: center;

  position: relative;

  border: 1px solid rgba(255,201,40,.7);

  color: var(--green);

  font-family: var(--font-heading);

  font-size: 26px;

  font-weight: 800;

  transform: skew(-5deg);

}



.brand-icon span {

  position: absolute;

  top: -2px;

  right: 2px;

  font-size: 12px;

}



.brand-text {

  font-family: var(--font-heading);

  font-size: 11px;

  font-weight: 500;

  letter-spacing: 1.4px;

  line-height: 1.6;

}



.brand-text strong {

  display: block;

  font-size: 16px;

  font-weight: 800;

  letter-spacing: 2px;

}



.brand-text strong span {

  color: var(--green);

}



.nav-menu {

  display: flex;

  align-items: center;

  gap: 28px;

}



.nav-link {

  color: #D8D8D8;

  font-size: 11px;

  font-weight: 500;

  transition: color .2s;

}



.nav-link:hover,

.nav-link.active {

  color: var(--green);

}



.btn-nav {

  min-height: 43px;

  margin-left: 2px;

  gap: 13px;

  background: var(--green);

  color: var(--dark);

}



.menu-toggle {

  display: none;

}



/* Hero */



.hero {

  position: relative;

  min-height: 650px;

  min-height: min(720px, 78vw);

  background: var(--dark);

  color: white;

  isolation: isolate;

  overflow: hidden;

}



.hero-image {

  position: absolute;

  z-index: -3;

  inset: 0;

  background-image: url("./images/890da196-f404-4195-8ff0-a6c3bd06f681.png");

  background-size: cover;

  background-position: center 52%;

  animation: heroReveal 1.1s ease-out both;

}



.hero-shade {

  position: absolute;

  z-index: -2;

  inset: 0;

  background:

    linear-gradient(90deg, rgba(23,23,23,.96) 0%, rgba(23,23,23,.85) 35%, rgba(23,23,23,.24) 100%),

    linear-gradient(0deg, rgba(23,23,23,.62), transparent 45%);

}



.hero-content {

  position: relative;

  min-height: inherit;

  padding-top: 108px;

  padding-bottom: 105px;

}



.hero-copy {

  max-width: 680px;

  animation: slideUp .8s .1s both;

}



.eyebrow {

  display: flex;

  align-items: center;

  gap: 10px;

  margin-bottom: 24px;

  color: var(--green);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 2px;

}



.eyebrow > span {

  width: 25px;

  height: 2px;

  background: var(--green);

}



.hero h1 {

  font-size: clamp(52px, 7.2vw, 94px);

  line-height: .98;

  letter-spacing: -5px;

  font-weight: 600;

}



.hero h1 span {

  color: var(--green);

}



.hero-description {

  max-width: 425px;

  margin-top: 27px;

  color: #d0d6cd;

  font-size: 14px;

  line-height: 1.9;

}



.hero-actions {

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 29px;

  margin-top: 32px;

}



.text-link {

  display: inline-flex;

  align-items: center;

  gap: 11px;

  font-size: 12px;

  font-weight: 600;

}



.text-link span {

  color: var(--green);

  transition: transform .2s;

}



.text-link:hover span {

  transform: translateX(5px);

}



.hero-points {

  display: flex;

  flex-wrap: wrap;

  gap: 24px;

  margin-top: 43px;

  color: #d0d6cd;

  font-size: 10px;

}



.check {

  display: inline-grid;

  place-items: center;

  width: 17px;

  height: 17px;

  margin-right: 6px;

  border-radius: 50%;

  background: rgba(255,201,40,.18);

  color: var(--green);

}



.hero-stamp {

  position: absolute;

  right: 5%;

  bottom: 145px;

  width: 145px;

  height: 145px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  gap: 8px;

  border: 1px solid rgba(255,255,255,.4);

  border-radius: 50%;

  color: white;

  text-align: center;

  font-size: 9px;

  font-weight: 700;

  line-height: 1.8;

  letter-spacing: 1px;

  transform: rotate(-10deg);

}



.stamp-icon {

  color: var(--green);

  font-size: 34px;

}



.scroll-indicator {

  position: absolute;

  left: 0;

  bottom: 37px;

  display: flex;

  align-items: center;

  gap: 12px;

  color: #D0D0D0;

  font-size: 8px;

  letter-spacing: 1.5px;

}



.scroll-line {

  width: 35px;

  height: 1px;

  background: var(--green);

}



.hero-bottom {

  position: absolute;

  bottom: 0;

  left: 0;

  width: 100%;

  border-top: 1px solid rgba(255,255,255,.16);

}



.hero-bottom-inner {

  height: 46px;

  display: flex;

  justify-content: space-between;

  align-items: center;

  color: #D8D8D8;

  font-size: 8px;

  letter-spacing: 1.5px;

  font-weight: 600;

}



.arrow {

  color: var(--green);

  margin-left: 8px;

}



/* Booking card */



.booking-section {

  position: relative;

  z-index: 2;

  padding: 0 0 35px;

  background: var(--cream);

}



.booking-card {

  position: relative;

  margin-top: -1px;

  padding: 36px 40px 28px;

  background: white;

  border: 1px solid #e6e9e0;

  box-shadow: 0 18px 55px rgba(23,23,23,.07);

}



.booking-heading {

  margin-bottom: 27px;

}



.booking-heading .section-tag {

  color: #8A6500;

}



.booking-heading h2 {

  margin-top: 9px;

  font-size: 31px;

  letter-spacing: -1px;

}



.booking-heading p {

  margin-top: 6px;

  color: #777777;

  font-size: 12px;

}



.form-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 22px 18px;

}



.field label {

  display: block;

  margin-bottom: 9px;

  color: #777777;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 1.1px;

}



.input-wrap {

  display: flex;

  align-items: center;

  gap: 10px;

  min-width: 0;

  height: 49px;

  padding: 0 13px;

  border: 1px solid #E8D89D;

  background: #FFF9E6;

  transition: border-color .2s, box-shadow .2s;

}



.input-wrap:focus-within {

  border-color: #E6A900;

  box-shadow: 0 0 0 3px rgba(230,169,0,.14);

}



.field-icon {

  flex-shrink: 0;

  color: #9A7100;

  font-size: 17px;

}



.input-wrap input,

.input-wrap select {

  width: 100%;

  min-width: 0;

  border: 0;

  outline: 0;

  color: #242424;

  background: transparent;

  font-size: 12px;

}



.input-wrap input::placeholder {

  color: #888888;

}



.input-wrap select {

  cursor: pointer;

}



.booking-footer {

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-wrap: wrap;

  gap: 18px;

  margin-top: 27px;

  padding-top: 23px;

  border-top: 1px solid #E8D89D;

}



.booking-footer p {

  color: #777777;

  font-size: 11px;

}



.secure-icon {

  margin-right: 6px;

  color: #9A7100;

}



.booking-submit {

  min-width: 195px;

}



/* Services */



.services {

  background: var(--cream);

}



.section-heading,

.routes-heading {

  display: flex;

  align-items: flex-end;

  justify-content: space-between;

  gap: 40px;

  margin-bottom: 45px;

}



.section-heading h2,

.routes-heading h2,

.about-content h2,

.cta h2 {

  margin-top: 13px;

  font-size: clamp(38px, 4.5vw, 58px);

  line-height: 1.08;

  letter-spacing: -2.5px;

}



.section-heading h2 span,

.routes-heading h2 span,

.about-content h2 span {

  color: #E6A900;

}



.section-heading > p,

.routes-heading > p {

  max-width: 310px;

  padding-bottom: 5px;

  color: #777777;

  font-size: 13px;

  line-height: 1.9;

}



.service-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0,1fr));

  border: 1px solid #dce1d5;

}



.service-card {

  min-height: 310px;

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  padding: 29px 27px;

  background: rgba(255,255,255,.42);

  transition: background .3s, transform .3s;

}



.service-card + .service-card {

  border-left: 1px solid #dce1d5;

}



.service-card:hover {

  position: relative;

  z-index: 1;

  background: white;

  transform: translateY(-5px);

}



.service-featured {

  background: var(--dark);

  color: white;

}



.service-featured:hover {

  background: #242424;

}



.service-number {

  color: #777777;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 1.1px;

}



.service-featured .service-number {

  color: #E8D89D;

}



.service-icon {

  width: 47px;

  height: 47px;

  display: grid;

  place-items: center;

  margin-top: 35px;

  background: #FFF0B3;

  color: #6B5000;

  font-size: 26px;

}



.service-featured .service-icon {

  background: var(--green);

  color: var(--dark);

}



.service-card h3 {

  margin-top: 20px;

  font-size: 23px;

  letter-spacing: -.6px;

}



.service-card > p {

  margin-top: 10px;

  color: #777777;

  font-size: 12px;

  line-height: 1.85;

}



.service-featured > p {

  color: #D8D8D8;

}



.service-link {

  display: flex;

  align-items: center;

  justify-content: space-between;

  width: 100%;

  margin-top: auto;

  padding-top: 24px;

  font-size: 11px;

  font-weight: 700;

}



.service-link span {

  color: #E6A900;

  font-size: 17px;

  transition: transform .2s;

}



.service-featured .service-link span {

  color: var(--green);

}



.service-link:hover span {

  transform: translate(3px,-3px);

}



/* Popular routes */



.routes {

  background: var(--dark);

  color: white;

}



.routes-heading {

  margin-bottom: 35px;

}



.routes-heading .section-tag {

  color: #D8D8D8;

}



.routes-heading h2 span {

  color: var(--green);

}



.routes-heading > p {

  color: #BDBDBD;

}



.route-list {

  border-top: 1px solid #3b443a;

}



.route-row {

  min-height: 91px;

  display: grid;

  grid-template-columns: 60px 1fr 175px 35px;

  align-items: center;

  gap: 18px;

  border-bottom: 1px solid #3b443a;

  transition: padding .25s, background .25s;

}



.route-row:hover {

  padding-inline: 13px;

  background: #242424;

}



.route-index {

  color: #A0A0A0;

  font-size: 10px;

}



.route-name {

  font-family: var(--font-heading);

  font-size: clamp(19px, 2.6vw, 29px);

  font-weight: 500;

  letter-spacing: -.7px;

}



.route-name span {

  color: var(--green);

  margin: 0 10px;

}



.route-type {

  color: #BDBDBD;

  font-size: 9px;

  letter-spacing: 1.1px;

}



.route-arrow {

  width: 32px;

  height: 32px;

  display: grid;

  place-items: center;

  border: 1px solid #777777;

  border-radius: 50%;

  color: var(--green);

  transition: background .2s, color .2s;

}



.route-row:hover .route-arrow {

  background: var(--green);

  color: var(--dark);

}



.route-note {

  margin-top: 20px;

  color: #BDBDBD;

  font-size: 10px;

  line-height: 1.7;

}



/* About */



.about {

  background: #FFF5CC;

}



.about-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  align-items: center;

  gap: 90px;

}



.about-visual {

  position: relative;

  min-height: 490px;

}



.about-image {

  position: absolute;

  inset: 0 32px 25px 0;

  background:

    linear-gradient(0deg, rgba(23,23,23,.2), transparent 45%),

    url("https://images.unsplash.com/photo-1473448912268-2022ce9509d8?auto=format&fit=crop&w=1100&q=85")

    center/cover;

}



.about-badge {

  position: absolute;

  right: 0;

  bottom: 0;

  width: 138px;

  height: 138px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  background: var(--green);

  color: var(--dark);

  transform: rotate(4deg);

}



.about-badge span {

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 2px;

}



.about-badge strong {

  font-family: var(--font-heading);

  font-size: 29px;

  letter-spacing: -1px;

}



.image-caption {

  position: absolute;

  top: 17px;

  left: 17px;

  color: white;

  font-size: 8px;

  font-weight: 700;

  letter-spacing: 1.6px;

}



.about-content > p {

  margin-top: 20px;

  color: #666666;

  font-size: 13px;

  line-height: 1.95;

}



.benefit-list {

  margin: 28px 0;

  border-top: 1px solid #d2d9cb;

}



.benefit-list > div {

  display: flex;

  align-items: flex-start;

  gap: 18px;

  padding: 17px 0;

  border-bottom: 1px solid #d2d9cb;

}



.benefit-list > div > span {

  color: #9A7100;

  font-size: 10px;

  font-weight: 700;

}



.benefit-list strong {

  font-size: 12px;

}



.benefit-list p {

  margin-top: 5px;

  color: #777777;

  font-size: 11px;

  line-height: 1.7;

}



/* CTA */



.cta {

  position: relative;

  overflow: hidden;

  background: var(--green);

}



.cta-inner {

  position: relative;

  min-height: 325px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 40px;

  padding-top: 60px;

  padding-bottom: 60px;

}



.cta .section-tag::before {

  background: var(--dark);

}



.cta h2 {

  font-size: clamp(48px, 6vw, 75px);

}



.cta h2 span {

  color: #9A7100;

}



.cta p {

  margin-top: 14px;

  color: #343434;

  font-size: 13px;

  line-height: 1.8;

}



.cta-button {

  position: relative;

  z-index: 1;

  min-width: 160px;

  background: var(--dark);

  color: white;

}



.cta-button:hover {

  background: #343434;

}



.cta-decoration {

  position: absolute;

  right: 170px;

  bottom: -115px;

  color: rgba(23,23,23,.055);

  font-family: var(--font-heading);

  font-size: 400px;

  font-weight: 800;

  line-height: 1;

  pointer-events: none;

}



/* Footer */



.footer {

  background: #171717;

  color: white;

}



.footer-main {

  min-height: 155px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-wrap: wrap;

  gap: 25px;

  padding: 35px 0;

}



.footer-main > p {

  color: #BDBDBD;

  font-size: 11px;

  line-height: 1.9;

}



.back-top {

  color: #D8D8D8;

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 1px;

}



.back-top:hover {

  color: var(--green);

}



.footer-bottom {

  min-height: 53px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-wrap: wrap;

  gap: 12px;

  border-top: 1px solid #393939;

  color: #A0A0A0;

  font-size: 9px;

}



.footer-star {

  color: var(--green);

  margin-left: 6px;

}



/* Animations */



@keyframes slideUp {

  from { opacity: 0; transform: translateY(22px); }

  to { opacity: 1; transform: translateY(0); }

}



@keyframes heroReveal {

  from { transform: scale(1.04); }

  to { transform: scale(1); }

}



/* Tablet */



@media (max-width: 1000px) {

  .container {

    width: min(100% - 44px, 850px);

  }



  .nav-menu {

    gap: 17px;

  }



  .nav-link {

    font-size: 10px;

  }



  .brand-text {

    font-size: 9px;

  }



  .brand-text strong {

    font-size: 14px;

  }



  .btn-nav {

    padding: 0 14px;

  }



  .hero {

    min-height: 640px;

  }



  .hero-content {

    padding-top: 105px;

  }



  .hero-stamp {

    right: 2%;

    width: 115px;

    height: 115px;

  }



  .form-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }



  .about-grid {

    gap: 45px;

  }



  .about-visual {

    min-height: 430px;

  }



  .service-card {

    padding: 24px 20px;

  }

}



/* Mobile navigation and layout */



@media (max-width: 760px) {

  .container {

    width: calc(100% - 36px);

  }



  .section-pad {

    padding: 76px 0;

  }



  .topbar-inner {

    height: 31px;

    font-size: 8px;

    letter-spacing: .6px;

  }



  .nav-wrap {

    height: 70px;

  }



  .brand-icon {

    width: 39px;

    height: 39px;

  }



  .menu-toggle {

    width: 43px;

    height: 43px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 6px;

    border: 1px solid #555555;

    background: transparent;

  }



  .menu-toggle span {

    display: block;

    width: 19px;

    height: 2px;

    background: var(--green);

    transition: transform .25s, opacity .25s;

  }



  .menu-toggle[aria-expanded="true"] span:first-child {

    transform: translateY(8px) rotate(45deg);

  }



  .menu-toggle[aria-expanded="true"] span:nth-child(2) {

    opacity: 0;

  }



  .menu-toggle[aria-expanded="true"] span:last-child {

    transform: translateY(-8px) rotate(-45deg);

  }



  .nav-menu {

    position: absolute;

    top: 70px;

    left: 0;

    right: 0;

    display: flex;

    flex-direction: column;

    align-items: stretch;

    gap: 0;

    padding: 8px 22px 24px;

    background: #171717;

    border-top: 1px solid #30392f;

    box-shadow: 0 20px 25px rgba(0,0,0,.18);

    opacity: 0;

    visibility: hidden;

    transform: translateY(-8px);

    transition: opacity .2s, transform .2s, visibility .2s;

  }



  .nav-menu.open {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

  }



  .nav-link {

    padding: 16px 0;

    border-bottom: 1px solid #30392f;

    font-size: 12px;

  }



  .btn-nav {

    margin-top: 17px;

    min-height: 47px;

  }



  .hero {

    min-height: 650px;

    min-height: min(760px, calc(100svh - 100px));

  }



  .hero-image {

    background-position: 57% center;

  }



  .hero-shade {

    background:

      linear-gradient(90deg, rgba(23,23,23,.9), rgba(23,23,23,.48)),

      linear-gradient(0deg, rgba(23,23,23,.8), transparent 75%);

  }



  .hero-content {

    min-height: inherit;

    padding-top: 95px;

    padding-bottom: 115px;

  }



  .hero h1 {

    font-size: clamp(53px, 10.5vw, 75px);

    letter-spacing: -3px;

  }



  .hero-description {

    max-width: 410px;

    font-size: 13px;

  }



  .hero-stamp {

    right: 2px;

    bottom: 94px;

    width: 90px;

    height: 90px;

    font-size: 7px;

  }



  .stamp-icon {

    font-size: 22px;

  }



  .hero-points {

    flex-direction: column;

    gap: 12px;

    margin-top: 30px;

  }



  .hero-bottom-inner {

    font-size: 7px;

    letter-spacing: .8px;

  }



  .scroll-indicator {

    display: none;

  }



  .booking-section {

    padding-bottom: 20px;

  }



  .booking-card {

    padding: 28px 21px 22px;

  }



  .booking-heading h2 {

    font-size: 28px;

  }



  .form-grid {

    grid-template-columns: 1fr;

    gap: 17px;

  }



  .booking-footer {

    align-items: stretch;

    flex-direction: column;

    gap: 17px;

  }



  .booking-submit {

    width: 100%;

  }



  .section-heading,

  .routes-heading {

    align-items: flex-start;

    flex-direction: column;

    gap: 16px;

    margin-bottom: 30px;

  }



  .section-heading h2,

  .routes-heading h2,

  .about-content h2 {

    font-size: 43px;

    letter-spacing: -2px;

  }



  .section-heading > p,

  .routes-heading > p {

    font-size: 12px;

  }



  .service-grid {

    grid-template-columns: 1fr;

  }



  .service-card {

    min-height: 285px;

    padding: 27px;

  }



  .service-card + .service-card {

    border-left: 0;

    border-top: 1px solid #dce1d5;

  }



  .route-row {

    min-height: 83px;

    grid-template-columns: 24px minmax(0,1fr) 30px;

    gap: 10px;

  }



  .route-name {

    font-size: clamp(17px, 4.5vw, 24px);

  }



  .route-name span {

    margin: 0 4px;

  }



  .route-type {

    display: none;

  }



  .route-arrow {

    width: 29px;

    height: 29px;

  }



  .about-grid {

    grid-template-columns: 1fr;

    gap: 40px;

  }



  .about-visual {

    min-height: 410px;

  }



  .about-image {

    right: 25px;

  }



  .about-content > p {

    font-size: 12px;

  }



  .cta-inner {

    min-height: 350px;

    align-items: flex-start;

    flex-direction: column;

    justify-content: center;

    gap: 27px;

    padding-top: 65px;

    padding-bottom: 65px;

  }



  .cta h2 {

    font-size: 56px;

  }



  .cta-decoration {

    right: -30px;

    bottom: -50px;

    font-size: 260px;

  }



  .footer-main {

    align-items: flex-start;

    flex-direction: column;

    gap: 20px;

    padding: 35px 0;

  }



  .footer-bottom {

    padding: 17px 0;

  }

}



/* Small mobile */



@media (max-width: 390px) {

  .container {

    width: calc(100% - 28px);

  }



  .topbar-right {

    font-size: 7px;

  }



  .hero h1 {

    font-size: 49px;

  }



  .hero-stamp {

    width: 75px;

    height: 75px;

    bottom: 85px;

  }



  .hero-actions {

    gap: 19px;

  }



  .hero-actions .btn {

    padding: 0 14px;

    gap: 12px;

  }



  .hero-bottom-inner {

    font-size: 6px;

  }



  .booking-card {

    padding-inline: 16px;

  }



  .route-name {

    font-size: 17px;

  }



  .about-visual {

    min-height: 340px;

  }



  .about-badge {

    width: 112px;

    height: 112px;

  }



  .cta h2 {

    font-size: 49px;

  }

}



/* Accessibility */



@media (prefers-reduced-motion: reduce) {

  *, *::before, *::after {

    scroll-behavior: auto !important;

    animation-duration: .01ms !important;

    animation-iteration-count: 1 !important;

    transition-duration: .01ms !important;

  }

}
