/* ENG Aviation website forms: our own markup and styling.
 *
 * Used by every form on the site (each carries [data-eng-form]): the trip request on the home
 * page and /book, the contact form on /contact, the text message opt-in on /sms-opt-in, the
 * footer subscribe on every page and the newsroom subscribe. The behaviour is
 * assets/eng/forms.js, the backend is /api/form. Nothing here depends on Webflow's form classes.
 *
 * House rules these follow: square corners, Museo Sans 300 body, Condorwide headings, the
 * site button (18px text, 56px or taller), symmetric spacing, and inputs never below 16px text
 * so phones do not zoom on focus.
 *
 * Field look: the label sits inside the field, small and upper case, above the value; focus
 * draws a purple bar along the bottom edge.
 */

.eng-form {
  --eng-navy: #001737;
  --eng-ink: #576375;
  --eng-purple: #471e5d;
  --eng-purple-dark: #35164a;
  --eng-line: #d4d8dd;
  --eng-line-strong: #a9b1bc;
  --eng-tint: #f7f5f9;
  --eng-error: #b3261e;
  --eng-font: "Museo Sans 300", Arial, sans-serif;
  --eng-head: Condorwide, Arial, sans-serif;
  margin: 0;
  padding: 0;
  font-family: var(--eng-font);
  text-align: left;
}
.eng-form *,
.eng-form *::before,
.eng-form *::after { box-sizing: border-box; }
.eng-form form { margin: 0; padding: 0; }
.eng-form [hidden] { display: none !important; }

/* screen-reader-only text */
.eng-form .eng-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ---- fields ---------------------------------------------------------------------------- */
.eng-form .eng-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .eng-form .eng-fields.eng-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.eng-form .eng-field { position: relative; min-width: 0; margin: 0; padding: 0; }

/* the label rides inside the top of the field; clicks fall through to the field under it */
.eng-form label.eng-label {
  position: absolute;
  z-index: 1;
  top: 1px; left: 1px; right: 1px;
  display: block;
  height: 28px;
  margin: 0;
  padding: 11px 19px 0;
  overflow: hidden;
  font-family: var(--eng-font);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--eng-ink);
  pointer-events: none;
}
.eng-form .eng-optional { opacity: .8; }

