﻿:root {
  --navy: #25175e;
  --royal: #2459f5;
  --red: #e31b23;
  --white: #ffffff;
  --sky: #f3f8ff;
  --gold: #d6a94a;
  --ink: #16172a;
  --muted: #646b80;
  --line: #dce6f5;
  --shadow: 0 18px 45px rgba(37, 23, 94, 0.12);
  --radius: 18px;
  --max: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
}

body.menu-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

p {
  margin: 0 0 1rem;
}

.container {
  width: min(100% - 32px, var(--max));
  margin-inline: auto;
}

.section {
  padding: 76px 0;
}

.section-soft {
  background: var(--sky);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--royal);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: 30px;
  height: 2px;
  background: var(--gold);
}

h1,
h2,
h3 {
  color: var(--navy);
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.08;
  margin: 0 0 18px;
}

h1 {
  font-size: clamp(2.45rem, 7vw, 5.1rem);
  max-width: 820px;
}

h2 {
  font-size: clamp(2rem, 4vw, 3.25rem);
}

h3 {
  font-size: 1.45rem;
}

.lead {
  color: var(--muted);
  font-size: clamp(1rem, 2vw, 1.18rem);
  max-width: 760px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border: 0;
  border-radius: 999px;
  background: var(--navy);
  color: var(--white);
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.btn:hover,
.btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(36, 89, 245, 0.22);
}

.btn-primary {
  background: var(--red);
}

.btn-secondary {
  background: var(--royal);
}

.btn-light {
  background: var(--white);
  color: var(--navy);
}

.btn-light:hover,
.btn-light:focus-visible,
.contact-panel .btn-light,
.cta-band .btn-light {
  color: var(--navy);
}

.btn-outline {
  background: transparent;
  color: var(--navy);
  border: 1px solid rgba(37, 23, 94, 0.2);
}

.btn-primary,
.btn-secondary,
.contact-panel .btn-primary,
.contact-panel .btn-secondary {
  color: var(--white);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(220, 230, 245, 0.85);
  backdrop-filter: blur(18px);
}

.top-strip {
  background: var(--navy);
  color: var(--white);
  font-size: 0.86rem;
}

.top-strip .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 8px 0;
}

.top-contact {
  white-space: nowrap;
}

.top-client-links {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.top-client-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
  padding: 8px 12px;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.top-client-links a:first-child {
  background: rgba(255, 255, 255, 0.1);
}

.top-client-links a:last-child {
  border-color: var(--red);
  background: var(--red);
}

.top-client-links a:hover,
.top-client-links a:focus-visible {
  border-color: var(--white);
  background: var(--white);
  color: var(--navy);
}

.license-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  font-weight: 800;
}

.license-badge img {
  width: 34px;
  height: 24px;
  object-fit: contain;
  padding: 2px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.92);
}

.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 78px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 240px;
}

.brand-logo {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 62px;
  height: 62px;
  overflow: hidden;
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 8px 22px rgba(37, 23, 94, 0.12);
}

.brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-title {
  color: var(--navy);
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1;
}

.brand-subtitle {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  margin-top: 5px;
}

.nav-menu {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.nav-menu a {
  border-radius: 999px;
  color: #30334a;
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1;
  padding: 11px 12px;
  white-space: nowrap;
}

.nav-menu a:hover,
.nav-menu a.active {
  background: var(--navy);
  color: var(--white);
  box-shadow: 0 10px 24px rgba(37, 23, 94, 0.16);
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: currentColor;
}

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 86px 0 70px;
  background:
    radial-gradient(circle at 75% 12%, rgba(214, 169, 74, 0.22), transparent 27%),
    linear-gradient(135deg, #ffffff 0%, #f3f8ff 62%, #eef4ff 100%);
}

.hero-video-section {
  background: var(--white);
}

.hero-bg-video {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  pointer-events: none;
  transition: opacity 650ms ease;
}

.hero-bg-video.is-transitioning {
  opacity: 0;
}

.hero-video-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 42%, rgba(255, 255, 255, 0.72) 72%, rgba(255, 255, 255, 0.52) 100%),
    radial-gradient(circle at 75% 12%, rgba(255, 255, 255, 0.36), transparent 30%);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 70px -80px auto auto;
  width: 48vw;
  max-width: 650px;
  height: 170px;
  opacity: 0.22;
  background: url("data:image/svg+xml,%3Csvg width='900' height='220' viewBox='0 0 900 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 186C192 26 362 27 506 102c153 80 242 35 376-70' fill='none' stroke='%232459F5' stroke-width='5' stroke-dasharray='12 16'/%3E%3Cpath d='M652 64l42-44-14 62 62 14-62 14-14 62-14-62-62-14 62-14z' fill='%23E31B23'/%3E%3C/svg%3E") center / contain no-repeat;
  z-index: -1;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
  gap: 48px;
  align-items: center;
  overflow: visible;
  position: relative;
  z-index: 1;
}

.hero-actions,
.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.trust-badges {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
  max-width: 610px;
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  padding: 10px 13px;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 800;
}

.icon-pill {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--sky);
  color: var(--royal);
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1;
}

