/* Form additions preserve the v61 palette and keyboard focus treatment. */
.mail-contact-fields {margin-block:1.3rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.mail-contact-fields .mail-wide {grid-column:1/-1}
.mail-contact-fields label {display:flex;flex-direction:column;gap:.5rem}
.mail-contact-fields textarea {width:100%;font:inherit;border:1px solid #a8a8a8;border-radius:4px;padding:.8rem;background:#fff;color:#202b34}
.mail-actions {display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.mail-actions button:disabled {opacity:.55;cursor:not-allowed}
.mail-consent {display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:.7rem!important;margin-block:1.2rem!important;font-size:.95rem!important;line-height:1.65}
.mail-consent input {flex:0 0 auto!important;width:1.2rem!important;height:1.2rem!important;margin-top:.2rem!important;accent-color:#b29254}
.quote-form .mail-consent,.quote-form .mail-consent span,.quote-form .return-check,.quote-form .return-check span {color:#f5f1e7!important}
.mail-privacy,.mail-status {font-size:.88rem;line-height:1.75;max-width:70ch;margin-block:1rem;overflow-wrap:anywhere}
.quote-form .mail-privacy,.quote-form .mail-status {color:#e6e2d9}
.mail-trap {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
[data-turnstile] {min-height:0;max-width:100%;overflow:hidden}
[data-mail-form][aria-busy="true"] {cursor:progress}
@media(max-width:600px){.mail-contact-fields{grid-template-columns:1fr}.mail-actions{align-items:stretch;flex-direction:column}.mail-actions .button{width:100%;justify-content:center}}

.mail-email {white-space:nowrap;unicode-bidi:isolate}
/* Keep the services heading and introduction together, centered in RTL and LTR. */
#missions > .section-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 1100px;
  margin-inline: auto;
  margin-bottom: 40px;
  text-align: center;
}

#missions > .section-heading > div {
  min-width: 0;
  max-width: 100%;
}

#missions > .section-heading .eyebrow {
  margin-bottom: 16px;
}

#missions > .section-heading h2 {
  max-width: 24ch;
  margin: 0 auto;
}

#missions > .section-heading > p {
  width: 100%;
  max-width: 720px;
  margin: 0;
}

@media (max-width: 600px) {
  #missions > .section-heading {
    gap: 16px;
    margin-bottom: 32px;
  }
}
/* Scoped sizing is also useful without JavaScript; only JS adds stage markers. */
[data-mail-form] {
  --mail-control-height: 54px;
  min-inline-size: 0;
}

[data-mail-form] fieldset,
[data-mail-form] label,
[data-mail-form] .mail-progressive-section,
[data-mail-form] .mail-contact-fields,
[data-mail-form] .contact-fields,
[data-mail-form] .form-grid {
  box-sizing: border-box;
  min-inline-size: 0;
  max-inline-size: 100%;
}

[data-mail-form] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
[data-mail-form] select {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100%;
  min-width: 0 !important;
  height: var(--mail-control-height) !important;
  min-height: var(--mail-control-height) !important;
  padding: 12px 14px !important;
  border: 1px solid #aebac0;
  border-radius: 4px;
  background: #f4f5f5;
  color: #252b30;
  font: inherit !important;
  font-size: 16px !important;
  line-height: 1.4;
}

[data-mail-form] select {
  padding-inline-end: 2.5rem !important;
}

[data-mail-form] textarea {
  box-sizing: border-box !important;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 144px !important;
  padding: 12px 14px !important;
  border: 1px solid #aebac0;
  border-radius: 4px;
  background: #f4f5f5;
  color: #252b30;
  font: inherit !important;
  font-size: 16px !important;
  line-height: 1.6;
  resize: vertical;
}

[data-mail-form] .form-grid,
[data-mail-form] .mail-contact-fields,
[data-mail-form] .contact-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
}

[data-mail-form] .form-grid > label,
[data-mail-form] .mail-contact-fields > label,
[data-mail-form] .contact-fields > label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 !important;
  font-size: 16px;
  line-height: 1.5;
}

[data-mail-form] .form-grid > label > :is(input, select),
[data-mail-form] .mail-contact-fields > label > :is(input, select),
[data-mail-form] .contact-fields > label > :is(input, select) {
  margin-block-start: auto;
}

[data-mail-form] .contact-fields {
  margin-block-end: 20px;
}

[data-mail-form] input[type="date"] {
  display: block;
  min-inline-size: 0;
}

[data-mail-form] input[type="date"]::-webkit-date-and-time-value {
  text-align: start;
}

/* Contact's legacy generic input min-height must not enlarge a checkbox. */
[data-mail-form] .mail-consent input[type="checkbox"] {
  min-height: 0 !important;
  min-block-size: 0 !important;
}

[data-mail-form] textarea:focus-visible {
  outline: 3px solid #e6c58f;
  outline-offset: 3px;
}

[data-mail-form].mail-progressive [data-mail-stage][hidden] {
  display: none !important;
}

[data-mail-form] [data-turnstile] {
  min-inline-size: 0;
  max-inline-size: 100%;
}