.eng-form input.eng-input,
.eng-form select.eng-input,
.eng-form textarea.eng-input {
  display: block;
  width: 100%;
  height: auto;
  min-height: 64px;
  margin: 0;
  padding: 29px 19px 9px;
  border: 1px solid var(--eng-line);
  border-radius: 0;
  background-color: #fff;
  box-shadow: none;
  color: var(--eng-navy);
  font-family: var(--eng-font);
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.eng-form .eng-input::placeholder { color: #8a93a0; opacity: 1; }
.eng-form input.eng-input:hover,
.eng-form select.eng-input:hover,
.eng-form textarea.eng-input:hover { border-color: var(--eng-line-strong); }
.eng-form input.eng-input:focus,
.eng-form select.eng-input:focus,
.eng-form textarea.eng-input:focus {
  border-color: var(--eng-purple);
  box-shadow: inset 0 -3px 0 var(--eng-purple);
  outline: 2px solid transparent;          /* shown by forced-colors modes only */
}
.eng-form .eng-input[aria-invalid="true"] { border-color: var(--eng-error); box-shadow: inset 0 -3px 0 var(--eng-error); }

/* select: our own arrow, since the native one goes with the native look */
.eng-form select.eng-input {
  padding-right: 48px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2214%22 height=%229%22 viewBox=%220 0 14 9%22%3E%3Cpath d=%22M1 1l6 6 6-6%22 fill=%22none%22 stroke=%22%23001737%22 stroke-width=%222%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 19px bottom 17px;
  background-size: 14px 9px;
  cursor: pointer;
  text-overflow: ellipsis;
}
/* textarea: the label gets a white strip so scrolled text never runs under it */
.eng-form select.eng-input:required:invalid { color: #8a93a0; }   /* the "choose" prompt */
.eng-form select.eng-input option { color: var(--eng-navy); }
.eng-form textarea.eng-input {
  min-height: 132px;
  padding-top: 33px;
  resize: vertical;
}
.eng-form .eng-field-area label.eng-label { right: 18px; background: #fff; }
/* date: keep the value left-aligned and the field full height on iOS */
.eng-form input.eng-input[type="date"] { height: 64px; text-align: left; }   /* Chrome draws it 65.6px tall otherwise */
.eng-form input.eng-input[type="date"]::-webkit-date-and-time-value { text-align: left; min-height: 24px; }
.eng-form input.eng-input[type="number"] { -moz-appearance: textfield; }
.eng-form input.eng-input[type="number"]::-webkit-outer-spin-button,
.eng-form input.eng-input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.eng-form .eng-error {
  margin: 8px 0 0;
  padding: 0;
  font-family: var(--eng-font);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--eng-error);
}

/* ---- number with minus / plus buttons (passengers) --------------------------------------- */
.eng-form .eng-stepper input.eng-input { padding-right: 104px; }
.eng-form .eng-stepper label.eng-label { right: 98px; padding-right: 0; }
.eng-form .eng-step-btns {
  position: absolute;
  top: 13px; right: 13px;
  display: flex;
  gap: 6px;
}
.eng-form button.eng-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  margin: 0; padding: 0;
  border: 1px solid var(--eng-line);
  border-radius: 0;
  background: #fff;
  color: var(--eng-navy);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.eng-form button.eng-step:hover { border-color: var(--eng-purple); background: var(--eng-purple); color: #fff; }
.eng-form button.eng-step:focus-visible { outline: 2px solid var(--eng-purple); outline-offset: 2px; }
.eng-form button.eng-step svg { display: block; }

/* ---- from / to with a swap button on the seam -------------------------------------------- */
.eng-form .eng-route { position: relative; }
.eng-form button.eng-swap {
  position: absolute;
  z-index: 2;
  top: 12px; left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  margin: 0 0 0 -20px; padding: 0;
  border: 1px solid var(--eng-line);
  border-radius: 0;
  background: #fff;
  color: var(--eng-purple);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.eng-form button.eng-swap:hover { border-color: var(--eng-purple); background: var(--eng-purple); color: #fff; }
.eng-form button.eng-swap:focus-visible { outline: 2px solid var(--eng-purple); outline-offset: 2px; }
.eng-form button.eng-swap svg { display: block; }
@media (min-width: 768px) {
  .eng-form .eng-route .eng-field:first-child input.eng-input { padding-right: 34px; }
  .eng-form .eng-route .eng-field:first-child label.eng-label { right: 30px; }
  .eng-form .eng-route .eng-field + .eng-swap + .eng-field input.eng-input { padding-left: 34px; }
  .eng-form .eng-route .eng-field + .eng-swap + .eng-field label.eng-label { padding-left: 34px; }
}
@media (max-width: 767px) {
  /* stacked: the button sits on the gap between the two fields, at the right */
  .eng-form button.eng-swap { top: 54px; left: auto; right: 12px; margin: 0; }
  .eng-form button.eng-swap svg { transform: rotate(90deg); }
  .eng-form .eng-route .eng-error { padding-right: 60px; }
}

/* ---- checkbox with long text ----------------------------------------------------------- */
.eng-form label.eng-check {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  margin: 0;
  padding: 0;
  font-weight: 300;
  cursor: pointer;
}
.eng-form .eng-check input[type="checkbox"] {
  width: 22px;
  height: 22px;
  margin: 1px 0 0;
  padding: 0;
  float: none;
  accent-color: var(--eng-purple);
  cursor: pointer;
}
.eng-form .eng-check input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--eng-purple);
  outline-offset: 2px;
}
.eng-form .eng-check-text {
  font-family: var(--eng-font);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--eng-ink);
}
.eng-form .eng-check-text a { color: var(--eng-purple); text-decoration: underline; }

/* ---- button ---------------------------------------------------------------------------- */
.eng-form button.eng-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 56px;
  margin: 0;
  padding: 18px 25px;
  border: 0;
  border-radius: 0;
  background: var(--eng-purple);
  color: #fff;
  font-family: var(--eng-font);
  font-size: 18px;
  font-weight: 400;
  line-height: 20px;
  white-space: nowrap;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color .2s ease;
}
.eng-form button.eng-btn:hover { background: var(--eng-purple-dark); }
.eng-form button.eng-btn:focus-visible { outline: 2px solid var(--eng-purple); outline-offset: 2px; }
.eng-form button.eng-btn[disabled] { opacity: .65; cursor: default; }
.eng-form button.eng-btn .eng-arrow { display: block; flex: 0 0 auto; transition: transform .2s ease; }
.eng-form button.eng-btn:hover .eng-arrow { transform: translateX(4px); }
.eng-form button.eng-btn[disabled] .eng-arrow { display: none; }

/* ---- result messages ------------------------------------------------------------------- */
.eng-form .eng-fail {
  margin: 16px 0 0;
  padding: 0;
  font-family: var(--eng-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--eng-error);
}
.eng-form .eng-done:focus { outline: none; }
@keyframes eng-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .eng-form .eng-done { animation: eng-in .3s ease both; }
}

/* ======== Text message opt-in (/sms-opt-in) ============================================== */
.eng-optin { max-width: 800px; }
.eng-optin h2 {
  margin: 0 0 24px !important;
  font-family: var(--eng-head) !important;
  font-size: clamp(28px, 4vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--eng-navy) !important;
}
.eng-optin p.eng-intro {
  margin: 0 0 32px !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1.67 !important;
  color: var(--eng-ink) !important;
}
.eng-optin .eng-consent { margin: 24px 0 0; }
.eng-optin .eng-consent .eng-error { margin-left: 34px; }   /* lines up with the text beside the box */
.eng-optin .eng-actions { margin: 32px 0 0; }
.eng-optin .eng-done {
  margin: 0;
  padding: 24px;
  border: 1px solid var(--eng-line);
  border-left: 4px solid var(--eng-purple);
  background: var(--eng-tint);
}
.eng-optin .eng-done-title,
.eng-request .eng-done-title {
  margin: 0 0 8px;
  font-family: var(--eng-head);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--eng-navy);
}
.eng-optin .eng-done-text,
.eng-request .eng-done-text {
  margin: 0;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--eng-ink);
}
@media (max-width: 479px) {
  .eng-form input.eng-input,
  .eng-form select.eng-input,
  .eng-form textarea.eng-input { padding-left: 15px; padding-right: 15px; font-size: 16px; }
  .eng-form label.eng-label { padding-left: 15px; padding-right: 15px; }
  .eng-form select.eng-input { padding-right: 44px; background-position: right 15px bottom 17px; }
  .eng-form .eng-stepper input.eng-input { padding-right: 104px; }
  .eng-optin button.eng-btn { width: 100%; }
}