.icon-pill[class*="icon-"] {
  font-size: 0;
}

.icon-pill[class*="icon-"]::before {
  content: "";
  width: 19px;
  height: 19px;
  background: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}

.icon-plane { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.8 4.5c.4.4.2 1.1-.3 1.3l-6.8 3.6 1.8 8.4c.1.4-.1.7-.4.9l-1.1.6c-.3.2-.7.1-.9-.2l-3.7-6.8-4.2 2.2-.4 2.4c0 .3-.2.5-.4.6l-.8.4c-.4.2-.9 0-1-.4l-1-3.4-2.3-2.7c-.3-.4-.2-.9.2-1.1l.8-.4c.2-.1.5-.1.7 0l2.2 1.1 4.2-2.2-3.7-6.8c-.2-.3-.1-.7.2-.9l1.1-.6c.3-.2.7-.1 1 .1l6.1 6 6.8-3.6c.5-.2 1.1-.1 1.4.3l.5 1.2Z'/%3E%3C/svg%3E"); }
.icon-ticket { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 8.2v2.2a2 2 0 0 0 0 3.2v2.2c0 .7-.5 1.2-1.2 1.2H4.2c-.7 0-1.2-.5-1.2-1.2v-2.2a2 2 0 0 0 0-3.2V8.2C3 7.5 3.5 7 4.2 7h15.6c.7 0 1.2.5 1.2 1.2ZM8 9v6h1.6V9H8Zm4 2.2h5V9.6h-5v1.6Zm0 3.2h4v-1.6h-4v1.6Z'/%3E%3C/svg%3E"); }
.icon-visa { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h9.2L21 6.8V20c0 1.1-.9 2-2 2H7c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2Zm8 1.8V8h4.2L15 3.8ZM8 11h10V9.4H8V11Zm0 3.4h10v-1.6H8v1.6Zm0 3.4h6v-1.6H8v1.6Z'/%3E%3C/svg%3E"); }
.icon-globe { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm6.9 9.2h-3.1a15 15 0 0 0-1.2-5.1 8.1 8.1 0 0 1 4.3 5.1ZM12 4.1c.8 1.1 1.6 3.4 1.8 7.1h-3.6c.2-3.7 1-6 1.8-7.1Zm-2.6 2a15 15 0 0 0-1.2 5.1H5.1a8.1 8.1 0 0 1 4.3-5.1Zm-4.3 6.7h3.1c.1 2 .5 3.8 1.2 5.1a8.1 8.1 0 0 1-4.3-5.1Zm6.9 7.1c-.8-1.1-1.6-3.4-1.8-7.1h3.6c-.2 3.7-1 6-1.8 7.1Zm2.6-2c.7-1.3 1.1-3.1 1.2-5.1h3.1a8.1 8.1 0 0 1-4.3 5.1Z'/%3E%3C/svg%3E"); }
.icon-package { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L6.6 7.4 12 10.5l5.4-3.1L12 4.3ZM5 9v6.8l6 3.3v-6.8L5 9Zm8 10.1 6-3.3V9l-6 3.3v6.8Z'/%3E%3C/svg%3E"); }
.icon-car { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.3 6h11.4c.8 0 1.5.5 1.8 1.2L21 11v6.5c0 .8-.7 1.5-1.5 1.5H18c-.8 0-1.5-.7-1.5-1.5V17h-9v.5C7.5 18.3 6.8 19 6 19H4.5C3.7 19 3 18.3 3 17.5V11l1.5-3.8C4.8 6.5 5.5 6 6.3 6Zm.2 2-1 2.7h13L17.5 8h-11ZM6 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm12 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'/%3E%3C/svg%3E"); }
.icon-map-pin { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E"); }
.icon-arrow-up { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 5h13v13h-2V8.4L6.7 18.7l-1.4-1.4L15.6 7H6V5Z'/%3E%3C/svg%3E"); }
.icon-return { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7h10l-2.8-2.8L15.6 3 21 8.4l-5.4 5.4-1.4-1.2L17 9H7V7Zm10 10H7l2.8 2.8L8.4 21 3 15.6l5.4-5.4 1.4 1.2L7 15h10v2Z'/%3E%3C/svg%3E"); }
.icon-route { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 4a3 3 0 0 1 2.2 5H16a3 3 0 0 1 0 6H8a1 1 0 0 0 0 2h7.8a3 3 0 1 1 0 2H8a3 3 0 0 1 0-6h8a1 1 0 0 0 0-2H8.2A3 3 0 1 1 6 4Zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm12 12a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z'/%3E%3C/svg%3E"); }
.icon-users { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0 2c3.3 0 6 1.8 6 4v2H3v-2c0-2.2 2.7-4 6-4Zm7.5-2.2a3.4 3.4 0 0 1-1.8-.5 5.9 5.9 0 0 0 0-6.6 3.5 3.5 0 1 1 1.8 7.1Zm.4 2.2c2.7.2 4.6 1.8 4.6 3.8V20H17v-2c0-1.5-.8-2.8-2.1-3.8.6-.1 1.2-.2 2-.2Z'/%3E%3C/svg%3E"); }
.icon-briefcase { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 4h6a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h3V6a2 2 0 0 1 2-2Zm0 4h6V6H9v2Zm-5 4v6h16v-6h-6v2h-4v-2H4Z'/%3E%3C/svg%3E"); }
.icon-island { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3c3.6 0 6.4 1.3 8 3.4-3-.3-5.2.3-6.6 1.8 2.6.3 4.7 1.5 6.1 3.8-2.8-1.1-5.2-1-7 .3l-1.6 7.7H8.8l1.8-8.4C8.8 10.2 6.4 10 3.5 11c1.8-2.3 4-3.5 6.6-3.4C8.7 6 6.7 5.4 4 5.8 5.8 4 8.4 3 12 3Zm-7 18h14v-2H5v2Z'/%3E%3C/svg%3E"); }

.hero-collage {
  position: relative;
  width: 100%;
  max-width: 560px;
  justify-self: end;
  min-height: 570px;
  overflow: hidden;
  opacity: 0.9;
}

.collage-card {
  position: absolute;
  overflow: hidden;
  border: 8px solid var(--white);
  border-radius: 28px;
  box-shadow: none;
  margin: 0;
  background: rgba(255, 255, 255, 0.48);
}

.collage-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.82;
}

.collage-card.large {
  inset: 30px 0 auto auto;
  width: min(78%, 440px);
  height: 390px;
}

.collage-card.small {
  left: 0;
  bottom: 48px;
  width: min(48%, 270px);
  height: 250px;
}

.collage-card.tiny {
  right: 30px;
  bottom: 0;
  width: min(38%, 210px);
  height: 170px;
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 34px;
}

.section-heading .lead {
  max-width: 560px;
}

.grid-4,
.grid-3,
.grid-2 {
  display: grid;
  gap: 22px;
}

.grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 12px 34px rgba(37, 23, 94, 0.07);
  padding: 24px;
}

.service-card {
  min-height: 100%;
}

.service-card h3 {
  margin-top: 18px;
}

.license-card {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  max-width: 100%;
  border: 1px solid rgba(36, 89, 245, 0.18);
  border-radius: 18px;
  background: linear-gradient(135deg, #ffffff, #f3f8ff);
  box-shadow: 0 12px 30px rgba(37, 23, 94, 0.08);
  margin: 8px 0 4px;
  padding: 12px 16px;
}

.license-card img {
  width: 78px;
  height: auto;
  flex: 0 0 auto;
}

.license-card span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.license-card strong {
  display: block;
  color: var(--navy);
  font-size: 1.02rem;
}

.section-team {
  background:
    radial-gradient(circle at 10% 0%, rgba(36, 89, 245, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.team-card {
  display: grid;
  grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.team-photo {
  min-height: 320px;
  background: var(--sky);
}

.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.team-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
}

.team-role {
  align-self: flex-start;
  border-radius: 999px;
  background: rgba(36, 89, 245, 0.1);
  color: var(--royal);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  padding: 7px 11px;
  text-transform: uppercase;
}

.team-body h3 {
  margin: 14px 0 10px;
}

.team-body p {
  color: var(--muted);
}

.team-contact {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.team-contact a {
  display: inline-flex;
  max-width: 100%;
  overflow-wrap: anywhere;
  border-radius: 999px;
  background: var(--sky);
  color: var(--navy);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.25;
  padding: 9px 12px;
}

.team-contact a:hover,
.team-contact a:focus-visible {
  color: var(--royal);
}

.feature-list,
.check-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
}

.feature-list li,
.check-list li {
  position: relative;
  padding-left: 26px;
  margin: 9px 0;
  color: var(--muted);
}

.feature-list li::before,
.check-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--royal);
  font-weight: 900;
}

.package-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}

.package-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.package-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.tag {
  border-radius: 999px;
  background: var(--sky);
  color: var(--navy);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 850;
  padding: 6px 10px;
}

.price {
  color: var(--red);
  font-size: 1.25rem;
  font-weight: 950;
  margin: 4px 0 8px;
}

.package-body .btn {
  margin-top: auto;
}

/* ── PACKAGE INFO BAR ──────────────────────────────────────────────────────── */
.pkg-info-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 16px 0;
  border-top: 1px solid #dde4f0;
  border-bottom: 1px solid #dde4f0;
  margin: 14px 0 18px;
}

.pkg-info-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 7px;
}

.pkg-info-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--navy);
}

.pkg-info-icon svg {
  width: 18px;
  height: 18px;
}

.pkg-info-text {
  width: 100%;
}

.pkg-info-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.3;
}

.pkg-info-value {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--royal);
  margin-top: 3px;
  line-height: 1.3;
}

.transport-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.transport-card {
  text-align: center;
  padding: 20px 22px 24px;
}

.transport-visual {
  display: grid;
  place-items: center;
  min-height: 230px;
  height: auto;
  margin-bottom: 18px;
  border-radius: 18px;
  overflow: visible;
  background: #ffffff;
}

.transport-visual img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  padding: 0;
  transition: transform 180ms ease;
}

.transport-card:hover .transport-visual img {
  transform: translateY(-2px);
}

.transport-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 1.04rem;
  margin-bottom: 8px;
}

.airline-cloud {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.airline-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 94px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 10px 28px rgba(37, 23, 94, 0.06);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.airline-logo img {
  width: min(150px, 78%);
  height: 58px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.68;
  transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.airline-logo:hover,
.airline-logo:focus-within {
  border-color: rgba(36, 89, 245, 0.28);
  box-shadow: 0 16px 34px rgba(36, 89, 245, 0.12);
  transform: translateY(-2px);
}

.airline-logo:hover img,
.airline-logo:focus-within img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.04);
}

.airline-note {
  margin: 18px 0 0;
  color: var(--muted);
  font-weight: 750;
  text-align: center;
}

.banner {
  padding: 74px 0;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(37, 23, 94, 0.92), rgba(36, 89, 245, 0.72)),
    url("https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=1800&q=75") center / cover;
}

.banner h1,
.banner p {
  color: var(--white);
}

.breadcrumb {
  display: flex;
  gap: 8px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.92rem;
  font-weight: 750;
  margin-bottom: 18px;
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.65fr);
  gap: 38px;
  align-items: start;
}

.contact-panel {
  background: var(--navy);
  color: var(--white);
}

.contact-panel h3,
.contact-panel a {
  color: var(--white);
}

.contact-panel p {
  color: rgba(255, 255, 255, 0.78);
}

.map-section {
  margin-top: 42px;
}

.map-frame {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  border: 1px solid rgba(36, 89, 245, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(var(--white), var(--white)) padding-box,
    linear-gradient(135deg, rgba(36, 89, 245, 0.72), rgba(214, 169, 74, 0.62)) border-box;
  box-shadow: var(--shadow);
}

.map-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(135deg, rgba(37, 23, 94, 0.1), rgba(36, 89, 245, 0.04) 44%, rgba(214, 169, 74, 0.08));
  mix-blend-mode: multiply;
}

.map-frame iframe {
  width: 100%;
  height: 430px;
  border: 0;
  display: block;
  filter: saturate(0.78) contrast(1.05) hue-rotate(174deg);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.field.full {
  grid-column: 1 / -1;
}

label {
  display: block;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 7px;
}

input,
select,
textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
  padding: 12px 14px;
}

.date-control {
  position: relative;
  display: block;
}

.date-control input[type="date"],
.date-control input[type="datetime-local"],
.date-control input[type="month"] {
  min-height: 52px;
  border-color: rgba(37, 23, 94, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 10px 24px rgba(37, 23, 94, 0.06);
  color: var(--navy);
  font-weight: 800;
  padding-right: 54px;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.date-control input[type="date"]:hover,
.date-control input[type="datetime-local"]:hover,
.date-control input[type="month"]:hover {
  border-color: rgba(36, 89, 245, 0.34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 14px 30px rgba(36, 89, 245, 0.1);
}

.date-control input[type="date"]:focus,
.date-control input[type="datetime-local"]:focus,
.date-control input[type="month"]:focus {
  border-color: var(--royal);
  background: var(--white);
  box-shadow:
    0 0 0 4px rgba(36, 89, 245, 0.12),
    0 16px 34px rgba(36, 89, 245, 0.14);
  outline: 0;
}

.date-control input::-webkit-calendar-picker-indicator {
  opacity: 0;
  pointer-events: none;
}

.date-picker-button {
  position: absolute;
  right: 8px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(36, 89, 245, 0.18);
  border-radius: 12px;
  background: linear-gradient(135deg, var(--royal), #4f7bff);
  color: var(--white);
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.date-picker-button:hover,
.date-picker-button:focus-visible {
  box-shadow: 0 10px 20px rgba(36, 89, 245, 0.24);
  transform: translateY(-50%) scale(1.03);
  outline: 0;
}

.date-picker-button span {
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v3h6V2h2v3h2.2c1 0 1.8.8 1.8 1.8v12.4c0 1-.8 1.8-1.8 1.8H4.8c-1 0-1.8-.8-1.8-1.8V6.8C3 5.8 3.8 5 4.8 5H7V2Zm12 8H5v9h14v-9ZM5 8h14V7H5v1Zm3 4h3v3H8v-3Zm5 0h3v3h-3v-3Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v3h6V2h2v3h2.2c1 0 1.8.8 1.8 1.8v12.4c0 1-.8 1.8-1.8 1.8H4.8c-1 0-1.8-.8-1.8-1.8V6.8C3 5.8 3.8 5 4.8 5H7V2Zm12 8H5v9h14v-9ZM5 8h14V7H5v1Zm3 4h3v3H8v-3Zm5 0h3v3h-3v-3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.premium-calendar {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 10000;
  width: min(326px, calc(100vw - 32px));
  border: 1px solid rgba(220, 230, 245, 0.96);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98));
  box-shadow:
    0 24px 70px rgba(18, 12, 49, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
  padding: 16px;
  backdrop-filter: blur(18px);
}

.premium-calendar[hidden] {
  display: none;
}

.calendar-head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.calendar-head strong {
  color: var(--navy);
  font-size: 0.98rem;
  font-weight: 950;
  text-align: center;
}

.calendar-head button,
.calendar-footer button {
  border: 1px solid rgba(36, 89, 245, 0.16);
  border-radius: 12px;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.calendar-head button {
  position: relative;
  height: 38px;
}

.calendar-head button::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m15.5 19-7-7 7-7 1.4 1.4-5.6 5.6 5.6 5.6-1.4 1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m15.5 19-7-7 7-7 1.4 1.4-5.6 5.6 5.6 5.6-1.4 1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.calendar-head button[data-calendar-nav="1"]::before {
  transform: rotate(180deg);
}

.calendar-head button:hover,
.calendar-head button:focus-visible,
.calendar-footer button:hover,
.calendar-footer button:focus-visible {
  border-color: rgba(36, 89, 245, 0.34);
  box-shadow: 0 10px 22px rgba(36, 89, 245, 0.12);
  outline: 0;
}

.calendar-weekdays,
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.calendar-weekdays {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  margin-bottom: 8px;
  text-align: center;
  text-transform: uppercase;
}

.calendar-day {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 850;
  transition: background 140ms ease, color 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.calendar-day:hover,
.calendar-day:focus-visible {
  background: rgba(36, 89, 245, 0.1);
  color: var(--royal);
  outline: 0;
  transform: translateY(-1px);
}

.calendar-day.muted {
  color: #a1abc1;
}

.calendar-day.today {
  box-shadow: inset 0 0 0 2px rgba(214, 169, 74, 0.7);
  color: var(--navy);
}

.calendar-day.selected {
  background: linear-gradient(135deg, var(--royal), #4f7bff);
  color: var(--white);
  box-shadow: 0 10px 20px rgba(36, 89, 245, 0.28);
}

.calendar-footer {
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid var(--line);
  margin-top: 12px;
  padding-top: 12px;
}

.calendar-footer button {
  min-height: 36px;
  padding: 8px 12px;
}

textarea {
  min-height: 135px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--royal);
  outline: 3px solid rgba(36, 89, 245, 0.12);
}

.faq-list {
  display: grid;
  gap: 14px;
}

.faq-item {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  padding: 20px;
}

.faq-item h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 1rem;
  margin-bottom: 8px;
}

.cta-band {
  color: var(--white);
  background: linear-gradient(135deg, var(--navy), var(--royal));
  padding: 54px 0;
}

.cta-band .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cta-band h2,
.cta-band p {
  color: var(--white);
}

.site-footer {
  background: #120c31;
  color: rgba(255, 255, 255, 0.78);
  padding: 58px 0 22px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 30px;
}

.site-footer h3,
.site-footer h4,
.site-footer a {
  color: var(--white);
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer li {
  margin: 8px 0;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.social-link {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.social-link:hover,
.social-link:focus-visible {
  transform: translateY(-2px);
  background: var(--royal);
  border-color: var(--royal);
}

.social-link svg {
  width: 19px;
  height: 19px;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 34px;
  padding-top: 20px;
  font-size: 0.9rem;
}

.footer-payment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
}

.footer-payment img {
  width: clamp(92px, 11vw, 118px);
  max-height: 28px;
  height: auto;
  display: block;
  object-fit: contain;
}

.footer-attribution {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 34px;
  padding-top: 22px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.86rem;
}

.footer-attribution-link {
  display: inline-flex;
  align-items: center;
  color: var(--white);
}

.footer-attribution-logo {
  width: 112px;
  height: auto;
}

.whatsapp-widget-v3 {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999999;
}

.button-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.whatsapp-button-v3 {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 4px solid var(--white);
  border-radius: 50%;
  background: #25d366;
  box-shadow: 0 14px 30px rgba(18, 12, 49, 0.22);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.whatsapp-button-v3:hover,
.whatsapp-button-v3:focus-visible {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 18px 38px rgba(18, 12, 49, 0.28);
}

.whatsapp-button-v3 img {
  width: 38px;
  height: 38px;
}

.pulse-ring {
  position: absolute;
  inset: -7px;
  z-index: 1;
  border: 2px solid rgba(37, 211, 102, 0.58);
  border-radius: 50%;
  animation: whatsappPulse 1.9s ease-out infinite;
}

.badge-v3 {
  position: absolute;
  right: -2px;
  top: -8px;
  border: 2px solid var(--white);
  border-radius: 999px;
  background: var(--red);
  color: var(--white);
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1;
  padding: 5px 7px;
  box-shadow: 0 7px 16px rgba(18, 12, 49, 0.18);
}

.tooltip-v3 {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  width: max-content;
  max-width: 220px;
  border-radius: 999px;
  background: var(--navy);
  color: var(--white);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1;
  opacity: 0;
  padding: 11px 14px;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
  white-space: nowrap;
}

.button-container:hover .tooltip-v3,
.whatsapp-button-v3:focus-visible + .tooltip-v3 {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@keyframes whatsappPulse {
  0% {
    opacity: 0.72;
    transform: scale(0.86);
  }

  80%,
  100% {
    opacity: 0;
    transform: scale(1.35);
  }
}

.license-note {
  border-left: 4px solid var(--gold);
  background: #fff9ec;
  border-radius: 14px;
  color: #5d4a1f;
  padding: 16px 18px;
}

.smart-search-panel,
.dashboard-panel,
.admin-panel {
  border: 1px solid rgba(220, 230, 245, 0.92);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.smart-search-panel {
  align-self: start;
  padding: 16px;
  backdrop-filter: blur(16px);
}

.search-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}

.search-tab {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--sky);
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 900;
}

.search-tab.active {
  border-color: var(--navy);
  background: var(--navy);
  color: var(--white);
}

.smart-search-form {
  display: none;
}

.smart-search-form.active {
  display: block;
}

.smart-search-form.is-loading {
  opacity: 0.78;
  pointer-events: none;
}

.form-grid.compact {
  gap: 10px;
  margin-bottom: 14px;
}

.form-grid.compact input,
.form-grid.compact select,
.form-grid.compact textarea {
  min-height: 42px;
  border-radius: 12px;
  padding: 9px 11px;
}

.form-grid.compact .date-control input[type="date"],
.form-grid.compact .date-control input[type="datetime-local"],
.form-grid.compact .date-control input[type="month"] {
  min-height: 46px;
  padding-right: 50px;
}

.form-grid.compact .date-picker-button {
  width: 34px;
  height: 34px;
  border-radius: 11px;
}

.form-grid.compact textarea {
  min-height: 84px;
}

.inline-check {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  margin: 0;
  color: var(--navy);
  font-size: 0.88rem;
  font-weight: 850;
}

.inline-check input {
  width: 18px;
  min-height: 18px;
  flex: 0 0 auto;
}

.section-operations {
  padding-top: 64px;
}

.ops-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ops-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  padding: 22px;
  box-shadow: 0 12px 32px rgba(37, 23, 94, 0.07);
}

.ops-card span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--royal);
  color: var(--white);
  font-weight: 950;
  margin-bottom: 16px;
}

.ops-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 1.02rem;
}

.portal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.portal-banner {
  background:
    linear-gradient(90deg, rgba(37, 23, 94, 0.9), rgba(36, 89, 245, 0.64)),
    url("https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&w=1800&q=75") center / cover;
}

.portal-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.portal-sidebar,
.admin-sidebar {
  position: sticky;
  top: 112px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 12px 32px rgba(37, 23, 94, 0.06);
  padding: 16px;
}

.client-card {
  border-radius: 14px;
  background: var(--navy);
  color: var(--white);
  padding: 16px;
  margin-bottom: 12px;
}

.client-card strong,
.client-card span {
  display: block;
}

.client-card span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.86rem;
}

.portal-nav,
.admin-sidebar nav {
  display: grid;
  gap: 6px;
}

.portal-nav a,
.admin-sidebar a {
  border-radius: 12px;
  color: var(--navy);
  font-weight: 850;
  padding: 10px 12px;
}

.portal-nav a:hover,
.admin-sidebar a:hover {
  background: var(--sky);
  color: var(--royal);
}

.portal-main,
.admin-main {
  display: grid;
  gap: 24px;
}

.dashboard-panel,
.admin-panel {
  padding: 24px;
}

.compact-heading {
  margin-bottom: 20px;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.metric-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--sky);
  padding: 18px;
}

.metric-card span,
.metric-card strong {
  display: block;
}

.metric-card span {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 850;
}

.metric-card strong {
  color: var(--navy);
  font-size: clamp(1.7rem, 4vw, 2.45rem);
  line-height: 1.05;
  margin-top: 8px;
}

.notification-list,
.file-list,
.traveler-grid {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.notification-list article,
.file-list a,
.traveler-grid article {
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  padding: 15px;
}

.notification-list span,
.file-list span,
.traveler-grid span {
  color: var(--muted);
}

.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.panel-title h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin: 0;
}

.table-wrap {
  overflow-x: auto;
}

.portal-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}

.portal-table th,
.portal-table td {
  border-bottom: 1px solid var(--line);
  padding: 13px 12px;
  text-align: left;
}

.portal-table th {
  color: var(--navy);
  font-size: 0.82rem;
  text-transform: uppercase;
}

.status {
  display: inline-flex;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 950;
  padding: 6px 10px;
}

.status.pending,
.status.unpaid {
  background: #fff1d6;
  color: #8a5200;
}

.status.quoted {
  background: #eaf0ff;
  color: var(--royal);
}

.status.ticketed,
.status.paid {
  background: #e8fbef;
  color: #0a7b39;
}

.document-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.document-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  padding: 20px;
}

.document-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 1.08rem;
  margin-top: 14px;
}

.doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.searchable-country {
  position: relative;
}

.country-results {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 10;
  display: none;
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.country-results.open {
  display: block;
}

.country-results button {
  display: flex;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  gap: 10px;
  padding: 10px 12px;
  text-align: left;
}

.country-results button:hover {
  background: var(--sky);
}

.admin-body {
  background: #f6f8fc;
}

.admin-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.94);
  padding: 14px 24px;
  backdrop-filter: blur(16px);
}

.admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-shell {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 24px;
  width: min(100% - 32px, 1440px);
  margin: 24px auto 64px;
}

.admin-sidebar {
  top: 104px;
}

.pipeline-board {
  display: grid;
  grid-template-columns: repeat(6, minmax(190px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.pipeline-board article {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--sky);
  padding: 16px;
}

.pipeline-board strong,
.pipeline-board span {
  display: block;
}

.pipeline-board span {
  color: var(--royal);
  font-weight: 950;
}

.ops-form .btn {
  margin-top: 16px;
}

.fleet-admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.fleet-admin-grid article {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  padding: 18px;
}

.fleet-admin-grid img {
  height: 150px;
  object-fit: contain;
}

.fleet-admin-grid strong {
  color: var(--navy);
}

.fleet-admin-grid span {
  color: var(--muted);
}

@media (max-width: 1020px) {
  .grid-4,
  .grid-3,
  .transport-grid,
  .ops-grid,
  .metric-grid,
  .fleet-admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .airline-cloud {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hero-grid,
  .split,
  .portal-layout,
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .portal-sidebar,
  .admin-sidebar {
    position: static;
  }

  .admin-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero-collage {
    max-width: 620px;
    justify-self: start;
    min-height: 470px;
  }

  .navbar > .btn {
    display: none;
  }

  .menu-toggle {
    display: inline-block;
  }

  .nav-menu {
    position: fixed;
    inset: 118px 16px auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--white);
    box-shadow: var(--shadow);
    padding: 14px;
  }

  .nav-menu.open {
    display: flex;
  }

  .nav-menu a {
    justify-content: center;
    padding: 13px 16px;
  }

  .section-heading {
    align-items: start;
    flex-direction: column;
  }
}

@media (min-width: 1021px) and (max-width: 1240px) {
  .hero {
    padding: 64px 0 58px;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.78fr);
    gap: 30px;
  }

  .hero h1 {
    font-size: clamp(3.1rem, 5.8vw, 4.35rem);
    max-width: 660px;
  }

  .hero .lead {
    max-width: 600px;
  }

  .trust-badges {
    grid-template-columns: 1fr;
    max-width: 430px;
  }

  .hero-collage {
    max-width: 500px;
    min-height: 500px;
  }

  .collage-card.large {
    width: 76%;
    height: 350px;
  }

  .collage-card.small {
    width: 44%;
    height: 215px;
  }

  .collage-card.tiny {
    width: 34%;
    height: 145px;
  }

}

@media (max-width: 720px) {
  .top-strip .container,
  .footer-bottom,
  .footer-attribution,
  .cta-band .container {
    flex-direction: column;
    align-items: flex-start;
  }

  .top-client-links {
    flex-wrap: wrap;
    margin-left: 0;
  }

  .top-strip {
    display: none;
  }

  .navbar {
    min-height: 74px;
  }

  .nav-menu {
    top: 84px;
  }

  .brand-title {
    font-size: 1.2rem;
  }

  .brand-subtitle {
    font-size: 0.72rem;
  }

  .hero {
    padding: 52px 0 54px;
  }

  .hero-video-section {
    min-height: auto;
    display: block;
  }

  .hero-video-section::after {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(255, 255, 255, 0.93) 38%, rgba(255, 255, 255, 0.98) 100%),
      linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.72)),
      radial-gradient(circle at 78% 8%, rgba(255, 255, 255, 0.42), transparent 34%);
  }

  .hero-video-section .hero-grid {
    gap: 0;
    align-items: start;
  }

  .hero-video-section .hero-collage {
    display: none;
  }

  .hero-video-section h1 {
    font-size: clamp(2.35rem, 11vw, 3.45rem);
    max-width: 12ch;
  }

  .hero-video-section .lead {
    color: #34384d;
    font-size: 1rem;
    line-height: 1.72;
    max-width: 34rem;
  }

  .whatsapp-widget-v3 {
    right: 14px;
    bottom: 14px;
  }

  .whatsapp-button-v3 {
    width: 58px;
    height: 58px;
  }

  .whatsapp-button-v3 img {
    width: 35px;
    height: 35px;
  }

  .tooltip-v3 {
    display: none;
  }

  .trust-badges,
  .grid-4,
  .grid-3,
  .team-grid,
  .transport-grid,
  .airline-cloud,
  .grid-2,
  .form-grid,
  .footer-grid,
  .ops-grid,
  .metric-grid,
  .document-grid,
  .fleet-admin-grid {
    grid-template-columns: 1fr;
  }

  .search-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .smart-search-panel {
    margin-top: 26px;
  }

  .panel-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-shell {
    width: min(100% - 24px, var(--max));
  }

  .hero-collage {
    max-width: 100%;
    min-height: 410px;
  }

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

  .team-photo {
    min-height: 360px;
  }

  .collage-card.large {
    width: 92%;
    height: 275px;
  }

  .collage-card.small {
    width: 56%;
    height: 180px;
  }

  .collage-card.tiny {
    width: 42%;
    height: 130px;
  }

  .section {
    padding: 56px 0;
  }
}

