:root {
  --flyondo-blue: #253f7c;
  --flyondo-red: #ec1c2c;
  --flyondo-dark: #17284f;
  --flyondo-light: #f5f7fb;
  --flyondo-text: #273246;
}

html { scroll-behavior: smooth; }
body {
  color: var(--flyondo-text);
  font-family: "Red Hat Display";
  line-height: 1.7;
}
.navbar {
  background: rgba(255,255,255,.97);
  box-shadow: 0 2px 18px rgba(20,35,70,.08);
}

.navbar-nav {
  text-transform: uppercase;
}

.navbar-brand img { width: 190px; height: auto; }
.nav-link {
  color: var(--flyondo-dark);
  font-weight: 600;
  margin: 0 .15rem;
}
.nav-link:hover, .nav-link.active { color: var(--flyondo-red); }

.hero {
  position: relative;
  min-height: 650px;
  color: #fff;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,24,53,.84) 0%, rgba(37,63,124,.68) 48%, rgba(10,24,53,.20) 100%);
}
.hero .container { position: relative; z-index: 2; }
.hero-content {
  min-height: 650px;
  display: flex;
  align-items: center;
}
.hero-kicker {
  display: inline-block;
  background: rgba(236,28,44,.95);
  border-radius: 50px;
  padding: .45rem .9rem;
  font-weight: 700;
  font-size: .85rem;
  letter-spacing: .03em;
}
.hero h1 {
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1.05;
  font-weight: 800;
  max-width: 820px;
}
.hero p {
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  max-width: 760px;
  color: rgba(255,255,255,.92);
}

p {
  font-size: 1.1rem;
  font-weight: 300;
}


.btn-flyondo {
  background: var(--flyondo-red);
  color: #fff;
  border: 2px solid var(--flyondo-red);
  font-weight: 700;
  padding: .8rem 1.35rem;
  border-radius: .5rem;
}
.btn-flyondo:hover {
  background: #c91424;
  border-color: #c91424;
  color: #fff;
}
.btn-outline-light-flyondo {
  border: 2px solid #fff;
  color: #fff;
  font-weight: 700;
  padding: .8rem 1.35rem;
  border-radius: .5rem;
}
.btn-outline-light-flyondo:hover {
  background: #fff;
  color: var(--flyondo-blue);
}
.section-padding { padding: 90px 0; }
.bg-light-flyondo { background: var(--flyondo-light); }
.section-title {
  color: var(--flyondo-blue);
  font-weight: 600;
}
.section-lead {
  max-width: 820px;
  margin: 0 auto;
  color: #5b667a;
}
.service-card {
  height: 100%;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 35px rgba(24,45,88,.09);
  transition: transform .2s ease, box-shadow .2s ease;
}
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 45px rgba(24,45,88,.14);
}
.icon-box {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(37,63,124,.10);
  color: var(--flyondo-blue);
  font-size: 1.55rem;
}
.icon-box.red {
  background: rgba(236,28,44,.10);
  color: var(--flyondo-red);
}
.feature-strip {
  background: var(--flyondo-blue);
  color: #fff;
}
.feature-number {
  font-size: 2.3rem;
  font-weight: 800;
  color: #fff;
}
.check-list { list-style: none; padding-left: 0; }
.check-list li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: .9rem;
  font-size: 1.25rem;
  font-weight: 300;
}
.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--flyondo-red);
  font-weight: 900;
}
.cta {
  background: linear-gradient(135deg, var(--flyondo-blue), var(--flyondo-dark));
  color: #fff;
  border-radius: 1.25rem;
  overflow: hidden;
}
.cta h2 { color: #fff; }
.page-header {
  background: linear-gradient(135deg, var(--flyondo-blue), var(--flyondo-dark));
  color: #fff;
  padding: 100px 0 80px;
}
.page-header h1 { font-weight: 800; }
.contact-card {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 35px rgba(24,45,88,.09);
}
.form-control, .form-select {
  padding: .8rem .95rem;
  border-color: #dbe1ec;
}
.form-control:focus, .form-select:focus {
  border-color: var(--flyondo-blue);
  box-shadow: 0 0 0 .2rem rgba(37,63,124,.12);
}
footer {
  background: var(--flyondo-blue);
  color: rgba(255,255,255,.76);
}
footer a { color: rgba(255,255,255,.88); text-decoration: none; }
footer a:hover { color: #fff; }
.footer-logo { width: 180px; filter: brightness(0) invert(1); }
.cookie-banner {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1080;
  max-width: 1100px;
  margin: auto;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 12px 50px rgba(0,0,0,.20);
  padding: 1.25rem;
  display: none;
}
.cookie-banner.show { display: block; }
.cookie-banner p { margin-bottom: .5rem; }
.cookie-small { font-size: .9rem; color: #667085; }
.carousel-indicators [data-bs-target] { width: 36px; height: 4px; border-radius: 10px; }
@media (max-width: 991.98px) {
  .navbar-brand img { width: 160px; }
  .hero, .hero-content { min-height: 580px; }
  .section-padding { padding: 70px 0; }
}
@media (max-width: 575.98px) {
  .hero, .hero-content { min-height: 620px; }
  .hero h1 { font-size: 2.35rem; }
  .hero .btn { width: 100%; margin-bottom: .65rem; }
}
@media (min-width: 1200px) {
  .h2, h2 {
    font-size: 1.3rem;
  }
}


@media (min-width: 1200px) {
  .display-6 {
    font-size: 2rem;
  }
}