/* ======== Trip request (home, /book) and contact (/contact) ============================== */
/* The section these sit in. Spacing is ours alone: 64px above and below, 24px at the sides. */
.eng-section {
  position: relative;
  margin: 0;
  padding: 64px 24px;
  background: #fff;
}
.eng-section.eng-section-tint { background: #f2f2f2; }
.eng-request {
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  scroll-margin-top: 110px;       /* clears the fixed header when a "Book A Trip" link lands here */
}
.eng-request .eng-head { margin: 0 0 32px; text-align: center; }
.eng-request .eng-eyebrow {
  margin: 0 0 12px;
  padding: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--eng-purple);
}
.eng-request h2.eng-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--eng-head) !important;
  font-size: clamp(30px, 5vw, 48px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--eng-navy) !important;
  text-align: center !important;
}
.eng-request p.eng-intro {
  max-width: 560px;
  margin: 16px auto 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1.67 !important;
  color: var(--eng-ink) !important;
  text-align: center !important;
}

/* the card */
.eng-request .eng-card {
  margin: 0;
  padding: 0;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(0, 23, 55, .08), 0 32px 64px -32px rgba(0, 23, 55, .38);
}
.eng-request .eng-card.eng-card-bar { border-top: 4px solid var(--eng-purple); }
.eng-request .eng-card-body { padding: 40px; }