@media (max-width: 760px) {
  [data-mail-form] .form-grid,
  [data-mail-form] .mail-contact-fields,
  [data-mail-form] .contact-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* World clocks: the site's charcoal, warm cream and champagne-gold palette. */
#world-clocks {
  --clock-gold: #b29254;
  box-sizing: border-box;
  color: #eee9e0;
  background: #171c21;
  border-top: 1px solid #b2925452;
  padding: 58px 7% 62px;
}

#world-clocks *,
#world-clocks *::before,
#world-clocks *::after { box-sizing: border-box; }

#world-clocks .world-clocks__inner { max-width: 1440px; margin-inline: auto; }

#world-clocks .world-clocks__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 32px;
  margin-bottom: 28px;
}

#world-clocks .world-clocks__title {
  color: #eee9e0;
  font-size: clamp(27px, 2.6vw, 38px);
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: -.5px;
  margin: 0;
}

#world-clocks .world-clocks__note {
  color: #c4beb3;
  font-size: .85rem;
  line-height: 1.65;
  margin: 0;
}

#world-clocks .world-clocks__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#world-clocks .world-clocks__card {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 22px 16px 18px;
  text-align: center;
  border: 1px solid #b2925447;
  background: #1e242a;
}

#world-clocks .world-clocks__card::before {
  content: '';
  position: absolute;
  inset-block-start: -1px;
  inset-inline-start: calc(50% - 15px);
  width: 30px;
  height: 2px;
  background: var(--clock-gold);
}

#world-clocks .world-clocks__city {
  min-height: 2.7em;
  margin: 0 0 9px;
  color: #eee9e0;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

#world-clocks .world-clocks__time {
  display: block;
  color: #d7bb83;
  font-family: Manrope, Arial, sans-serif;
  font-size: clamp(28px, 2.8vw, 43px);
  font-weight: 300;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.2;
  letter-spacing: .015em;
  white-space: nowrap;
  unicode-bidi: isolate;
}

#world-clocks .world-clocks__date {
  min-height: 2.8em;
  margin: 12px 0 8px;
  color: #d3cdc3;
  font-size: .79rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

#world-clocks .world-clocks__zone {
  display: inline-block;
  max-width: 100%;
  padding-top: 9px;
  border-top: 1px solid #b2925447;
  color: #c1b7a6;
  font-size: .74rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  #world-clocks .world-clocks__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #world-clocks .world-clocks__time { font-size: clamp(32px, 4.2vw, 43px); }
}

@media (max-width: 620px) {
  #world-clocks { padding: 40px 6% 44px; }
  #world-clocks .world-clocks__header { display: block; margin-bottom: 24px; }
  #world-clocks .world-clocks__title { font-size: 28px; }
  #world-clocks .world-clocks__note { margin-top: 10px; font-size: .8rem; }
  #world-clocks .world-clocks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #world-clocks .world-clocks__card { padding: 20px 12px 16px; }
  #world-clocks .world-clocks__city { font-size: .95rem; }
  #world-clocks .world-clocks__time { font-size: clamp(28px, 8vw, 39px); }
}

@media (max-width: 350px) {
  #world-clocks { padding-inline: 16px; }
  #world-clocks .world-clocks__grid { gap: 9px; }
  #world-clocks .world-clocks__card { padding-inline: 8px; }
}
/* v68: sparse, static flight-path linework on broad section backgrounds.
   These sections have no existing ::before artwork in v67. The occupied
   brand-story, pricing-page and flow-craft pseudos remain untouched, as do
   all existing ::after rings. No cards, photos, form controls or layout rules
   are changed. SVG backgrounds are self-contained and make no requests. */