@media (max-width: 430px) {
  .container {
    width: min(100% - 24px, var(--max));
  }

  .brand-logo {
    width: 50px;
    height: 50px;
  }

  .btn {
    width: 100%;
  }

  .hero-actions .btn,
  .cta-row .btn,
  .portal-actions .btn,
  .doc-actions .btn,
  .admin-actions .btn {
    width: 100%;
  }

  .search-tabs {
    grid-template-columns: 1fr;
  }

  .package-card img {
    height: 205px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Hero Search Panel — Premium Minimal Restyle
   All rules scoped to .smart-search-panel / .smart-search-form
   ═══════════════════════════════════════════════════════════════════════════ */

.smart-search-panel {
  padding: 20px 18px 18px;
  border-radius: 22px;
  border: 1px solid rgba(220, 230, 245, 0.8);
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 4px 6px rgba(37, 23, 94, 0.04),
    0 24px 56px rgba(37, 23, 94, 0.15);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* ── Tab strip: segmented pill container ── */
.search-tabs {
  gap: 4px;
  margin-bottom: 20px;
  padding: 4px;
  background: var(--sky);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.search-tab {
  min-height: 36px;
  padding: 0 6px;
  border: 1.5px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0;
  transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.search-tab:hover:not(.active) {
  color: var(--navy);
  background: rgba(255, 255, 255, 0.78);
}

.search-tab.active {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
  box-shadow: 0 3px 10px rgba(37, 23, 94, 0.24);
}

/* ── Labels ── */
.smart-search-panel label,
.smart-search-panel .field > label:first-child {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
  margin-bottom: 5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ── Inputs, selects, textareas ── */
.smart-search-panel .form-grid.compact input,
.smart-search-panel .form-grid.compact select,
.smart-search-panel .form-grid.compact textarea {
  min-height: 44px;
  padding: 10px 13px;
  border: 1.5px solid rgba(37, 23, 94, 0.13);
  border-radius: 10px;
  background: #ffffff;
  color: var(--ink);
  font-size: 0.87rem;
  font-weight: 500;
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.smart-search-panel .form-grid.compact input:hover,
.smart-search-panel .form-grid.compact select:hover {
  border-color: rgba(37, 23, 94, 0.25);
}

.smart-search-panel .form-grid.compact input:focus,
.smart-search-panel .form-grid.compact select:focus,
.smart-search-panel .form-grid.compact textarea:focus {
  outline: none;
  border-color: var(--royal);
  box-shadow: 0 0 0 3px rgba(36, 89, 245, 0.1);
}

.smart-search-panel .form-grid.compact input::placeholder,
.smart-search-panel .form-grid.compact textarea::placeholder {
  color: #9aa0b4;
  font-weight: 400;
}

.smart-search-panel .form-grid.compact textarea {
  min-height: 78px;
  resize: vertical;
}

/* ── Date inputs ── */
.smart-search-panel .form-grid.compact .date-control input[type="date"],
.smart-search-panel .form-grid.compact .date-control input[type="datetime-local"],
.smart-search-panel .form-grid.compact .date-control input[type="month"] {
  min-height: 44px;
  border: 1.5px solid rgba(37, 23, 94, 0.13);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: none;
  color: var(--navy);
  font-weight: 600;
  font-size: 0.87rem;
  padding-right: 50px;
}

.smart-search-panel .form-grid.compact .date-control input[type="date"]:focus,
.smart-search-panel .form-grid.compact .date-control input[type="datetime-local"]:focus,
.smart-search-panel .form-grid.compact .date-control input[type="month"]:focus {
  border-color: var(--royal);
  box-shadow: 0 0 0 3px rgba(36, 89, 245, 0.1);
}

/* ── Inline checkbox ── */
.smart-search-panel .inline-check {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 600;
  min-height: 32px;
  gap: 8px;
}

/* ── CTA submit button — full width, strong ── */
.smart-search-form .btn.btn-primary[type="submit"] {
  display: flex;
  width: 100%;
  min-height: 50px;
  border-radius: 12px;
  font-size: 0.93rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  background: var(--red);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(227, 27, 35, 0.28);
  text-transform: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.smart-search-form .btn.btn-primary[type="submit"]:hover,
.smart-search-form .btn.btn-primary[type="submit"]:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(227, 27, 35, 0.4);
}

/* ── Grid spacing ── */
.smart-search-panel .form-grid.compact {
  gap: 10px;
  margin-bottom: 14px;
}

/* ── Responsive overrides (mobile) ── */
@media (max-width: 767px) {
  .smart-search-panel {
    padding: 16px 14px 14px;
    border-radius: 16px;
  }

  .search-tabs {
    padding: 3px;
    gap: 3px;
    border-radius: 12px;
  }

  .search-tab {
    min-height: 34px;
    font-size: 0.73rem;
  }
}

@media (max-width: 430px) {
  .search-tab {
    min-height: 36px;
    font-size: 0.76rem;
  }
}
