:root {
  --navy: #10354c;
  --navy-deep: #092a3e;
  --teal: #087f89;
  --teal-dark: #05646d;
  --sky: #edf7fc;
  --sky-dark: #c9e7f4;
  --text: #526674;
  --line: #dce8ed;
  --white: #fff;
  --radius: 20px;
  --body: "DM Sans", Arial, sans-serif;
  --heading: "Manrope", Arial, sans-serif;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
}
body {
  margin: 0;
  font-family: var(--body);
  color: var(--text);
  font-size: 16px;
  line-height: 1.7;
  background: #fff;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
svg {
  flex-shrink: 0;
}
.icon {
  width: 23px;
  height: 23px;
  vertical-align: middle;
}
.container {
  width: min(1200px, calc(100% - 96px));
  margin-inline: auto;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-family: var(--heading);
  color: var(--navy);
  line-height: 1.2;
}
h2 {
  font-size: clamp(30px, 3.15vw, 46px);
  font-weight: 600;
  letter-spacing: -1.8px;
}
h2 em {
  font-style: normal;
  color: var(--teal);
}
h3 {
  letter-spacing: -0.5px;
}
p + p {
  margin-top: 18px;
}
.section {
  padding: 88px 0;
  scroll-margin-top: 20px;
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 2px;
  font-weight: 700;
  color: var(--teal);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.eyebrow.light {
  color: #d7effc;
}
.eyebrow > span {
  width: 7px;
  height: 7px;
  background: #a5e4ef;
  border-radius: 50%;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 1px solid transparent;
  background: var(--teal);
  color: white;
  padding: 15px 23px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  transition:
    background 0.2s,
    transform 0.2s;
  min-height: 48px;
}
.button .icon {
  width: 19px;
  height: 19px;
}
.button:hover {
  background: var(--teal-dark);
  transform: translateY(-2px);
}
.button-small {
  padding: 12px 19px;
}
.button-white {
  background: #fff;
  color: var(--navy);
}
.button-white:hover {
  background: #e1f5ff;
}
.button-outline {
  background: transparent;
  color: var(--teal);
  border-color: var(--teal);
  margin-top: 16px;
}
.button-outline:hover {
  background: #e8f6f5;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--teal);
  font-size: 13px;
  font-weight: 700;
}
.text-link .icon {
  width: 19px;
  height: 19px;
  transition: transform 0.2s;
}
.text-link:hover .icon {
  transform: translateX(4px);
}
.light {
  color: white;
}
.button-row {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
:focus-visible {
  outline: 3px solid #e6a844;
  outline-offset: 5px;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 20px;
  padding: 14px 20px;
  background: white;
  z-index: 1000;
  color: var(--navy);
}
.skip-link:focus {
  top: 10px;
}
[hidden] {
  display: none !important;
}
.contact-bar {
  background: var(--navy-deep);
  color: #dcecf4;
  font-size: 10px;
  letter-spacing: 0.4px;
}
.contact-bar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
}
.contact-bar a {
  display: flex;
  gap: 10px;
  align-items: center;
}
.contact-bar .icon {
  width: 12px;
  height: 12px;
}
.contact-bar a > span {
  color: #a9c2d2;
}
.header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid #e2edf2;
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  gap: 30px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--navy);
  font-size: 25px;
  font-family: var(--heading);
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  letter-spacing: -0.8px;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: var(--sky);
  border-radius: 50%;
  color: var(--teal);
  transform: rotate(-12deg);
}
.brand-mark .icon {
  width: 25px;
  height: 25px;
}
.brand-light {
  font-weight: 500;
}
.brand small {
  display: block;
  font-family: var(--body);
  font-size: 7px;
  letter-spacing: 2.6px;
  font-weight: 600;
  margin-top: 6px;
  color: #607b8d;
}
.header nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 12px;
  color: var(--navy);
}
.header nav > a:not(.button):hover {
  color: var(--teal);
}
.menu-toggle {
  display: none;
  background: none;
  border: 0;
  width: 44px;
  height: 44px;
  padding: 11px;
}
.menu-toggle span {
  height: 2px;
  background: var(--navy);
  display: block;
  margin: 6px 0;
  transition: transform 0.2s;
}
.hero {
  isolation: isolate;
  position: relative;
  min-height: 620px;
  background: #396b8f;
  overflow: hidden;
  color: white;
}
.hero-image,
.hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.hero-image {
  object-position: center 52%;
}
.hero-shade {
  z-index: -1;
  background: linear-gradient(
    90deg,
    rgba(5, 30, 48, 0.83),
    rgba(8, 39, 59, 0.48) 58%,
    rgba(8, 39, 59, 0.12)
  );
}
.hero-inner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 550px;
  padding-block: 70px;
}
.hero-copy {
  max-width: 760px;
}
.hero h1 {
  font-size: clamp(42px, 5.2vw, 72px);
  font-weight: 500;
  letter-spacing: -3.7px;
  color: white;
  line-height: 1.12;
}
.hero h1 em {
  font-style: normal;
  color: #b9e8fc;
}
.hero-description {
  font-size: 15px;
  line-height: 1.85;
  color: #e2edf4;
  max-width: 530px;
  margin-top: 25px;
}
.hero .button-row {
  margin-top: 30px;
}
.hero .text-link {
  font-size: 12px;
}
.hero-caption {
  font-size: 9px;
  letter-spacing: 1.6px;
  margin-top: 38px;
  color: #dcecf5;
}
.hero-bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #ffffff30;
  padding-block: 21px;
  font-size: 10px;
  color: #e0edf4;
}
.hero-bottom a {
  display: flex;
  gap: 20px;
  align-items: center;
}
.hero-bottom a > span {
  font-size: 20px;
}
.journey-note {
  position: absolute;
  right: 0;
  bottom: 58px;
  width: 285px;
  padding: 22px;
  background: #eef8ffed;
  color: var(--navy);
  border: 1px solid #ffffff8c;
  border-radius: 14px;
  box-shadow: 0 12px 40px #092a3e1a;
}
.note-kicker {
  font-size: 7px;
  letter-spacing: 1.8px;
  color: #516f81;
}
.note-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 17px;
  font-size: 10px;
}
.note-route .icon {
  width: 21px;
  color: var(--teal);
}
.route-line {
  height: 1px;
  border-top: 1px dashed #80a8bf;
  margin: 18px 0;
  position: relative;
}
.route-line::before,
.route-line::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 5px;
  height: 5px;
  border: 1px solid var(--teal);
  background: white;
  border-radius: 50%;
}
.route-line::after {
  right: 0;
}
.route-line i {
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--teal);
  border-radius: 50%;
  animation: route 7s ease-in-out infinite;
}
.note-bottom {
  font-size: 9px;
  color: #587283;
}
@keyframes route {
  0%,
  100% {
    left: 0;
  }
  50% {
    left: 97%;
  }
}
.service-ribbon {
  background: var(--sky);
  border-bottom: 1px solid #dbeaf1;
}
.service-ribbon .container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-block: 26px;
}
.service-ribbon a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  color: var(--navy);
  border-right: 1px solid #ccdee8;
}
.service-ribbon a:last-child {
  border-right: 0;
}
.service-ribbon .icon {
  color: var(--teal);
}
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
}
.about-copy {
  padding-top: 8px;
  font-size: 14px;
}
.lead {
  font-family: var(--heading);
  font-size: 20px;
  font-weight: 500;
  color: var(--navy);
  line-height: 1.6;
  margin-bottom: 20px;
}
.about-copy .text-link {
  margin-top: 24px;
}
.section-top {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
  margin-bottom: 36px;
}
.section-top > p {
  font-size: 12px;
  line-height: 1.9;
  flex-shrink: 0;
}
.section-top .eyebrow {
  margin-bottom: 14px;
}
.services {
  background: #f6fafc;
}
.services-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.flight-feature {
  position: relative;
  min-height: 570px;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--navy);
  color: white;
  display: flex;
  align-items: end;
  isolation: isolate;
  scroll-margin-top: 140px;
}
.flight-feature > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
  z-index: -2;
}
.flight-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #082b42f5, #082b4220);
  z-index: -1;
}
.flight-content {
  padding: 36px;
}
.service-number {
  display: block;
  font-size: 9px;
  letter-spacing: 1.6px;
  font-weight: 600;
  color: #718a99;
}
.flight-content .service-number {
  color: #d2e6f1;
}
.flight-content h3 {
  color: white;
  font-size: 31px;
  font-weight: 500;
  line-height: 1.25;
  margin-top: 20px;
}
.flight-content p {
  font-size: 13px;
  line-height: 1.9;
  color: #e0edf5;
  max-width: 360px;
  margin-top: 16px;
}
.flight-content .text-link {
  margin-top: 24px;
}
.service-list {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
}
.service-item {
  display: flex;
  gap: 22px;
  align-items: start;
  padding: 25px 0;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 130px;
}
.service-item:first-child {
  padding-top: 8px;
}
.service-item:last-child {
  border: 0;
  padding-bottom: 0;
}
.service-icon {
  width: 51px;
  height: 51px;
  display: grid;
  place-items: center;
  background: #e7f3f8;
  border-radius: 14px;
  color: var(--teal);
  flex-shrink: 0;
}
.service-item h3 {
  font-size: 21px;
  font-weight: 600;
  margin-top: 10px;
}
.service-item p {
  font-size: 13px;
  margin-top: 10px;
}
.service-item .text-link {
  font-size: 11px;
  margin-top: 13px;
}
.steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  padding: 0;
  margin: 48px 0 0;
}
.step-number {
  display: flex;
  align-items: center;
  gap: 20px;
  color: var(--teal);
  font-family: var(--heading);
  font-size: 13px;
  font-weight: 700;
}
.step-number::after {
  content: "";
  height: 1px;
  background: var(--line);
  flex: 1;
}
.steps h3 {
  font-size: 16px;
  margin: 22px 0 12px;
  font-weight: 700;
}
.steps p {
  font-size: 12px;
  line-height: 1.9;
  max-width: 225px;
}
.inspiration {
  background: var(--sky);
}
.destination-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.destination-card {
  position: relative;
  isolation: isolate;
  min-height: 390px;
  display: flex;
  align-items: end;
  border-radius: var(--radius);
  overflow: hidden;
  color: white;
  background: #34596e;
}
.destination-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #082b42d9, transparent 75%);
  z-index: -1;
}
.destination-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  transition: transform 0.65s;
}
.destination-card:hover > img {
  transform: scale(1.04);
}
.destination-copy {
  padding: 28px 24px;
}
.destination-copy > span {
  font-size: 7px;
  letter-spacing: 1.5px;
}
.destination-copy h3 {
  font-size: 29px;
  font-weight: 500;
  color: white;
  margin: 9px 0;
}
.destination-copy p {
  font-size: 11px;
  color: #ebf5fb;
}
.round-arrow {
  position: absolute;
  right: 20px;
  top: 20px;
  background: #ffffff24;
  backdrop-filter: blur(6px);
  border: 1px solid #ffffff60;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
}
.round-arrow .icon {
  width: 17px;
  transform: rotate(-40deg);
}
.inspiration-note {
  font-size: 10px;
  margin-top: 24px;
  text-align: center;
  color: #526e7f;
}
.faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 80px;
}
.faq-layout > div > p:not(.eyebrow) {
  font-size: 13px;
  margin-top: 25px;
}
.faq-layout .text-link {
  margin-top: 20px;
}
.faq-list details {
  border-bottom: 1px solid var(--line);
}
.faq-list details:first-child {
  border-top: 1px solid var(--line);
}
summary {
  cursor: pointer;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}