section.aircraft,
section.technology,
section.extras,
section.journey-support,
section.contact-section,
section.flow-design,
section.flow-planning,
#world-clocks {
  --vip-lines-sweep-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 420' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='800' y2='0' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23a48a62' stop-opacity='0'/%3E%3Cstop offset='.48' stop-color='%23a48a62' stop-opacity='.26'/%3E%3Cstop offset='1' stop-color='%23a48a62' stop-opacity='.38'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='url(%23g)' stroke-width='1'%3E%3Cpath vector-effect='non-scaling-stroke' d='M-80 420C170 140 490 520 870 10'/%3E%3Cpath vector-effect='non-scaling-stroke' d='M-55 460C190 185 520 565 910 30'/%3E%3C/g%3E%3Cpath vector-effect='non-scaling-stroke' d='M260 440C470 370 630 345 820 100' stroke='%238096a3' stroke-opacity='.22' stroke-width='.8'/%3E%3C/svg%3E");
  --vip-lines-sweep-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 420' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='800' y2='0' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23d5bf94' stop-opacity='0'/%3E%3Cstop offset='.48' stop-color='%23d5bf94' stop-opacity='.2'/%3E%3Cstop offset='1' stop-color='%23d5bf94' stop-opacity='.32'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='url(%23g)' stroke-width='1'%3E%3Cpath vector-effect='non-scaling-stroke' d='M-80 420C170 140 490 520 870 10'/%3E%3Cpath vector-effect='non-scaling-stroke' d='M-55 460C190 185 520 565 910 30'/%3E%3C/g%3E%3Cpath vector-effect='non-scaling-stroke' d='M260 440C470 370 630 345 820 100' stroke='%23c4d0d7' stroke-opacity='.2' stroke-width='.8'/%3E%3C/svg%3E");
  --vip-lines-arc-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 520' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='480' y2='370' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%239d825a' stop-opacity='.35'/%3E%3Cstop offset='.55' stop-color='%239d825a' stop-opacity='.2'/%3E%3Cstop offset='1' stop-color='%239d825a' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='url(%23g)' stroke-width='1'%3E%3Cellipse vector-effect='non-scaling-stroke' cx='-115' cy='-65' rx='390' ry='430'/%3E%3Cellipse vector-effect='non-scaling-stroke' cx='-115' cy='-65' rx='423' ry='463'/%3E%3C/g%3E%3Cpath vector-effect='non-scaling-stroke' d='M0 394C145 393 247 329 329 215' stroke='%238096a3' stroke-opacity='.19' stroke-width='.8'/%3E%3C/svg%3E");
  --vip-lines-arc-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 520' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='480' y2='370' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23d5bf94' stop-opacity='.3'/%3E%3Cstop offset='.55' stop-color='%23d5bf94' stop-opacity='.16'/%3E%3Cstop offset='1' stop-color='%23d5bf94' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='url(%23g)' stroke-width='1'%3E%3Cellipse vector-effect='non-scaling-stroke' cx='-115' cy='-65' rx='390' ry='430'/%3E%3Cellipse vector-effect='non-scaling-stroke' cx='-115' cy='-65' rx='423' ry='463'/%3E%3C/g%3E%3Cpath vector-effect='non-scaling-stroke' d='M0 394C145 393 247 329 329 215' stroke='%23c4d0d7' stroke-opacity='.17' stroke-width='.8'/%3E%3C/svg%3E");
  position: relative;
  isolation: isolate;
}

/* A local stacking context keeps the decoration above the section's color
   and below every content element, without changing content positioning.
   The pseudo stays exactly inside the section; only its background is drawn,
   so no section clipping or overflow changes are needed. */
section.aircraft::before,
section.technology::before,
section.extras::before,
section.journey-support::before,
section.contact-section::before,
section.flow-design::before,
section.flow-planning::before,
#world-clocks::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  user-select: none;
  background-image: var(--vip-lines-sweep-light);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: clamp(340px, 56vw, 800px) auto;
}

/* Alternate broad sweeps and partial orbits rather than repeating a texture. */
section.aircraft::before {
  background-position: right bottom 12px;
}

section.extras::before {
  background-image: var(--vip-lines-arc-light);
  background-position: left top;
  background-size: clamp(300px, 40vw, 540px) auto;
}

section.technology::before,
section.journey-support::before,
#world-clocks::before {
  background-image: var(--vip-lines-sweep-dark);
}

section.technology::before {
  background-size: clamp(360px, 64vw, 900px) auto;
}

section.journey-support::before {
  background-position: left bottom;
  background-size: clamp(340px, 52vw, 740px) auto;
}

section.contact-section::before {
  background-image: var(--vip-lines-arc-dark);
  background-position: left top;
  background-size: clamp(300px, 38vw, 520px) auto;
  opacity: .8;
}

section.flow-design::before {
  background-size: clamp(360px, 62vw, 880px) auto;
}

section.flow-planning::before {
  background-image: var(--vip-lines-arc-light);
  background-position: left top;
  background-size: clamp(340px, 44vw, 600px) auto;
}

#world-clocks::before {
  background-size: clamp(340px, 54vw, 760px) auto;
  opacity: .85;
}

/* Mirror only the decoration with the page's reading direction. */
html[dir="rtl"] section.aircraft::before,
html[dir="rtl"] section.technology::before,
html[dir="rtl"] section.extras::before,
html[dir="rtl"] section.journey-support::before,
html[dir="rtl"] section.contact-section::before,
html[dir="rtl"] section.flow-design::before,
html[dir="rtl"] section.flow-planning::before,
html[dir="rtl"] #world-clocks::before {
  transform: scaleX(-1);
}

/* Smaller, quieter edge artwork on phones; field sizes and spacing stay intact. */
@media (max-width: 760px) {
  section.aircraft::before,
  section.technology::before,
  section.journey-support::before,
  section.flow-design::before,
  #world-clocks::before {
    background-size: min(92vw, 420px) auto;
    opacity: .72;
  }

  section.extras::before,
  section.contact-section::before,
  section.flow-planning::before {
    background-size: min(76vw, 340px) auto;
    opacity: .65;
  }
}

/* There is no animation, including in reduced-motion mode. Omit decoration
   entirely when contrast overrides or a printed copy take priority. */
@media (forced-colors: active), print {
  section.aircraft::before,
  section.technology::before,
  section.extras::before,
  section.journey-support::before,
  section.contact-section::before,
  section.flow-design::before,
  section.flow-planning::before,
  #world-clocks::before {
    display: none;
  }
}