/* trip type: tabs on a navy strip across the top of the card */
.eng-request fieldset.eng-tabs { min-width: 0; margin: 0; padding: 8px 8px 0; border: 0; background: var(--eng-navy); }
.eng-request .eng-tabs-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}
.eng-request label.eng-tab { position: relative; display: block; margin: 0; padding: 0; cursor: pointer; }
.eng-request .eng-tab input {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.eng-request .eng-tab span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 8px 6px;
  font-family: var(--eng-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: center;
  color: rgba(255, 255, 255, .78);
}
.eng-request .eng-tab svg { display: block; flex: 0 0 auto; }
.eng-request .eng-tab:hover span { background: rgba(255, 255, 255, .1); color: #fff; }
.eng-request .eng-tab input:checked + span { background: #fff; color: var(--eng-navy); }
.eng-request .eng-tab input:focus-visible + span { outline: 2px solid #fff; outline-offset: -5px; }
.eng-request .eng-tab input:checked:focus-visible + span { outline-color: var(--eng-purple); }

.eng-request .eng-stack { display: flex; flex-direction: column; gap: 20px; }
.eng-request .eng-group + .eng-group { margin-top: 36px; }
/* group title: small caps with a rule running to the right edge */
.eng-request .eng-group-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  padding: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--eng-navy);
}
.eng-request .eng-group-title b { font-weight: 400; color: var(--eng-purple); }
.eng-request .eng-group-title::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--eng-line); }

@media (min-width: 600px) {
  .eng-request .eng-fields.eng-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eng-request .eng-fields.eng-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .eng-request .eng-fields.eng-three { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 232px; }
  /* passengers stays at the end of the first row; the return fields fill the row under it */
  .eng-request .eng-fields.eng-three > .eng-stepper { grid-column: 3; grid-row: 1; }
}
.eng-request .eng-contents { display: contents; }

.eng-request .eng-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin: 36px 0 0;
}
.eng-request button.eng-btn { min-height: 60px; padding: 20px 30px; letter-spacing: .02em; }
.eng-request .eng-note {
  flex: 1 1 240px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--eng-ink);
}
.eng-request .eng-note a { color: var(--eng-purple); text-decoration: underline; }
.eng-request .eng-fail { margin: 16px 0 0; }

/* confirmation: replaces the form inside the card */
.eng-request .eng-done { padding: 56px 40px; text-align: center; }
.eng-request .eng-done-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px; height: 64px;
  margin: 0 auto 24px;
  background: var(--eng-purple);
  color: #fff;
}
.eng-request .eng-done-mark svg { display: block; }
.eng-request .eng-done-title { margin: 0 0 12px; font-size: 28px; line-height: 1.2; }
.eng-request .eng-done-text { max-width: 480px; margin: 0 auto; font-size: 17px; }
.eng-request .eng-done-text a { color: var(--eng-purple); text-decoration: underline; white-space: nowrap; }

@media (max-width: 767px) {
  .eng-request .eng-card-body { padding: 28px 24px; }
  .eng-request .eng-done { padding: 44px 24px; }
}
@media (max-width: 479px) {
  .eng-request .eng-card-body { padding: 24px 16px; }
  .eng-request .eng-done { padding: 40px 16px; }
  .eng-request .eng-head { margin-bottom: 24px; }
  .eng-request p.eng-intro { font-size: 16px !important; }
  .eng-request fieldset.eng-tabs { padding: 6px 6px 0; }
  .eng-request .eng-tab span { min-height: 48px; font-size: 15px; letter-spacing: 0; }
  .eng-request .eng-tab svg { display: none; }
  .eng-request .eng-actions { display: block; margin-top: 28px; }
  .eng-request button.eng-btn { width: 100%; }
  .eng-request .eng-note { margin-top: 16px; text-align: center; }
  .eng-request .eng-done-title { font-size: 24px; }
}