.faq-list summary {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  padding: 23px 0;
}
.faq-list summary span {
  font-size: 22px;
  font-weight: 400;
  color: var(--teal);
  line-height: 1;
  flex-shrink: 0;
}
.faq-list details[open] summary span {
  transform: rotate(45deg);
}
.faq-list details p {
  font-size: 12px;
  line-height: 1.9;
  padding: 0 28px 22px 0;
}
.contact {
  background: var(--sky);
}
.contact-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 68px;
  align-items: start;
}
.contact-copy {
  position: sticky;
  top: 140px;
  padding-top: 20px;
}
.contact-copy h2 {
  font-size: clamp(30px, 3vw, 43px);
}
.contact-copy > p:not(.eyebrow) {
  font-size: 14px;
  margin-top: 22px;
  max-width: 350px;
}
.contact-phone {
  display: flex;
  align-items: center;
  gap: 17px;
  margin: 34px 0 22px;
  color: var(--navy);
  font-family: var(--heading);
  font-size: 23px;
  font-weight: 600;
}
.contact-phone > .icon {
  width: 43px;
  height: 43px;
  padding: 10px;
  border: 1px solid #bedce9;
  border-radius: 50%;
  color: var(--teal);
}
.contact-phone small {
  display: block;
  font-family: var(--body);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 1.5px;
  color: #5b788a;
  margin-bottom: 6px;
}
.contact-copy > .text-link {
  font-size: 11px;
}
.contact-aside {
  display: flex;
  gap: 15px;
  align-items: center;
  margin-top: 48px;
  padding-top: 26px;
  border-top: 1px solid #cfdfe8;
  max-width: 330px;
  font-size: 11px;
  color: #5d7889;
}
.contact-aside > .icon {
  color: var(--teal);
  width: 30px;
  height: 30px;
}
.contact-aside strong {
  font-weight: 500;
  color: var(--navy);
}
.form-panel {
  background: white;
  border-radius: var(--radius);
  padding: 34px;
  box-shadow: 0 12px 36px #183f5610;
  border: 1px solid #dceaf1;
  min-width: 0;
}
.form-panel-heading h3 {
  font-size: 22px;
  font-weight: 600;
}
.form-panel-heading p {
  font-size: 12px;
  margin-top: 7px;
}
.enquiry-form {
  margin-top: 25px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}
