
@layer components {
  .pilot-enquiry {
    width: min(760px, calc(100% - 32px));
    max-height: min(880px, calc(100dvh - 32px));
    padding: 0;
    border: 1px solid rgba(107,136,173,.38);
    border-radius: 22px;
    color: var(--white);
    background: rgba(7,16,29,.985);
    box-shadow: 0 32px 100px rgba(0,0,0,.48);
    overflow: hidden;
  }
  .pilot-enquiry::backdrop {
    background: rgba(2,8,17,.78);
    backdrop-filter: blur(10px) saturate(110%);
  }
  .pilot-enquiry[open] { animation: pilot-dialog-in .24s var(--ease-standard) both; }
  .pilot-enquiry__frame { max-height: inherit; overflow: auto; overscroll-behavior: contain; }
  .pilot-enquiry__header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 1.5rem;
    padding: clamp(1.6rem,4vw,2.5rem) clamp(1.25rem,4vw,2.6rem) 1.35rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: linear-gradient(135deg, rgba(39,68,107,.32), rgba(10,20,38,.08) 58%);
  }
  .pilot-enquiry__header h2 { max-width: 13ch; margin: .35rem 0 .7rem; font-size: clamp(2rem,5vw,3.2rem); line-height: .98; }
  .pilot-enquiry__header p:last-child { max-width: 58ch; color: #b9c7d5; font-size: .95rem; }
  .pilot-enquiry__close {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    color: var(--white);
    background: rgba(255,255,255,.035);
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .pilot-enquiry__close:hover { border-color: rgba(212,160,55,.72); background: rgba(212,160,55,.09); }
  .pilot-enquiry__close:active { transform: scale(.96); }
  .pilot-enquiry__close span { font-size: 1.75rem; font-weight: 300; line-height: 1; transform: translateY(-1px); }
  .pilot-enquiry__form { padding: 1.5rem clamp(1.25rem,4vw,2.6rem) clamp(1.5rem,4vw,2.4rem); }
  .pilot-enquiry__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 1.1rem; }
  .pilot-field { display: grid; gap: .45rem; min-width: 0; }
  .pilot-field--wide { grid-column: 1 / -1; }
  .pilot-field > span { color: #e8eef5; font-size: .78rem; font-weight: 600; letter-spacing: .015em; }
  .pilot-field b, .pilot-consent b { color: var(--gold); font-weight: 600; }
  .pilot-field small { margin-left: .35rem; color: #8fa3b8; font-size: .68rem; font-weight: 500; }
  .pilot-field input,
  .pilot-field select,
  .pilot-field textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 10px;
    padding: .78rem .9rem;
    color: var(--white);
    background: rgba(255,255,255,.045);
    font: inherit;
    outline: none;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .pilot-field textarea { min-height: 126px; resize: vertical; line-height: 1.55; }
  .pilot-field select { color-scheme: dark; }
  .pilot-field input::placeholder,
  .pilot-field textarea::placeholder { color: #788da2; }
  .pilot-field input:hover,
  .pilot-field select:hover,
  .pilot-field textarea:hover { border-color: rgba(107,136,173,.56); }
  .pilot-field input:focus,
  .pilot-field select:focus,
  .pilot-field textarea:focus {
    border-color: var(--gold);
    background: rgba(255,255,255,.065);
    box-shadow: 0 0 0 3px rgba(212,160,55,.12);
  }
  .pilot-field input:user-invalid,
  .pilot-field select:user-invalid,
  .pilot-field textarea:user-invalid { border-color: #e18a7d; }
  .pilot-consent {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: .7rem;
    align-items: start;
    margin-top: 1.15rem;
    color: #aebdcc;
    font-size: .76rem;
    line-height: 1.45;
  }
  .pilot-consent input { width: 18px; height: 18px; margin-top: .08rem; accent-color: var(--gold); }
  .pilot-enquiry__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-top: 1.35rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .pilot-enquiry__footer p { max-width: 36ch; color: #8fa3b8; font-size: .72rem; line-height: 1.45; }
  .pilot-enquiry__footer .button { flex: 0 0 auto; border: 0; cursor: pointer; }
  .pilot-enquiry__status { min-height: 1.25rem; margin-top: .75rem; color: #d8e5f1; font-size: .75rem; }
  body.has-pilot-dialog { overflow: hidden; }
  @keyframes pilot-dialog-in {
    from { opacity: 0; transform: translateY(16px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }
}

@layer responsive {
  @media (max-width: 600px) {
    .pilot-enquiry {
      width: calc(100% - 16px);
      max-height: calc(100dvh - 16px);
      border-radius: 18px;
    }
    .pilot-enquiry__header { gap: .8rem; padding: 1.35rem 1.05rem 1.1rem; }
    .pilot-enquiry__header h2 { font-size: clamp(2rem,11vw,2.8rem); }
    .pilot-enquiry__close { width: 42px; height: 42px; }
    .pilot-enquiry__form { padding: 1.15rem 1.05rem 1.35rem; }
    .pilot-enquiry__grid { grid-template-columns: 1fr; gap: .9rem; }
    .pilot-field--wide { grid-column: auto; }
    .pilot-enquiry__footer { align-items: stretch; flex-direction: column; }
    .pilot-enquiry__footer .button { width: 100%; }
  }
  @media (prefers-reduced-motion: reduce) {
    .pilot-enquiry[open] { animation: none; }
  }
}