/* ======== Subscribe (footer on every page, newsroom band; both on dark) ================== */
.eng-subscribe { margin: 0; }
.eng-subscribe .eng-subscribe-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 7px;
  border: 1px solid var(--eng-line);
  background: #fff;
}
.eng-subscribe .eng-subscribe-row:focus-within { outline: 2px solid #fff; outline-offset: 2px; }
.eng-subscribe input.eng-input {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  min-height: 52px;
  padding: 11px 16px;
  border: 0;
  font-size: 18px;
  line-height: 1.5;
}
.eng-subscribe input.eng-input:focus,
.eng-subscribe input.eng-input[aria-invalid="true"] { outline: none; box-shadow: none; }
.eng-subscribe button.eng-btn {
  flex: 0 0 auto;
  min-height: 52px;
  padding: 16px 24px;
}
.eng-subscribe .eng-subscribe-row.eng-invalid { border-color: #ff9aa0; }
.eng-subscribe .eng-error,
.eng-subscribe .eng-fail { margin: 12px 0 0; font-size: 15px; color: #ffb3b8; }
.eng-subscribe .eng-done {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: #fff;
}
.eng-subscribe .eng-done-mark {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 1px solid #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
}
@media (max-width: 479px) {
  .eng-subscribe .eng-subscribe-row {
    flex-direction: column;
    gap: 12px;
    padding: 0;
    border: 0;
    background: transparent;
  }
  .eng-subscribe .eng-subscribe-row:focus-within { outline: none; }
  .eng-subscribe input.eng-input {
    width: 100%;
    min-height: 56px;
    padding: 15px 16px;
    border: 1px solid var(--eng-line);
    font-size: 16px;
  }
  .eng-subscribe input.eng-input:focus { outline: 2px solid #fff; outline-offset: 2px; }
  .eng-subscribe .eng-subscribe-row.eng-invalid input.eng-input { border-color: #ff9aa0; }
  .eng-subscribe button.eng-btn { width: 100%; min-height: 56px; }
  .eng-subscribe .eng-done { min-height: 124px; }
}

/* ======== Home page: sections round the trip form ======================================== */
/* The intro paragraph above and the "Meet The Fleet" heading below were positioned by hand
 * against the height of the old booking widget: large bottom margins on the paragraph, a fleet
 * section pulled 114px upward, and a chain of offsetting margins and paddings above its heading.
 * With our own form in between the spacing is plain: the same distance from the paragraph to
 * the form block as from the card to the fleet heading (64px on phones, 96px from 768 up). */
.section.airpeggio.eng-home-book { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.section.airpeggio.eng-home-book .section-2 > p { margin-bottom: 0 !important; }
.section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet {
  display: flow-root;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet > .container-default,
.section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet > .container-default > .inner-container,
.section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet > .container-default > .inner-container > .inner-container,
.section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet > .container-default > .inner-container > .inner-container > .inner-container,
.section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet .inner-container > .text-center,
.section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet .text-center > h2.display-2-fleet {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
@media (min-width: 768px) {
  .section.airpeggio.eng-home-book > .eng-section { padding-top: 96px; }
  .section.airpeggio.eng-home-book + .section.bg-secondary-2.fleet { padding-top: 32px !important; }
}

/* Narrowest phones: keep each trip-type tab on one line ("Round trip" wrapped at 320) */
@media (max-width: 359px) {
  .eng-request fieldset.eng-tabs { padding: 6px 4px 0; }
  .eng-request .eng-tabs-row { gap: 2px; }
  .eng-request .eng-tab span { padding: 8px 2px; font-size: 14px; white-space: nowrap; }
}