.form-group {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.form-group label {
  font-size: 11px;
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 7px;
}
.form-group label > span {
  color: var(--teal);
}
input,
select,
textarea {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #d6e4eb;
  background: #f9fcfd;
  border-radius: 8px;
  font-size: 12px;
  color: var(--navy);
  min-height: 45px;
  line-height: 1.5;
  transition: border-color 0.2s;
}
input::placeholder,
textarea::placeholder {
  color: #778c99;
  opacity: 1;
}
textarea {
  resize: vertical;
  min-height: 95px;
}
select {
  appearance: auto;
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--teal);
  outline: 2px solid #087f8920;
  outline-offset: 1px;
}
input[aria-invalid="true"],
select[aria-invalid="true"] {
  border-color: #b1382b;
}
.full-width {
  grid-column: 1/-1;
}
.error-message {
  font-size: 10px;
  color: #a12d24;
  line-height: 1.5;
}
.error-message:not(:empty) {
  margin-top: 5px;
}
.form-privacy {
  font-size: 9px;
  line-height: 1.85;
  margin-top: 18px;
}
.form-privacy a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.submit-button {
  width: 100%;
  margin-top: 18px;
  justify-content: space-between;
  background: var(--teal);
}
.form-status {
  font-size: 12px;
  color: var(--navy);
  line-height: 1.8;
}
.form-status:not(:empty) {
  margin-top: 15px;
}
.enquiry-form > .button-outline {
  width: 100%;
  font-size: 12px;
}
.closing-strip {
  background: var(--teal);
  color: #ddf3f4;
  padding: 38px 0;
}
.closing-strip > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
.closing-strip p {
  font-family: var(--heading);
  font-size: 22px;
  line-height: 1.55;
  font-weight: 400;
}
.closing-strip strong {
  font-weight: 600;
  color: #fff;
}
.closing-strip .button {
  font-size: 12px;
}
.footer {
  background: var(--navy-deep);
  color: #b5c9d5;
  padding: 50px 0 30px;
  font-size: 11px;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.5fr 0.7fr 0.8fr;
  gap: 50px;
  padding-bottom: 35px;
}
.footer-brand {
  color: white;
  font-size: 23px;
  margin-bottom: 17px;
}
.footer-brand .brand-mark {
  background: #174357;
  color: #9eddeb;
}
.footer-top > div > p {
  color: #e4eff5;
  font-size: 11px;
  max-width: 300px;
  margin-bottom: 7px;
}
.footer-top > div > span {
  font-size: 10px;
}
.footer-links {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.footer-links a:hover {
  color: white;
}
.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-contact > span {
  font-size: 8px;
  letter-spacing: 1.5px;
}
.footer-contact > a:nth-child(2) {
  font-size: 17px;
  color: white;
}
.privacy-details {
  border-top: 1px solid #ffffff1c;
  padding-top: 15px;
  font-size: 10px;
}
.privacy-details summary {
  display: flex;
  align-items: center;
  gap: 12px;
}
.privacy-details .icon {
  width: 14px;
  height: 14px;
}
.privacy-details p {
  max-width: 900px;
  line-height: 1.9;
  margin-top: 15px;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #ffffff1c;
  color: #8da8ba;
  font-size: 9px;
}
.whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  background: #137b43;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 32px;
  box-shadow: 0 5px 20px #123e472e;
  z-index: 60;
  font-size: 11px;
  font-weight: 600;
  transition:
    transform 0.2s,
    background 0.2s;
}
.whatsapp-float .icon {
  width: 24px;
  height: 24px;
}
.whatsapp-float:hover {
  background: #0b6635;
  transform: translateY(-3px);
}
.motion-toggle {
  position: fixed;
  bottom: 18px;
  left: 16px;
  z-index: 40;
  background: #ffffffed;
  color: var(--navy);
  border: 1px solid #cddde7;
  border-radius: 24px;
  font-size: 9px;
  padding: 8px 13px;
  box-shadow: 0 2px 7px #0b345110;
}
.js .reveal {
  opacity: 0;
  transform: translateY(17px);
  transition:
    opacity 0.65s ease,
    transform 0.65s ease;
}
.js .reveal.is-visible {
  opacity: 1;
  transform: none;
}
.motion-paused *,
.motion-paused *::before,
.motion-paused *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.motion-paused .reveal {
  opacity: 1;
  transform: none;
}
@media (min-width: 1600px) {
  .hero {
    min-height: 680px;
  }
  .hero-inner {
    min-height: 610px;
  }
  .hero h1 {
    font-size: 78px;
  }
}
@media (max-width: 1100px) {
  .container {
    width: calc(100% - 64px);
  }
  .header nav {
    gap: 20px;
  }
  .journey-note {
    width: 235px;
    padding: 17px;
    bottom: 45px;
  }
  .hero-copy {
    max-width: 660px;
  }
  .hero h1 {
    font-size: 62px;
  }
  .hero .button-row {
    gap: 20px;
  }
  .section {
    padding: 72px 0;
  }
  .about-grid {
    gap: 55px;
  }
  .services-layout {
    gap: 32px;
  }
  .flight-content {
    padding: 28px;
  }
  .contact-layout {
    gap: 35px;
  }
  .form-panel {
    padding: 26px;
  }
  .contact-phone {
    font-size: 20px;
  }
  .faq-layout {
    gap: 45px;
  }
  .destination-card {
    min-height: 350px;
  }
  .destination-copy {
    padding: 25px 20px;
  }
  .destination-copy h3 {
    font-size: 25px;
  }
  .destination-copy > span {
    font-size: 6px;
  }
  .steps {
    gap: 23px;
  }
  .steps h3 {
    font-size: 14px;
  }
}
@media (max-width: 850px) {
  .container {
    width: calc(100% - 48px);
  }
  .header-inner {
    min-height: 76px;
  }
  .brand {
    font-size: 23px;
  }
  .menu-toggle {
    display: block;
  }
  .header nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 14px 15px #10354c10;
    border-top: 1px solid var(--line);
    padding: 20px 24px;
    align-items: stretch;
    gap: 0;
  }
  .header nav.open {
    display: flex;
    flex-direction: column;
  }
  .header nav > a:not(.button) {
    padding: 12px 5px;
  }
  .header nav .button {
    margin-top: 10px;
  }
  .hero {
    min-height: 610px;
  }
  .hero-inner {
    min-height: 545px;
    padding-block: 60px;
  }
  .hero h1 {
    font-size: 60px;
    letter-spacing: -2.8px;
  }
  .journey-note {
    display: none;
  }
  .hero-image {
    object-position: 60% center;
  }
  .about-grid {
    gap: 35px;
  }
  h2 {
    font-size: 34px;
    letter-spacing: -1.3px;
  }
  .section-top {
    gap: 25px;
  }
  .section-top > p {
    font-size: 11px;
    flex-shrink: 1;
  }
  .services-layout {
    gap: 27px;
  }
  .flight-feature {
    min-height: 575px;
  }
  .flight-content {
    padding: 24px;
  }
  .flight-content h3 {
    font-size: 27px;
  }
  .service-item {
    gap: 15px;
    padding: 20px 0;
  }
  .service-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
  }
  .service-icon .icon {
    width: 20px;
  }
  .service-item h3 {
    font-size: 18px;
  }
  .service-item p {
    font-size: 12px;
  }
  .service-number {
    font-size: 8px;
  }
  .destination-grid {
    gap: 14px;
  }
  .destination-card {
    min-height: 310px;
  }
  .destination-copy {
    padding: 24px 17px;
  }
  .destination-copy > span {
    font-size: 6px;
    letter-spacing: 1px;
  }
  .destination-copy h3 {
    font-size: 23px;
  }
  .destination-copy p {
    font-size: 10px;
  }
  .faq-layout {
    grid-template-columns: 0.8fr 1.2fr;
    gap: 32px;
  }
  .contact-layout {
    grid-template-columns: 1fr;
  }
  .contact-copy {
    position: static;
    padding-top: 0;
  }
  .contact-copy h2 br {
    display: none;
  }
  .contact-copy > p:not(.eyebrow) {
    max-width: 550px;
  }
  .contact-aside {
    display: none;
  }
  .contact-copy .contact-phone {
    margin: 24px 0 18px;
  }
  .form-panel {
    padding: 32px;
  }
  .footer-top {
    gap: 25px;
    grid-template-columns: 1.3fr 0.7fr 1fr;
  }
  .footer-contact > a:nth-child(2) {
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  html {
    scroll-padding-top: 92px;
  }
  .container {
    width: calc(100% - 40px);
  }
  .contact-bar .container {
    min-height: 29px;
    font-size: 8px;
  }
  .contact-bar a > span,
  .contact-bar .icon {
    display: none;
  }
  .contact-bar a {
    font-size: 9px;
  }
  .header-inner {
    min-height: 70px;
  }
  .brand {
    font-size: 21px;
  }
  .brand small {
    font-size: 6px;
    letter-spacing: 2px;
  }
  .brand-mark {
    width: 35px;
    height: 35px;
  }
  .brand-mark .icon {
    width: 21px;
  }
  .hero {
    min-height: 575px;
  }
  .hero-inner {
    min-height: 500px;
    padding-block: 55px;
  }
  .hero h1 {
    font-size: clamp(35px, 9vw, 50px);
    letter-spacing: -1.8px;
    line-height: 1.18;
  }
  .hero-description {
    font-size: 13px;
    line-height: 1.85;
    max-width: 330px;
    margin-top: 22px;
  }
  .desktop-break {
    display: none;
  }
  .hero .eyebrow {
    font-size: 8px;
    letter-spacing: 1.5px;
    margin-bottom: 23px;
  }
  .hero .button-row {
    gap: 21px;
    align-items: start;
    flex-direction: column;
    margin-top: 27px;
  }
  .hero .button {
    font-size: 12px;
    padding: 14px 18px;
  }
  .hero .text-link {
    font-size: 11px;
  }
  .hero-caption {
    font-size: 7px;
    letter-spacing: 0.7px;
    margin-top: 29px;
  }
  .hero-bottom {
    min-height: 70px;
    padding-block: 17px;
    gap: 20px;
    font-size: 8px;
  }
  .hero-bottom > span {
    max-width: 180px;
  }
  .hero-bottom a {
    gap: 10px;
    font-size: 8px;
  }
  .hero-bottom a > span {
    font-size: 17px;
  }
  .service-ribbon .container {
    padding-block: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service-ribbon a {
    font-size: 10px;
    padding: 13px 0;
    gap: 10px;
  }
  .service-ribbon a:nth-child(2) {
    border-right: 0;
  }
  .service-ribbon a:nth-child(-n + 2) {
    border-bottom: 1px solid #ccdee8;
  }
  .service-ribbon .icon {
    width: 18px;
    height: 18px;
  }
  .section {
    padding: 55px 0;
  }
  .eyebrow {
    font-size: 8px;
    letter-spacing: 1.6px;
    margin-bottom: 16px;
  }
  h2 {
    font-size: 31px;
    letter-spacing: -1.3px;
  }
  .about-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .about-grid h2 br:last-of-type {
    display: none;
  }
  .about-copy {
    font-size: 13px;
    padding: 0;
  }
  .lead {
    font-size: 18px;
  }
  .about-copy .text-link {
    margin-top: 20px;
  }
  .section-top {
    display: block;
    margin-bottom: 28px;
  }
  .section-top > p {
    margin-top: 18px;
    font-size: 12px;
  }
  .section-top > .text-link {
    margin-top: 20px;
  }
  .services-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .flight-feature {
    min-height: 390px;
  }
  .flight-content {
    padding: 28px;
  }
  .flight-content h3 {
    font-size: 29px;
  }
  .flight-content p {
    font-size: 12px;
    max-width: 310px;
  }
  .service-list {
    grid-template-rows: auto;
  }
  .service-item {
    padding: 26px 0;
    gap: 18px;
  }
  .service-item:first-child {
    padding-top: 15px;
  }
  .service-item:last-child {
    padding-bottom: 0;
  }
  .service-icon {
    width: 43px;
    height: 43px;
  }
  .service-item h3 {
    font-size: 20px;
  }
  .service-item p {
    font-size: 12px;
  }
  .steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 22px;
    margin-top: 30px;
  }
  .steps h3 {
    font-size: 14px;
    margin-top: 16px;
  }
  .steps p {
    font-size: 11px;
  }
  .step-number {
    font-size: 12px;
  }
  .destination-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .destination-card {
    min-height: 340px;
  }
  .destination-card > img {
    object-position: center 50%;
  }
  .destination-copy {
    padding: 27px;
  }
  .destination-copy h3 {
    font-size: 32px;
  }
  .destination-copy > span {
    font-size: 8px;
    letter-spacing: 1.4px;
  }
  .destination-copy p {
    font-size: 12px;
  }
  .inspiration-note {
    font-size: 9px;
    line-height: 1.9;
    text-align: left;
    margin-top: 20px;
  }
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .faq-layout > div > p:not(.eyebrow) {
    margin-top: 18px;
    font-size: 12px;
  }
  .faq-layout .text-link {
    margin-top: 15px;
  }
  .faq-list summary {
    font-size: 12px;
    padding: 20px 0;
  }
  .faq-list details p {
    font-size: 11px;
  }
  .contact-layout {
    gap: 28px;
  }
  .contact-copy h2 {
    font-size: 31px;
  }
  .contact-copy > p:not(.eyebrow) {
    font-size: 13px;
    margin-top: 18px;
  }
  .contact-phone {
    font-size: 21px;
  }
  .form-panel {
    padding: 24px 20px;
  }
  .form-panel-heading h3 {
    font-size: 21px;
  }
  .form-panel-heading p {
    font-size: 11px;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .form-group label {
    font-size: 11px;
  }
  input,
  select,
  textarea {
    font-size: 16px;
    padding: 12px;
    min-height: 47px;
  }
  .form-privacy {
    font-size: 10px;
  }
  .submit-button {
    font-size: 12px;
    padding: 14px 16px;
  }
  .closing-strip {
    padding: 30px 0;
  }
  .closing-strip > .container {
    flex-direction: column;
    align-items: start;
    gap: 23px;
  }
  .closing-strip p {
    font-size: 21px;
  }
  .footer {
    padding: 40px 0 95px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
  }
  .footer-top > div:first-child {
    grid-column: 1/-1;
  }
  .footer-contact > a:nth-child(2) {
    font-size: 14px;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 8px;
    font-size: 8px;
  }
  .whatsapp-float {
    right: 16px;
    bottom: 16px;
    padding: 13px;
    border-radius: 50%;
    min-width: 50px;
    min-height: 50px;
    justify-content: center;
  }
  .whatsapp-float > span {
    display: none;
  }
  .motion-toggle {
    font-size: 8px;
    bottom: 21px;
    padding: 7px 10px;
  }
  .contact .text-link {
    line-height: 1.8;
  }
  .footer .privacy-details {
    scroll-margin-top: 90px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
  .js .reveal {
    opacity: 1;
    transform: none;
  }
}

.contact-in-view .whatsapp-float {
  width: 50px;
  height: 50px;
  padding: 13px;
  justify-content: center;
}
.contact-in-view .whatsapp-float > span {
  display: none;
}
/* The contact section already provides WhatsApp actions; keep form controls unobstructed. */
.contact-in-view .whatsapp-float,
.contact-in-view .motion-toggle {
  display: none;
}

/* Client-approved structure, dark edition / full-name wordmark. */
:root {
  --navy: #edf6fa;
  --navy-deep: #061621;
  --teal: #71d8d3;
  --teal-dark: #a0ebe5;
  --sky: #102a3b;
  --sky-dark: #294c60;
  --text: #b7cad6;
  --line: #284454;
  --white: #fff;
}
body {
  background: #0b2130;
  color: var(--text);
  color-scheme: dark;
}
.contact-bar {
  background: #061621;
  color: #aec6d5;
}
.header {
  background: rgba(8, 27, 41, 0.98);
  border-color: #284454;
}
.brand {
  color: #b7ede7;
  gap: 13px;
  white-space: normal;
  letter-spacing: 0;
}
.brand-emblem {
  width: 53px;
  height: 53px;
  display: block;
  flex-shrink: 0;
  color: #7edbd5;
}
.brand-emblem svg {
  width: 100%;
  height: 100%;
  display: block;
}
.wordmark {
  display: grid;
  grid-template-columns: auto 14px;
  gap: 1px 5px;
  align-items: center;
}
.wordmark-top {
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.3px;
  grid-column: 1;
}
.wordmark-join {
  font-family: Georgia, serif;
  font-size: 21px;
  font-style: italic;
  grid-column: 2;
  grid-row: 1/3;
  color: #78c9c5;
}
.wordmark-bottom {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  grid-column: 1;
  color: #f0f6fa;
}
.header-inner {
  min-height: 95px;
}
.header nav {
  color: #e6eff5;
}
.button {
  background: #79ded7;
  color: #062a32;
}
.button:hover {
  background: #a0ebe5;
  color: #062a32;
}
.button-white {
  background: #e9faf8;
  color: #123d45;
}
.button-white:hover {
  background: #fff;
}
.button-outline {
  background: transparent;
  border-color: #71d8d3;
  color: #8de8e1;
}
.button-outline:hover {
  background: #183e4a;
  color: #d1fffa;
}
.service-ribbon {
  background: #102a3b;
  border-color: #284454;
}
.service-ribbon a {
  border-color: #284454;
  color: #d5e6ef;
}
.section.about,
.section.process,
.section.faq {
  background: #0b2130;
}
.services {
  background: #0e2839;
}
.inspiration,
.contact {
  background: #102a3b;
}
.service-icon {
  background: #193b4b;
  color: #90e2dc;
}
.service-number {
  color: #9bb8c9;
}
.lead {
  color: #e3f1f6;
}
.about-copy,
.section-top > p,
.steps p,
.faq-list details p {
  color: #b7cad6;
}
.journey-note {
  background: #0b293cef;
  color: #e2f5f9;
  border-color: #5e8792;
  box-shadow: 0 12px 40px #0003;
}
.note-kicker,
.note-bottom {
  color: #bdd5df;
}
.route-line {
  border-color: #639498;
}
.route-line::before,
.route-line::after {
  background: #173f4b;
}
.contact-phone > .icon {
  border-color: #3d6173;
}
.contact-phone small,
.contact-aside {
  color: #a4c3d4;
}
.contact-aside {
  border-color: #365264;
}
.inspiration-note {
  color: #acc6d5;
}
.form-panel {
  background: #0a2030;
  border-color: #345064;
  box-shadow: 0 14px 40px #0002;
}
.form-panel-heading p {
  color: #b2c8d4;
}
input,
select,
textarea {
  background: #102d40;
  border-color: #3c596b;
  color: #f1f7fb;
}
input::placeholder,
textarea::placeholder {
  color: #a4bbcb;
}
input:focus,
select:focus,
textarea:focus {
  border-color: #8fe3dd;
  outline-color: #71d8d335;
}
.form-group label {
  color: #e5eff5;
}
.form-privacy {
  color: #b4cbd6;
}
.error-message {
  color: #ffb9ad;
}
input[aria-invalid="true"],
select[aria-invalid="true"] {
  border-color: #e99689;
}
.closing-strip {
  background: #174551;
  color: #c3e6e8;
}
.closing-strip .button {
  background: #a4e8e1;
  color: #0c303a;
}
.footer {
  background: #061621;
}
.footer-top > div > p {
  max-width: 380px;
}
.footer-contact > span {
  color: #b0cbd9;
}
.footer-brand .brand-emblem {
  color: #86d9d2;
}
.footer-brand {
  max-width: 360px;
}
.menu-toggle span {
  background: #d9eff5;
}
.header nav.open {
  background: #0a2233;
  border-color: #345064;
}
.motion-toggle {
  background: #0a2233;
  color: #cae4ed;
  border-color: #496674;
}
.skip-link {
  background: #102d40;
  color: #f0f8fb;
}
.whatsapp-float {
  background: #147b48;
  color: #fff;
}
.whatsapp-float:hover {
  background: #1c9258;
}
@media (max-width: 1100px) {
  .wordmark-top {
    font-size: 22px;
  }
  .wordmark-bottom {
    font-size: 11px;
    letter-spacing: 1.8px;
  }
  .brand-emblem {
    width: 47px;
    height: 47px;
  }
  .header nav {
    gap: 18px;
  }
}
@media (max-width: 850px) {
  .header-inner {
    min-height: 88px;
  }
  .header nav {
    background: #0a2233;
  }
  .brand-emblem {
    width: 46px;
    height: 46px;
  }
  .wordmark-top {
    font-size: 23px;
  }
  .wordmark-bottom {
    font-size: 12px;
    letter-spacing: 1.6px;
  }
}
@media (max-width: 600px) {
  .header-inner {
    min-height: 84px;
    gap: 8px;
  }
  .brand {
    gap: 9px;
  }
  .brand-emblem {
    width: 39px;
    height: 39px;
  }
  .wordmark {
    grid-template-columns: auto 10px;
    gap: 1px 4px;
  }
  .wordmark-top {
    font-size: 20px;
    letter-spacing: 0;
  }
  .wordmark-bottom {
    font-size: 10px;
    letter-spacing: 1.3px;
  }
  .wordmark-join {
    font-size: 18px;
  }
  .menu-toggle {
    flex-shrink: 0;
  }
  .hero-bottom > span {
    max-width: 190px;
  }
  .service-ribbon a:nth-child(-n + 2) {
    border-color: #345064;
  }
  .footer-brand .wordmark-top {
    font-size: 24px;
  }
  .footer-brand .wordmark-bottom {
    font-size: 12px;
  }
  .footer-brand .brand-emblem {
    width: 45px;
    height: 45px;
  }
  .footer-top > div > p {
    font-size: 11px;
  }
}
@media (max-width: 360px) {
  .container {
    width: calc(100% - 28px);
  }
  .brand-emblem {
    width: 33px;
    height: 33px;
  }
  .wordmark-top {
    font-size: 18px;
  }
  .wordmark-bottom {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .brand {
    gap: 7px;
  }
}
/* Alternative travel palette: forest, warm ivory and muted gold. */
:root{--navy:#f6f2e9;--navy-deep:#091d19;--teal:#d7ba78;--teal-dark:#ebd59f;--sky:#17382f;--text:#bdcfc5;--line:#365448}
body{background:#102a23;color:#bdcfc5}
.contact-bar,.footer{background:#091d19}
.header{background:rgba(12,33,27,.98);border-color:#355346}
.brand,.brand-emblem,.footer-brand .brand-emblem{color:#dbc18b}
.wordmark-top{color:#e8d7af}.wordmark-bottom{color:#f6f2e9}.wordmark-join{color:#d7ba78}
.header nav{color:#f2eee3}.header nav.open{background:#102a23;border-color:#365448}
.button{background:#d7ba78;color:#162b23}.button:hover{background:#ebd59f;color:#10251e}
.button-white{background:#f4efdf;color:#18352b}.button-white:hover{background:#fff9eb}
.button-outline{background:transparent;color:#e3c98e;border-color:#d7ba78}.button-outline:hover{background:#234737;color:#fff2cf}
.hero-shade{background:linear-gradient(90deg,rgba(8,29,23,.86),rgba(13,41,32,.5) 58%,rgba(12,37,29,.14))}
.hero h1 em{color:#e5d2a5}.eyebrow.light{color:#eddfbf}.eyebrow>span{background:#dec58c}
.hero-description,.hero-caption,.hero-bottom{color:#eeeade}
.service-ribbon,.contact,.inspiration{background:#17382f;border-color:#355346}
.service-ribbon a,.service-ribbon a:nth-child(-n+2){border-color:#355346;color:#ebeee4}
.section.about,.section.process,.section.faq{background:#102a23}.services{background:#133127}
.service-icon{background:#234737;color:#e1c88f}.service-number{color:#a9c3b4}
.lead,.form-group label{color:#eeeede}.about-copy,.section-top>p,.steps p,.faq-list details p{color:#bdcfc5}
.journey-note{background:#123126ef;color:#f4eedf;border-color:#69816b}
.note-kicker,.note-bottom{color:#c6d2bd}.route-line{border-color:#9e986e}.route-line::before,.route-line::after{background:#234737}
.contact-phone>.icon{border-color:#59745e}.contact-phone small,.contact-aside{color:#bfd0bd}.contact-aside{border-color:#49624e}
.inspiration-note,.form-panel-heading p,.form-privacy{color:#bfd0bd}
.form-panel{background:#102a23;border-color:#47624f}
input,select,textarea{background:#1b3b30;border-color:#536f59;color:#fff9ed}
input::placeholder,textarea::placeholder{color:#b4c9b7}input:focus,select:focus,textarea:focus{border-color:#ddc48a;outline-color:#d7ba7835}
.closing-strip{background:#284936;color:#e0e5d2}.closing-strip .button{background:#dec58c;color:#183124}
.menu-toggle span{background:#f0e8d5}.header nav{background:transparent}.header nav.open{background:#102a23}
.motion-toggle{background:#17382f;color:#e9dfc5;border-color:#627658}.skip-link{background:#17382f;color:#fff5df}
.footer-contact>span,.footer-bottom{color:#b1c4b6}.footer-contact>a:nth-child(2){color:#fff6e6}
@media(max-width:850px){.header nav{background:#102a23}}
/* Milk-white editorial sections balance the forest-and-gold palette. */
:root{--milk:#faf7ef;--ink:#173c2e}
h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(33px,3.4vw,49px);letter-spacing:-.9px;line-height:1.18}
h2 em{font-style:italic}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px}
.hero h1 em{font-style:italic}
.section.about,.section.process,.section.faq{background:var(--milk);color:#486052}
.about h2,.about .lead,.process h2,.process h3,.faq h2,.faq-list summary{color:var(--ink)}
.about h2 em,.process h2 em,.faq h2 em{color:#48705b}
.about .eyebrow,.process .eyebrow,.faq .eyebrow,.about .text-link,.process .text-link,.faq .text-link{color:#32634a}
.about-copy,.steps p,.faq-list details p,.faq-layout>div>p:not(.eyebrow){color:#486052}
.steps .step-number,.faq-list summary span{color:#7c6634}
.step-number::after{background:#d3dace}.faq-list details,.faq-list details:first-child{border-color:#d3dace}
.form-panel{background:var(--milk);border-color:#d1d8cb;color:#486052;color-scheme:light}
.form-panel h3,.form-group label,.form-status{color:var(--ink)}
.form-panel-heading p,.form-privacy{color:#536757}
.form-group label>span{color:#32634a}
input,select,textarea{background:#fffdf7;border-color:#c8d2c4;color:#173c2e;color-scheme:light}
input::placeholder,textarea::placeholder{color:#657a69}
input:focus,select:focus,textarea:focus{border-color:#517758;outline-color:#51775833}
.error-message{color:#9f3027}input[aria-invalid=true],select[aria-invalid=true]{border-color:#ae5544}
.form-panel .button-outline{color:#23553c;border-color:#427353}.form-panel .button-outline:hover{background:#e1eadd;color:#173c2e}
.form-panel .submit-button{background:#214c37;color:#fff8e8}.form-panel .submit-button:hover{background:#173d2b}
.destination-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400}
@media(max-width:600px){h2{font-size:33px;letter-spacing:-.6px}.hero h1{font-size:clamp(36px,9.5vw,51px);letter-spacing:-1px}.contact-copy h2{font-size:34px}}
/* Client reference palette: #0066D2 / #1CA698 / #6CD9CE / #F2B705 / #BFA393. */
:root{--navy:#f0f7fc;--navy-deep:#061f32;--teal:#6cd9ce;--teal-dark:#95e7df;--sky:#10374a;--text:#bfd4de;--line:#315568;--milk:#faf7ef;--ink:#09374f;--ocean:#0066d2;--tropical:#1ca698;--aqua:#6cd9ce;--sun:#f2b705;--sand:#bfa393}
body{background:#092c40;color:#bfd4de}
.contact-bar,.footer{background:#061f32}.contact-bar{color:#c2dbe5}
.header{background:rgba(6,31,50,.98);border-color:#315568}
.brand,.brand-emblem,.footer-brand .brand-emblem{color:#6cd9ce}
.wordmark-top{color:#f0f7fc}.wordmark-bottom{color:#6cd9ce}.wordmark-join{color:#f2b705}
.header nav{color:#eff7fc}.header nav.open{background:#092c40;border-color:#315568}
.button{background:#0066d2;color:#fff}.button:hover{background:#0054ad;color:#fff}
.button-white{background:#f2b705;color:#102f41}.button-white:hover{background:#ffce38;color:#102f41}
.button-outline{background:transparent;border-color:#6cd9ce;color:#6cd9ce}.button-outline:hover{background:#174557;color:#ecffff}
.hero-shade{background:linear-gradient(90deg,rgba(4,31,52,.87),rgba(6,51,71,.47) 58%,rgba(6,51,71,.12))}
.hero h1 em{color:#6cd9ce}.eyebrow.light{color:#b7eee8}.eyebrow>span{background:#f2b705}
.hero-description,.hero-caption,.hero-bottom{color:#e0edf5}
.service-ribbon,.contact,.inspiration{background:#10374a;border-color:#315568}
.service-ribbon a,.service-ribbon a:nth-child(-n+2){border-color:#315568;color:#e1f1f7}
.services{background:#092c40}.service-icon{background:#1ca698;color:#062f43}.service-number{color:#b3cbd7}
.section.about,.section.process,.section.faq{background:#faf7ef;color:#4a626e}
.about h2,.about .lead,.process h2,.process h3,.faq h2,.faq-list summary{color:#09374f}
.about h2 em,.process h2 em,.faq h2 em{color:#0066d2}
.about .eyebrow,.process .eyebrow,.faq .eyebrow,.about .text-link,.process .text-link,.faq .text-link{color:#0066d2}
.about-copy,.steps p,.faq-list details p,.faq-layout>div>p:not(.eyebrow){color:#4a626e}
.steps .step-number,.faq-list summary span{color:#0066d2}
.step-number::after,.faq-list details,.faq-list details:first-child{border-color:#bfa393}.step-number::after{background:#bfa393}
.journey-note{background:#0b3248ee;color:#f0f7fc;border-color:#1ca698}
.note-kicker,.note-bottom{color:#b7d4df}.route-line{border-color:#1ca698}.route-line::before,.route-line::after{background:#10374a}
.route-line i{background:#f2b705}
.contact-phone>.icon{border-color:#1ca698}.contact-phone small,.contact-aside{color:#b9d5de}.contact-aside{border-color:#315568}
.inspiration-note{color:#c0d7e2}
.form-panel{background:#faf7ef;border-color:#bfa393;color:#4a626e}
.form-panel h3,.form-group label,.form-status{color:#09374f}.form-panel-heading p,.form-privacy{color:#4a626e}
.form-group label>span{color:#0066d2}
input,select,textarea{background:#fffdf8;border-color:#bfa393;color:#09374f}
input::placeholder,textarea::placeholder{color:#627986}
input:focus,select:focus,textarea:focus{border-color:#0066d2;outline-color:#0066d233}
.form-panel .submit-button{background:#0066d2;color:white}.form-panel .submit-button:hover{background:#0054ad}
.form-panel .button-outline{color:#0066d2;border-color:#0066d2}.form-panel .button-outline:hover{background:#e2edf9;color:#09374f}
.closing-strip{background:#1ca698;color:#082f40}.closing-strip strong{color:#082f40}.closing-strip .button{background:#f2b705;color:#102f41}.closing-strip .button:hover{background:#ffce38}
.menu-toggle span{background:#e1f4f8}.motion-toggle{background:#0b3248;color:#e1f4f8;border-color:#315568}
.skip-link{background:#0066d2;color:white}.footer-contact>span,.footer-bottom{color:#b3cad6}.footer-contact>a:nth-child(2){color:#f0f7fc}
/* Keep the familiar WhatsApp green distinct from the site's teal palette. */
.whatsapp-float{background:#147b48;color:#fff}.whatsapp-float:hover{background:#1c9258}
@media(max-width:850px){.header nav{background:#092c40}}

/* Explore catalogue: three photo cards with independent destination selectors. */
.explore-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.explore-choice{border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid #d9e5e5;min-width:0}.explore-choice .destination-card{border-radius:0;min-height:320px;text-decoration:none}.explore-choice-body{padding:22px;color:#092333}.explore-choice-body>label{display:block;color:#092333;font-size:.78rem;font-weight:600;margin-bottom:9px}.explore-choice-body>select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:12px 36px 12px 12px;font:inherit;font-size:.85rem;background:#f3f8f8;color:#092333;border:1px solid #a9c7c5;border-radius:8px;cursor:pointer}.explore-choice-body .explore-price{font-weight:700;font-size:1.5rem;color:#0066d2;margin:18px 0 4px}.explore-choice-body .explore-price-note{color:#596c75;font-size:.68rem;line-height:1.6;margin-bottom:16px}.explore-choice-body summary{cursor:pointer;padding:14px 0;border-top:1px solid #d9e5e5;color:#092333;font-size:.8rem;font-weight:600}.explore-docs{color:#49616e;font-size:.78rem;line-height:1.7;padding-bottom:18px}.explore-docs p{color:#49616e;font-size:inherit}.explore-docs ul{padding-left:18px;margin:12px 0}.explore-docs li{margin:5px 0}.explore-docs a{color:#0059b8;text-decoration:underline}.explore-enquire{display:block;background:#0066d2;color:#fff;text-align:center;padding:13px 12px;border-radius:8px;font-size:.78rem;font-weight:600;text-decoration:none}.explore-enquire:hover{background:#004eaa}.explore-choice a:focus-visible,.explore-choice summary:focus-visible,.explore-choice select:focus-visible{outline:3px solid #f2b705;outline-offset:3px}.explore-choice .destination-copy h3{color:#fff}.explore-choice .destination-copy p{color:#ebf5fb}@media(max-width:980px){.explore-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.explore-choice-grid{grid-template-columns:minmax(0,1fr);gap:24px}.explore-choice .destination-card{min-height:300px}.explore-choice-body{padding:20px}}

#enquiryFields{border:0;padding:0;margin:0;min-width:0}
/* Accessible announcements and business-name context, without visual layout changes. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.motion-paused{scroll-behavior:auto!important}
/* Fill the opening viewport with the hero photograph, below the existing header. */
.hero{display:flex;flex-direction:column;min-height:calc(100vh - var(--intro-header-height,130px));min-height:calc(100svh - var(--intro-header-height,130px))}
.hero-inner{flex:1;min-height:0}
.hero-bottom{flex-shrink:0}

/* Opening composition: stronger typography, with service links inside the first screen. */
.hero{min-height:calc(100vh - var(--intro-header-height,130px) - var(--intro-ribbon-height,76px));min-height:calc(100svh - var(--intro-header-height,130px) - var(--intro-ribbon-height,76px))}
.hero-copy{max-width:min(900px,calc(100% - 305px))}
.hero h1{font-size:clamp(56px,5.8vw,92px);line-height:1.08;letter-spacing:-2.2px}
.hero-description{font-size:18px;line-height:1.75;max-width:610px;margin-top:26px}
.hero-inner{padding-block:46px}
.hero .button-row{margin-top:30px}
@media(max-width:1100px){.hero h1{font-size:clamp(48px,5.6vw,66px)}.hero-description{font-size:16px}}
@media(max-width:850px){.hero-copy{max-width:760px}.hero h1{font-size:clamp(44px,7.5vw,64px)}.hero-inner{padding-block:36px}}
@media(max-width:600px){.hero-copy{max-width:100%}.hero h1{font-size:clamp(38px,9.5vw,50px);letter-spacing:-1px;line-height:1.12}.hero-description{font-size:15px;line-height:1.7;margin-top:20px}.hero-inner{padding-block:30px}.hero .button-row{margin-top:24px;gap:17px}.hero-caption{margin-top:24px}}
@media(min-width:851px) and (max-height:850px){.hero-inner{padding-block:20px}.hero-caption{margin-top:22px}.hero-bottom{padding-block:17px}}
/* Lightweight travel motion: transforms only; existing pause/reduced-motion rules apply. */
@keyframes sky-drift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.065) translate3d(-.6%,.25%,0)}}
@keyframes journey-arrival{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero-image{animation:sky-drift 24s ease-in-out infinite alternate;transform-origin:center}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-description,.hero-copy>.button-row,.hero-copy>.hero-caption{animation:journey-arrival .8s ease-out both}
.hero-copy>h1{animation-delay:.10s}.hero-copy>.hero-description{animation-delay:.20s}.hero-copy>.button-row{animation-delay:.30s}.hero-copy>.hero-caption{animation-delay:.40s}
.explore-choice{transition:transform .28s ease,box-shadow .28s ease}
.service-ribbon .icon{transition:transform .25s ease}
@media(hover:hover) and (pointer:fine){.explore-choice:hover{transform:translateY(-5px);box-shadow:0 16px 32px #001f3426}.service-ribbon a:hover .icon{transform:translateY(-3px) rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.hero-image,.hero-copy>*{animation:none!important}.explore-choice:hover,.service-ribbon a:hover .icon{transform:none}}
.motion-paused .explore-choice:hover,.motion-paused .service-ribbon a:hover .icon{transform:none}

/* Wordmark hierarchy: Ravi Veera Travels is the primary business line. */
.brand .wordmark-top {
  font-family: var(--font-body, Arial, sans-serif);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #6cd9ce;
}
.brand .wordmark-bottom {
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: .1px;
  text-transform: none;
  color: #f0f7fc;
}
.brand .wordmark-join {
  font-size: 14px;
  grid-row: 1;
  align-self: center;
}
@media (max-width: 1100px) {
  .brand .wordmark-bottom { font-size: 22px; }
}
@media (max-width: 600px) {
  .brand .wordmark-top { font-size: 10px; letter-spacing: .6px; }
  .brand .wordmark-bottom { font-size: 20px; }
  .brand .wordmark-join { font-size: 12px; }
}
@media (max-width: 360px) {
  .brand .wordmark-bottom { font-size: 18px; }
}

/* Keep the ampersand with the secondary name, rather than a distant grid column. */
.brand .wordmark {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.brand .wordmark-top { white-space: nowrap; }
.brand .wordmark-join {
  display: inline;
  margin-left: 3px;
  line-height: inherit;
  vertical-align: baseline;
}

/* Transparent teal-and-gold emblem for the dark header and footer. */
.brand .brand-emblem {
  background: transparent;
  border-radius: 0;
  overflow: hidden;
  flex-shrink: 0;
}
.brand-emblem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.16);
}
