/* Airport hardware requests, sharing the public site's Blue hour palette. */
.airport-invite { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:30px 32px; border:1px solid var(--line); border-left:3px solid var(--teal); border-radius:10px; background:var(--surface); }
.airport-invite h2 { font-size:1.5rem; margin-bottom:10px; }
.airport-invite p { margin:0; max-width:650px; }
.airport-invite .eyebrow { margin-bottom:10px; }
.airport-invite .button { flex-shrink:0; }
[data-page="home"] .airport-invite { margin-bottom:48px; }
.contact-intro { padding:20px 0 8px; max-width:800px; }
.contact-intro h1 { max-width:650px; font-size:clamp(2rem,4vw,3.2rem); }
.contact-intro .lead { font-size:1.125rem; max-width:690px; margin-bottom:20px; }
.contact-points { display:flex; flex-wrap:wrap; gap:10px 22px; color:var(--teal); font-size:.875rem; }
.contact-points span::before { content:'✓'; margin-right:8px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:32px; }
.contact-form { padding:30px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.contact-form h2 { margin-bottom:8px; font-size:1.5rem; }
.form-note { font-size:.875rem; }
.contact-form fieldset { min-width:0; margin:26px 0 0; padding:24px 0 0; border:0; border-top:1px solid var(--line); }
.contact-form legend { padding:0 12px 0 0; font-size:1rem; font-weight:600; color:var(--ink); }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-field { display:grid; align-content:start; gap:6px; min-width:0; }
.contact-field label { font-size:.875rem; font-weight:600; }
.contact-field label span { color:var(--muted); font-weight:400; font-size:.8rem; }
.contact-field input, .contact-field textarea { width:100%; min-width:0; min-height:46px; padding:10px 12px; color:var(--ink); background:var(--background); border:1px solid #627b88; border-radius:6px; line-height:1.5; }
.contact-field textarea { resize:vertical; min-height:110px; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color:#90aab8; opacity:1; }
.contact-field small { color:var(--muted); font-size:.8rem; line-height:1.5; }
.contact-field.wide { grid-column:1 / -1; }
.contact-check { display:flex; align-items:flex-start; gap:12px; margin:0 0 16px; font-size:.875rem; line-height:1.65; color:var(--muted); cursor:pointer; }
.contact-check input { flex:0 0 18px; width:18px; height:18px; margin:4px 0 0; accent-color:var(--teal); }
.contact-form button { margin-top:8px; }
.contact-form button:disabled { opacity:.65; cursor:wait; }
.contact-privacy { font-size:.8rem; margin:18px 0 0; }
.contact-sidebar { padding:8px 0; }
.contact-sidebar h2 { font-size:1.25rem; }
.contact-sidebar h3 { font-size:1rem; }
.contact-sidebar p, .contact-sidebar li { font-size:.875rem; }
.contact-sidebar section + section { margin-top:28px; padding-top:28px; border-top:1px solid var(--line); }
.contact-steps { list-style:none; padding:0; counter-reset:steps; }
.contact-steps li { counter-increment:steps; position:relative; padding-left:40px; margin-bottom:22px; color:var(--muted); }
.contact-steps li::before { content:counter(steps); position:absolute; left:0; top:0; width:26px; height:26px; border-radius:50%; background:var(--surface-strong); color:var(--teal); text-align:center; font-weight:600; }
.contact-steps strong { display:block; color:var(--ink); margin-bottom:3px; }
.contact-result { margin:22px 0 0; padding:18px; border:1px solid var(--teal); border-radius:7px; color:var(--ink); background:var(--background); overflow-wrap:anywhere; }
.contact-result.is-error { border-color:var(--orange); }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:900px) { .contact-layout { grid-template-columns:1fr; } .contact-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:28px; } .contact-sidebar section + section { margin:0; padding:0; border:0; } .airport-invite { align-items:flex-start; flex-direction:column; gap:20px; } }
@media(max-width:560px) { .contact-form { padding:22px 18px; } .contact-fields, .contact-sidebar { grid-template-columns:1fr; } .contact-intro { padding-top:6px; } .contact-points { display:grid; gap:6px; } .airport-invite { padding:24px; } .contact-form button { width:100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
