/* Aspen Aviation Detailing — Main Styles */


/* ─── RESET & BASE ───────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 100px; scroll-behavior: smooth; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

:root {
  --ivory:    #F8F5F0;
  --cream:    #EDE8DF;
  --charcoal: #1A1A1A;
  --mid:      #4A4A4A;
  --light:    #9A9690;
  --gold:     #B8943F;
  --gold-lt:  #D4B06A;
  --white:    #FFFFFF;
  --rule:     rgba(26,26,26,0.1);
  --rule-lt:  rgba(248,245,240,0.12);
}

body {
  font-family: 'DM Sans', sans-serif;
  background: #1a1a1a;
  color: var(--charcoal);
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  margin: 0;
  padding: 0;
}

img { display: block; max-width: 100%; }

/* ─── NAVIGATION ─────────────────────────────────────────── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 24px 60px;
  transition: background 0.4s ease, padding 0.4s ease, box-shadow 0.4s ease, backdrop-filter 0.4s ease;
  background: transparent;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}

/* Always make nav legible — start with light version over hero */
nav.on-dark {
  background: transparent;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}
nav.scrolled {
  background: linear-gradient(to bottom, rgba(26,26,26,0.92) 0%, rgba(26,26,26,0.85) 70%, rgba(26,26,26,0.6) 100%);
  -webkit-backdrop-filter: saturate(180%) blur(24px);
  backdrop-filter: saturate(180%) blur(24px);
  padding: 16px 60px;
  box-shadow: 0 1px 0 rgba(248,245,240,0.06), 0 4px 20px rgba(0,0,0,0.3);
}

.nav-brand {
  display: flex; flex-direction: column;
  text-decoration: none; line-height: 1;
}
.nav-brand-name {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: 1.05rem;
  color: var(--ivory);
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.nav-brand-sub {
  font-size: 0.72rem;
  font-weight: 300;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-top: 4px;
}

.nav-links {
  display: flex; gap: 40px; list-style: none;
}
.nav-links a {
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(248,245,240,0.95);
  text-decoration: none;
  position: relative;
  transition: color 0.25s;
}
.nav-links a::after {
  content: '';
  position: absolute; bottom: -3px; left: 0; right: 100%;
  height: 1px; background: var(--gold-lt);
  transition: right 0.3s ease;
}
.nav-links a:hover { color: var(--ivory); }
.nav-links a:hover::after { right: 0; }
.nav-links a.active { color: var(--gold-lt); }
.nav-links a.active::after { right: 0; }

.nav-cta {
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--charcoal);
  background: var(--ivory);
  padding: 11px 26px;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
  border: 1px solid var(--ivory);
  white-space: nowrap;
}
.nav-cta:hover { background: var(--gold); border-color: var(--gold); color: var(--ivory); }

/* Mobile menu toggle — uses <label> for CSS-only operation */
.nav-toggle {
  display: none;
  flex-direction: column; gap: 5px;
  cursor: pointer; padding: 14px;
  min-width: 48px; min-height: 48px;
  align-items: center; justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  position: relative;
  z-index: 210;
}
.nav-toggle span {
  display: block; width: 24px; height: 1.5px;
  background: var(--ivory); transition: all 0.3s;
  pointer-events: none;
}

/* CSS-ONLY HAMBURGER MECHANISM — works without JavaScript */
/* IMPORTANT: Do NOT use display:none — iOS Safari ignores label taps for hidden checkboxes */
#nav-check {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important; height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
#nav-check:checked ~ .nav-drawer { display: flex !important; }

/* Mobile drawer */
.nav-drawer {
  display: none;
  position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 300;
  background: rgba(26,26,26,0.97);
  flex-direction: column; justify-content: center; align-items: center;
  gap: 36px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.nav-drawer.open { display: flex !important; }
.nav-drawer a {
  font-size: 1.1rem;
  font-weight: 300;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ivory);
  text-decoration: none;
  font-family: 'Playfair Display', serif;
  transition: color 0.2s;
  padding: 12px 24px;
  min-height: 48px;
  display: flex; align-items: center;
  -webkit-tap-highlight-color: transparent;
}
.nav-drawer a:hover { color: var(--gold-lt); }
.nav-drawer-close {
  position: absolute; top: 20px; right: 20px;
  color: var(--light); font-size: 1.5rem; cursor: pointer;
  background: none; border: none;
  font-family: 'DM Sans', sans-serif; line-height: 1;
  min-width: 48px; min-height: 48px;
  display: flex; align-items: center; justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* ─── HERO ───────────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 0;
}
.hero-photo {
  position: absolute; inset: 0;
  background-image: url("images/private-jet-snow-airstairs-winter-detailing-aspen.jpg");
  background-size: cover;
  background-position: center 35%;
}
.hero-overlay {
  position: absolute; inset: 0;
  pointer-events: none;
  background: linear-gradient(
    110deg,
    rgba(20,18,15,0.92) 0%,
    rgba(20,18,15,0.78) 50%,
    rgba(20,18,15,0.30) 100%
  );
}
.hero-content {
  position: relative; z-index: 2;
  padding: max(120px, 15vh) 80px 80px;
  max-width: 720px;
  animation: fadeRise 1.1s cubic-bezier(0.22,1,0.36,1) 0.3s both;
}
@keyframes fadeRise {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero-eyebrow {
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: 28px;
  display: flex; align-items: center; gap: 18px;
}
.hero-eyebrow::before {
  content: ''; display: block;
  width: 40px; height: 1px; background: var(--gold);
}

.hero h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 300;
  font-size: clamp(3rem, 5.2vw, 5.2rem);
  line-height: 1.08;
  color: var(--ivory);
  margin-bottom: 28px;
  letter-spacing: -0.01em;
}
.hero h1 em {
  font-style: italic; color: var(--gold-lt);
}

.hero-body {
  font-size: 1.08rem;
  font-weight: 200;
  line-height: 1.95;
  color: rgba(248,245,240,0.65);
  max-width: 440px;
  margin-bottom: 48px;
}

.hero-actions {
  display: flex; align-items: center; gap: 36px; flex-wrap: wrap;
}
.btn-primary {
  font-size: 0.78rem; font-weight: 400;
  letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--charcoal); background: var(--ivory);
  min-height: 48px; display: inline-flex; align-items: center;
  padding: 16px 36px; text-decoration: none;
  border: 1px solid var(--ivory);
  transition: background 0.3s, border-color 0.3s, color 0.3s;
  display: inline-block;
}
.btn-primary:hover { background: var(--gold); border-color: var(--gold); color: var(--ivory); }

.btn-text {
  font-size: 0.78rem; font-weight: 300;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(248,245,240,0.65); text-decoration: none;
  display: flex; align-items: center; gap: 10px;
  transition: color 0.25s;
}
.btn-text::after { content: '→'; transition: transform 0.25s; }
.btn-text:hover { color: var(--ivory); }
.btn-text:hover::after { transform: translateX(4px); }

.hero-locations {
  position: relative; z-index: 2;
  display: flex; border-top: 1px solid var(--rule-lt);
}
.hero-loc {
  flex: 1; padding: 24px 0 24px 80px;
  border-right: 1px solid var(--rule-lt);
}
.hero-loc:last-child { border-right: none; }
.hero-loc-code {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem; font-weight: 300;
  color: var(--ivory); letter-spacing: 0.08em;
}
.hero-loc-name {
  font-size: 0.78rem; font-weight: 300;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(248,245,240,0.45); margin-top: 5px;
}

/* ─── STATEMENT ──────────────────────────────────────────── */
#statement {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  padding: 140px 80px;
  text-align: center;
  position: relative; overflow: hidden;
}
/* v23: removed cabin photo from statement */









.statement-inner {
  position: relative;
  z-index: 1;
}
#statement::before {
  content: 'AAD';
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Playfair Display', serif;
  font-size: 28vw; font-weight: 300;
  color: rgba(255,255,255,0.03);
  letter-spacing: 0.15em;
  pointer-events: none; user-select: none;
  white-space: nowrap;
}
.statement-inner { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; }
.statement-quote {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.5rem, 2.6vw, 2.3rem);
  font-weight: 300; font-style: italic;
  color: var(--ivory);
  line-height: 1.6; letter-spacing: 0.01em;
}
.REMOVED_ATTR {
  margin-top: 36px;
  font-size: 0.78rem; font-weight: 300;
  letter-spacing: 0.38em; text-transform: uppercase;
  color: var(--gold);
}

/* ─── PHOTO GALLERY ──────────────────────────────────────── */
#gallery {
  display: flex; height: 360px; overflow: hidden;
  background: var(--charcoal);
}
.gallery-panel {
  flex: 1; overflow: hidden; position: relative;
  transition: flex 0.4s ease;
}
.gallery-panel:hover { flex: 1; }
.gallery-panel img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  opacity: 0.92;
  transition: opacity 0.4s ease;
}
.gallery-panel:hover img { opacity: 0.7; }

/* ─── SECTION BASE ───────────────────────────────────────── */
section { padding: 100px 80px; }
.section-eyebrow {
  font-size: 0.78rem; font-weight: 400;
  letter-spacing: 0.4em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
  display: flex; align-items: center; gap: 14px;
}
.section-eyebrow::before {
  content: ''; display: block;
  width: 30px; height: 1px; background: var(--gold);
}
.section-h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 300; font-size: clamp(2.2rem, 3.5vw, 3rem);
  line-height: 1.15; color: var(--charcoal);
  letter-spacing: -0.01em;
}
.section-sub {
  font-size: 0.9rem; font-weight: 200;
  line-height: 2; color: var(--mid);
  max-width: 520px; margin-top: 20px;
}

/* ─── BASED AIRCRAFT PROGRAM ─────────────────────────────── */
#based {
  background: var(--charcoal);
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  overflow: hidden;
}
.based-photo {
  position: relative; overflow: hidden;
}
.based-photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  opacity: 0.75;
  transition: transform 0.8s ease;
}
#based:hover .based-photo img { opacity: 0.85; }
.based-photo-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, transparent 60%, rgba(26,26,26,0.7));
}
.based-content {
  padding: 80px 72px;
  display: flex; flex-direction: column; justify-content: center;
}
.based-eyebrow {
  font-size: 0.78rem; font-weight: 400;
  letter-spacing: 0.4em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 20px;
  display: flex; align-items: center; gap: 14px;
}
.based-eyebrow::before {
  content: ''; display: block;
  width: 28px; height: 1px; background: var(--gold);
}
.based-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 300; line-height: 1.15;
  color: var(--ivory); margin-bottom: 24px;
  letter-spacing: -0.01em;
}
.based-h2 em { font-style: italic; color: var(--gold-lt); }
.based-body {
  font-size: 1.02rem; font-weight: 200;
  line-height: 2; color: rgba(248,245,240,0.6);
  margin-bottom: 36px; max-width: 420px;
}
.based-features {
  list-style: none; padding: 0;
  display: flex; flex-direction: column; gap: 0;
  margin-bottom: 40px;
  border-top: 1px solid rgba(248,245,240,0.1);
}
.based-features li {
  display: flex; align-items: baseline; gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(248,245,240,0.1);
  font-size: 0.92rem; font-weight: 300;
  color: rgba(248,245,240,0.7); line-height: 1.5;
}
.based-features li::before {
  content: '—'; color: var(--gold);
  flex-shrink: 0; font-size: 0.65rem;
}
.btn-outline {
  display: inline-flex; align-items: center;
  min-height: 48px;
  font-size: 0.78rem; font-weight: 400;
  letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--ivory); text-decoration: none;
  padding: 14px 32px;
  border: 1px solid rgba(248,245,240,0.35);
  transition: border-color 0.3s, background 0.3s;
  align-self: flex-start;
}
.btn-outline:hover {
  border-color: var(--gold); background: rgba(158,125,69,0.12);
}


#services { background: #1a1a1a; position: relative; overflow: hidden; color: var(--ivory); }
#services::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("images/private-jet-engine-ramp-aircraft-detailing-colorado.jpg");
  background-size: cover; background-position: center;
  opacity: 0.10; pointer-events: none;
  filter: brightness(0.7) contrast(1.1);
}
#services > * { position: relative; z-index: 1; }
#services .section-h2 { color: var(--ivory); }
#services .section-sub { color: rgba(248,245,240,0.6); }

.services-credentials {
  max-width: 1100px; margin: 48px auto 0;
  padding: 36px 48px;
  background: linear-gradient(135deg, rgba(248,245,240,0.06) 0%, rgba(248,245,240,0.02) 100%);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(248,245,240,0.08);
  border-radius: 10px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.15), inset 0 1px 0 rgba(248,245,240,0.06);
  position: relative;
  overflow: hidden;
}
.services-credentials::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(158,125,69,0.25), transparent);
}
.credentials-heading {
  font-family: 'Playfair Display', serif;
  font-size: 0.82rem; font-weight: 400;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-lt); margin-bottom: 24px;
  text-align: center;
}
.credentials-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 28px;
}
.credential-item {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 0.88rem; font-weight: 300;
  color: rgba(248,245,240,0.75); line-height: 1.6;
  padding: 10px 14px;
  border-radius: 6px;
  background: rgba(248,245,240,0.04);
  border: 1px solid rgba(248,245,240,0.05);
  transition: background 0.3s, border-color 0.3s;
}
.credential-item:hover {
  background: rgba(248,245,240,0.08);
  border-color: rgba(158,125,69,0.15);
}
.cred-icon {
  width: 20px; height: 20px; flex-shrink: 0;
  color: var(--gold);
  margin-top: 1px;
}
.services-grid {
  max-width: 1100px; margin: 48px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  border: none;
}
.svc-card.primary {
  border-left: 2px solid var(--gold);
}
.svc-card.primary .svc-tag {
  background: rgba(158,125,69,0.12);
  padding: 4px 12px;
  border-radius: 4px;
  display: inline-block;
}

/* Add-ons section */
.addons-section {
  max-width: 1100px; margin: 48px auto 0;
}
.addons-heading {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem; font-weight: 400;
  color: var(--ivory);
  margin-bottom: 6px;
}
.addons-sub {
  font-size: 0.82rem; font-weight: 300;
  color: rgba(248,245,240,0.45);
  margin-bottom: 24px;
}
.addons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.addon-card {
  background: linear-gradient(160deg, rgba(248,245,240,0.04) 0%, rgba(248,245,240,0.015) 100%);
  border: 1px solid rgba(248,245,240,0.08);
  border-radius: 10px;
  padding: 22px 18px;
  transition: background 0.3s, border-color 0.3s;
}
.addon-card:hover {
  background: linear-gradient(160deg, rgba(248,245,240,0.07) 0%, rgba(248,245,240,0.03) 100%);
  border-color: rgba(158,125,69,0.3);
}
.addon-name {
  font-family: 'Playfair Display', serif;
  font-size: 0.95rem; font-weight: 400;
  color: var(--ivory);
  margin-bottom: 8px;
}
.addon-desc {
  font-size: 0.8rem; font-weight: 300;
  line-height: 1.6;
  color: rgba(248,245,240,0.5);
}
.addon-label {
  font-size: 0.78rem; font-weight: 400;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: #D4B06A;
  margin-top: 10px;
}
.svc-card {
  background: linear-gradient(160deg, rgba(248,245,240,0.05) 0%, rgba(248,245,240,0.02) 100%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(248,245,240,0.10);
  border-left: 2px solid transparent;
  border-radius: 12px;
  padding: 32px 28px;
  display: flex; flex-direction: column;
  transition: background 0.3s, border-left-color 0.3s, transform 0.3s, box-shadow 0.3s;
  position: relative;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15), 0 1px 0 rgba(248,245,240,0.04);
}
.svc-card::after {
  content: '';
  display: none;
}
.svc-card:hover {
  background: linear-gradient(160deg, rgba(248,245,240,0.09) 0%, rgba(248,245,240,0.04) 100%);
  border-left-color: var(--gold);
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.25), 0 1px 0 rgba(248,245,240,0.06);
}
.svc-number {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem; font-weight: 300;
  color: rgba(158,125,69,0.45);
  margin-bottom: 6px;
}
.svc-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem; font-weight: 400;
  color: var(--ivory);
  margin-bottom: 16px;
}
.svc-includes {
  list-style: none; padding: 0; margin: 0 0 20px;
}
.svc-includes li {
  font-size: 0.92rem; font-weight: 300;
  line-height: 1.6; color: rgba(248,245,240,0.6);
  padding: 5px 0 5px 20px;
  position: relative;
  border-bottom: 1px solid rgba(248,245,240,0.03);
}
.svc-includes li:last-child { border-bottom: none; }
.svc-includes li::before {
  content: '';
  position: absolute; left: 0; top: 13px;
  width: 5px; height: 5px;
  border: 1px solid rgba(158,125,69,0.5);
  border-radius: 50%;
}
.svc-includes { flex: 1; }
.svc-tag {
  font-size: 0.82rem; font-weight: 400;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-lt);
  padding-top: 10px;
  margin-top: auto;
  border-top: 1px solid rgba(248,245,240,0.06);
}

/* ─── STANDARDS ──────────────────────────────────────────── */
#standards { background: #262420; position: relative; overflow: hidden; color: var(--ivory); }
#standards::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("images/gulfstream-interior-leather-divan-aircraft-detailing-colorado.jpg");
  background-size: cover; background-position: center;
  opacity: 0.08; pointer-events: none;
  filter: brightness(0.6) contrast(1.1);
}
#standards > * { position: relative; z-index: 1; }

/* Section transition gradients removed — all dark sections flow naturally */
#standards .section-h2 { color: var(--ivory); }
#standards .section-sub { color: rgba(248,245,240,0.6); font-size: 1.05rem; line-height: 1.9; max-width: 640px; }
.standards-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-top: 64px;
}
.standard-cell {
  background: linear-gradient(160deg, rgba(248,245,240,0.07) 0%, rgba(248,245,240,0.02) 100%);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(248,245,240,0.07);
  border-radius: 10px;
  padding: 40px 32px;
  transition: background 0.3s, border-color 0.3s, transform 0.3s;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12), inset 0 1px 0 rgba(248,245,240,0.05);
}
.standard-cell:hover {
  background: linear-gradient(160deg, rgba(248,245,240,0.11) 0%, rgba(248,245,240,0.04) 100%);
  border-color: rgba(158,125,69,0.2);
  transform: translateY(-2px);
}
.standard-icon {
  font-family: 'Playfair Display', serif;
  font-size: 0.85rem; font-weight: 400; font-style: italic;
  letter-spacing: 0.15em;
  color: #D4B06A; margin-bottom: 14px; display: block;
}
.standard-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem; font-weight: 400;
  letter-spacing: 0.01em; text-transform: none;
  color: var(--ivory); margin-bottom: 14px;
}
.standard-body {
  font-size: 0.85rem; font-weight: 300;
  line-height: 1.9; color: rgba(248,245,240,0.55);
}

/* ─── PRICING ────────────────────────────────────────────── */
#pricing { background: #1a1a1a; position: relative; overflow: hidden; color: var(--ivory); }
#pricing .section-eyebrow { color: var(--gold-lt); }
#pricing .section-eyebrow::before { background: var(--gold-lt); }
#pricing .section-h2 { color: var(--ivory); }
#pricing .section-sub { color: rgba(248,245,240,0.6); }
.pricing-examples { color: rgba(248,245,240,0.5); }

.pricing-intro { margin-bottom: 16px; }
.pricing-note-top {
  font-size: 0.88rem; font-weight: 300;
  line-height: 1.9; color: rgba(248,245,240,0.55);
  max-width: 600px; margin-top: 14px; 
}
.pricing-grid {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 48px;
}
.pricing-cell {
  background: linear-gradient(160deg, rgba(248,245,240,0.06) 0%, rgba(248,245,240,0.02) 100%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(248,245,240,0.08);
  border-radius: 10px;
  padding: 32px 24px;
  transition: background 0.3s, border-color 0.3s, transform 0.3s, box-shadow 0.3s;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.pricing-cell:hover {
  background: linear-gradient(160deg, rgba(248,245,240,0.10) 0%, rgba(248,245,240,0.04) 100%);
  border-color: rgba(158,125,69,0.25);
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.2);
}
.pricing-aircraft {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem; font-weight: 400;
  color: var(--ivory); margin-bottom: 10px;
}
.pricing-examples {
  font-size: 0.7rem; font-weight: 200;
  letter-spacing: 0.06em; color: var(--light);
  margin-bottom: 28px; line-height: 1.85;
}
.pricing-range {
  font-family: 'Playfair Display', serif;
  font-size: 1.65rem; font-weight: 300;
  color: var(--gold); letter-spacing: -0.01em;
}
.pricing-label {
  font-size: 0.75rem; font-weight: 300;
  letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--light); margin-top: 5px;
}
.pricing-cta {
  display: inline-flex; align-items: center;
  min-height: 48px;
  font-size: 0.75rem; font-weight: 500;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--charcoal); background: var(--gold-lt);
  padding: 16px 44px;
  text-decoration: none;
  transition: background 0.3s;
  margin-top: 8px;
}
.pricing-cta:hover { background: var(--gold); }
.pricing-footer {
  text-align: center;
  padding: 48px 40px 0;
}
.pricing-info {
  font-size: 0.78rem; font-weight: 300;
  line-height: 1.9; color: rgba(26,26,26,0.5);
  letter-spacing: 0.04em;
  margin-bottom: 28px;
}

/* ─── CONTACT ────────────────────────────────────────────── */
#contact {
  background: var(--charcoal);
  padding: 130px 80px;
  position: relative; overflow: hidden;
}
#contact::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("images/private-jet-ramp-aspen-colorado-ase-airport-winter.jpg");
  background-size: cover; background-position: center;
  opacity: 0.07; pointer-events: none;
}
.contact-inner { position: relative; z-index: 1; max-width: 680px; }
.contact-eyebrow {
  font-size: 0.78rem; font-weight: 400;
  letter-spacing: 0.4em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 22px;
  display: flex; align-items: center; gap: 14px;
}
.contact-eyebrow::before {
  content: ''; display: block;
  width: 30px; height: 1px; background: var(--gold);
}
.contact-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.6rem, 4.5vw, 4.2rem);
  font-weight: 300; line-height: 1.1;
  color: var(--ivory); margin-bottom: 20px;
}
.contact-h2 em {
  font-style: italic; color: var(--gold-lt);
}
.contact-sub {
  font-size: 1.05rem; font-weight: 200;
  line-height: 2; color: rgba(248,245,240,0.55);
  margin-bottom: 48px;
}
.contact-grid {
  display: flex; gap: 64px; flex-wrap: wrap;
  padding-top: 52px;
  border-top: 1px solid var(--rule-lt);
}
.contact-item { }
.contact-label {
  font-size: 0.75rem; font-weight: 400;
  letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 10px;
}
.contact-value {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem; font-weight: 300; color: var(--ivory);
}


/* Divider between Pricing and FAQ */
#faq::before {
  content: '';
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(80%, 600px); height: 1px;
  background: linear-gradient(90deg, transparent, rgba(158,125,69,0.35), transparent);
  z-index: 1;
}
/* ─── FAQ ────────────────────────────────────────────────── */
#faq {
  background: var(--charcoal);
  padding: 96px 80px;
  color: var(--ivory);
  position: relative;
}
#faq .section-eyebrow { color: var(--gold-lt); }
#faq .section-eyebrow::before { background: var(--gold-lt); }
#faq .section-h2 { color: var(--ivory); }
#faq .section-h2 em { color: var(--gold-lt); }
#faq .section-sub { color: rgba(248,245,240,0.6); }

.faq-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.faq-list {
  display: flex;
  gap: 0 48px;
}
.faq-col {
  flex: 1;
}
.faq-item {
  border-bottom: 1px solid rgba(248,245,240,0.1);
  transition: background 0.3s;
  padding: 0 16px;
  margin: 0 -16px;
  border-radius: 6px;
}
.faq-item:hover {
  background: rgba(248,245,240,0.04);
}
.faq-question {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--ivory);
  padding: 24px 40px 24px 0;
  cursor: pointer;
  list-style: none;
  position: relative;
  line-height: 1.6;
}
.faq-question::-webkit-details-marker { display: none; }
.faq-question::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 24px;
  font-size: 1.2rem;
  color: var(--gold-lt);
  transition: transform 0.3s ease;
}
details[open] .faq-question::after {
  content: '−';
  transform: rotate(180deg);
}
.faq-answer {
  font-size: 0.85rem;
  font-weight: 300;
  line-height: 1.9;
  color: rgba(248,245,240,0.65);
  padding: 0 40px 0 0;
  max-width: 720px;
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 0.45s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.35s ease,
              padding-bottom 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-answer > * {
  overflow: hidden;
}
details[open] .faq-answer {
  grid-template-rows: 1fr;
  opacity: 1;
  padding-bottom: 28px;
}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer {
  background: #1E1E1E;
  padding: 40px 80px;
  display: flex; justify-content: space-between; align-items: flex-start;
  border-top: 2px solid var(--gold);
  flex-wrap: wrap; gap: 20px;
}
.footer-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.footer-center {
  text-align: center;
}
.footer-name {
  font-family: 'Playfair Display', serif;
  font-size: 1rem; font-weight: 400;
  letter-spacing: 0.05em; color: rgba(248,245,240,0.8);
}
.footer-hours-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(248,245,240,0.5);
}
.footer-hours {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: rgba(248,245,240,0.75);
}
.footer-detail {
  font-size: 0.78rem; font-weight: 300;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: rgba(248,245,240,0.55);
  line-height: 2;
}
.footer-right {
  text-align: right;
}
.footer-social {
  display: flex; gap: 12px; justify-content: flex-end; margin-bottom: 4px;
}
.footer-social a {
  color: rgba(248,245,240,0.5);
  transition: color 0.3s;
}
.footer-social a:hover { color: var(--gold-lt); }
.footer-social svg { width: 18px; height: 18px; }


/* ─── SCROLL REVEAL ──────────────────────────────────────── */
/* Content is VISIBLE by default. JS adds .will-animate to hide,
   then .visible to animate in. If JS fails, everything stays visible. */
.reveal {
  /* visible by default — JS adds will-animate class to enable animation */
}
.reveal.will-animate {
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible { opacity: 1 !important; transform: none !important; }

/* ─── RESPONSIVE: TABLET (≤1024px) ──────────────────────── */





.loc-bar{background:var(--charcoal);border-top:1px solid var(--rule-lt);border-bottom:1px solid var(--rule-lt);padding:0}
.loc-bar-inner{max-width:1200px;margin:0 auto;display:flex}
.loc-card{display:flex;align-items:center;gap:20px;flex:1;padding:28px 40px;text-decoration:none;transition:background .3s;position:relative}
.loc-card:hover{background:rgba(184,148,63,.06)}
.loc-card+.loc-card::before{content:'';position:absolute;left:0;top:20%;height:60%;width:1px;background:var(--rule-lt)}
.loc-code{font-family:'Playfair Display',serif;font-weight:400;font-size:1.6rem;color:var(--gold);letter-spacing:.08em;flex-shrink:0}
.loc-divider{width:1px;height:32px;background:var(--rule-lt);flex-shrink:0}
.loc-detail{display:flex;flex-direction:column;gap:2px}
.loc-name{font-family:'Playfair Display',serif;font-weight:400;font-size:.95rem;color:var(--ivory);letter-spacing:.02em}
.loc-sub{font-size:.7rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--light)}
.loc-arrow{font-size:1.4rem;color:var(--gold);margin-left:auto;opacity:.5;transition:opacity .3s,transform .3s}
.loc-card:hover .loc-arrow{opacity:1;transform:translateX(3px)}
@media(max-width:768px){.loc-bar-inner{flex-direction:column}.loc-card{padding:22px 28px}.loc-card+.loc-card::before{left:28px;top:0;height:1px;width:calc(100% - 56px)}}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:100px;scroll-behavior:smooth;font-size:16px}
:root{--ivory:#F8F5F0;--cream:#EDE8DF;--charcoal:#1A1A1A;--mid:#4A4A4A;--light:#9A9690;--gold:#B8943F;--gold-lt:#D4B06A;--white:#FFFFFF;--rule:rgba(26,26,26,0.1);--rule-lt:rgba(248,245,240,0.12)}
body{font-family:'DM Sans',sans-serif;background:#1a1a1a;color:var(--charcoal);overflow-x:hidden;-webkit-overflow-scrolling:touch;margin:0;padding:0}
img{display:block;max-width:100%}
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:24px 60px;transition:background .4s,padding .4s,box-shadow .4s,backdrop-filter .4s;background:transparent;backdrop-filter:blur(0)}
.nav-brand-text{display:flex;flex-direction:column;align-items:flex-start}
a.nav-brand{display:flex;align-items:center;gap:12px;flex-direction:row;text-decoration:none;line-height:1}
.nav-logo-block{width:44px;height:44px;background:#1A1A1A;border:1px solid #B8943F;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;flex-shrink:0}
.nav-logo-aad{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;letter-spacing:.04em;color:#B8943F;line-height:.82;margin-bottom:-1px}
nav.on-dark{background:transparent;backdrop-filter:blur(0)}
.nav-brand{display:flex;flex-direction:column;text-decoration:none;line-height:1}
.nav-brand-name{font-family:'Playfair Display',serif;font-weight:400;font-size:1.05rem;color:var(--ivory);letter-spacing:.08em;white-space:nowrap}
.nav-brand-sub{font-size:.72rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-lt);margin-top:4px}
.nav-links{display:flex;gap:40px;list-style:none}
.nav-links a{font-size:.65rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(248,245,240,.95);text-decoration:none;position:relative;transition:color .25s}
.nav-cta{font-size:.6rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--charcoal);background:var(--ivory);padding:11px 26px;text-decoration:none;transition:background .3s,color .3s;border:1px solid var(--ivory);white-space:nowrap}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:14px;min-width:48px;min-height:48px;align-items:center;justify-content:center}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--ivory);transition:all .3s;pointer-events:none}
#nav-check{position:absolute!important;opacity:0!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
.nav-drawer{display:none}
.hero{min-height:100vh;min-height:100svh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:0}
.hero-photo{position:absolute;inset:0;background-image:url("images/private-jet-ramp-aspen-colorado-ase-airport-winter.webp");background-size:cover;background-position:center 35%}
.hero-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(20,18,15,.92) 0%,rgba(20,18,15,.78) 50%,rgba(20,18,15,.30) 100%)}
.hero-content{position:relative;z-index:2;padding:max(120px,15vh) 80px 80px;max-width:720px;animation:fadeRise 1.1s cubic-bezier(.22,1,.36,1) .3s both}
@keyframes fadeRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.hero-eyebrow{font-size:.62rem;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:28px;display:flex;align-items:center;gap:18px}
.hero-eyebrow::before{content:'';display:block;width:40px;height:1px;background:var(--gold)}
.hero h1{font-family:'Playfair Display',serif;font-weight:300;font-size:clamp(3rem,5.2vw,5.2rem);line-height:1.08;color:var(--ivory);margin-bottom:28px;letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--gold-lt)}
.hero-body{font-size:1.08rem;font-weight:200;line-height:1.95;color:rgba(248,245,240,.65);max-width:440px;margin-bottom:48px}
.hero-actions{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.btn-primary{font-size:.78rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--charcoal);background:var(--ivory);min-height:48px;display:inline-flex;align-items:center;padding:16px 36px;text-decoration:none;border:1px solid var(--ivory);transition:background .3s,border-color .3s,color .3s}
.btn-text{font-size:.78rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:rgba(248,245,240,.7);text-decoration:none;transition:color .25s;display:inline-flex;align-items:center;min-height:48px;padding:12px 0}
.hero-locations{position:relative;z-index:2;display:flex;gap:80px;padding:0 80px 0px}
.hero-loc-code{font-family:'Playfair Display',serif;font-weight:400;font-size:1.3rem;color:var(--ivory);letter-spacing:.05em}
.hero-loc-name{font-size:.7rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:rgba(248,245,240,.4);margin-top:4px}
.skip-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--charcoal);padding:12px 24px;z-index:9999;font-size:.9rem}
.skip-link:focus{top:8px}


.footer-right {
    text-align: right;
}
.footer-social {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-bottom: 4px;
}
.footer-social a {
    color: rgba(248, 245, 240, 0.5);
    transition: color 0.3s;
}
.footer-social a:hover {
    color: var(--gold-lt);
}
.footer-social svg {
    width: 18px;
    height: 18px;
}
.reveal {
}
.reveal.will-animate {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}
.reveal.visible {
    opacity: 1 !important;
    transform: none !important;
}
.nav-links {
    margin-top: 0px !important;
}
.nav-links li {
    display: flex;
    align-items: center;
    justify-content: center;
}
.qt-badge{
  color:#ffbe26!important;
}

@media (max-width: 1366px) {
  
    .nav-links a {
        padding: 5px 7px !important;
    }
    .nav-cta {
        padding: 11px;
        letter-spacing: 0.15em;
    }
    .nav-links {
        gap: 20px;
    }
    .nav-brand-name {
        font-size: 0.9rem;
    }
    .nav-brand-sub {
        font-size: 0.6rem;
    }
    .nav-links {
        margin-top: 0px;
    }
}
@media (max-width: 1200px) {
  .aircraft-glass-grid{
    grid-template-columns: repeat(3 ,1fr)!important;
  }
    .nav-links a {
        font-size: 0.55rem;
        letter-spacing: 0.18em;
    }
    .nav-links {
        gap: 15px;
    }
}
@media (max-width: 1024px) {

    .nav-links > li:nth-child(1) a {
        padding-left: 0px !important;
    }
    html {
        scroll-padding-top: 120px;
    }
    nav,
    nav.scrolled,
    nav.on-dark {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 99999 !important;
        padding: 16px 28px 0;
        flex-wrap: wrap;
        background: rgba(26, 26, 26, 0.95) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        backdrop-filter: blur(20px) !important;
        box-shadow:
            0 1px 0 rgba(248, 245, 240, 0.06),
            0 4px 16px rgba(0, 0, 0, 0.25) !important;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    nav.scrolled {
        padding: 12px 28px 0;
    }
    body {
        padding-top: 110px;
    }
    .hero {
        margin-top: -110px;
        padding-top: 110px;
    }
    .nav-links {
        display: flex !important;
        order: 3;
        width: 100%;
        gap: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 10px 0 10px;
        margin-top: 8px;
        border-top: 1px solid rgba(248, 245, 240, 0.08);
    }
    .nav-links::-webkit-scrollbar {
        display: none;
    }
    .nav-links li {
        flex-shrink: 0;
    }
    .nav-links a {
        font-size: 0.58rem;
        letter-spacing: 0.18em;
        padding: 6px 14px;
        white-space: nowrap;
    }
    .nav-cta {
        display: none !important;
    }
    .nav-toggle {
        display: none !important;
    }
    .nav-drawer {
        display: none !important;
    }
    section {
        padding: 80px 40px;
    }
    #statement {
        padding: 90px 40px;
    }
    #contact {
        padding: 100px 40px;
    }
    .based-content {
        padding-bottom: 0px !important;
    }
    .hero-content {
        padding: 0 40px 72px;
    }
    .hero-loc {
        padding-left: 40px;
    }
    #based {
        grid-template-columns: 1fr;
    }
    .based-photo {
        height: 300px;
    }
    .based-photo-overlay {
        background: linear-gradient(to bottom, transparent 40%, rgba(26, 26, 26, 0.7));
    }
    .based-content {
        padding: 56px 40px;
    }
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .steps-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }
    .step-glass-card:last-child {
        grid-column: 1 / -1;
        max-width: 50%;
        margin: 0 auto;
    }
    .addons-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .credentials-items {
        grid-template-columns: repeat(2, 1fr);
    }
    .standards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .pricing-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    #gallery {
        height: 280px;
    }
    .contact-grid {
        gap: 40px;
    }
    .aircraft-glass-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
.qt-callout{max-width:1200px;margin:0 auto 56px;padding:32px 40px;border:1px solid var(--rule-lt);display:flex;align-items:center;gap:32px;position:relative}
  .qt-badge{font-family:'Playfair Display',serif;font-weight:400;font-size:1.1rem;color:var(--gold);letter-spacing:.06em;white-space:nowrap;flex-shrink:0}
  .qt-divider{width:1px;height:40px;background:var(--rule-lt);flex-shrink:0}
  .qt-content{display:flex;flex-direction:column;gap:4px}
  .qt-title{font-family:'Playfair Display',serif;font-weight:400;font-size:1rem;color:var(--ivory);letter-spacing:.02em}
  .qt-desc{font-size:.82rem;font-weight:300;color:var(--light);line-height:1.6}
  .qt-cta{margin-left:auto;font-size:.7rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color .3s}
  .qt-cta:hover{color:var(--ivory)}
  @media(max-width:768px){.qt-callout{flex-direction:column;align-items:flex-start;gap:20px;padding:28px 24px}.qt-divider{width:40px;height:1px}.qt-cta{margin-left:0}}

.qt-callout{
  margin-top: 48px;
  border-radius: 10px;
  max-width: 1100px;
}
@media (max-width: 1024px) {
  html { scroll-padding-top: 120px; }
  
  /* Force sticky nav on tablet */
  nav, nav.scrolled, nav.on-dark {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    padding: 16px 28px 0;
    flex-wrap: wrap;
    background: rgba(26,26,26,0.95) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 0 1px 0 rgba(248,245,240,0.06), 0 4px 16px rgba(0,0,0,0.25) !important;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  nav.scrolled { padding: 12px 28px 0; }
  
  /* Compensate for fixed nav height */
  body { padding-top: 110px; }
  .hero { margin-top: -110px; padding-top: 110px; }

  /* Show links as compact horizontal strip instead of hamburger */
  .nav-links {
    display: flex !important;
    order: 3;
    width: 100%;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 10px 0 10px;
    margin-top: 8px;
    border-top: 1px solid rgba(248,245,240,0.08);
  }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-links li { flex-shrink: 0; }
  .nav-links a {
    font-size: 0.58rem;
    letter-spacing: 0.18em;
    padding: 6px 14px;
    white-space: nowrap;
  }
  .nav-cta { display: none !important; }
  .nav-toggle { display: none !important; }
  .nav-drawer { display: none !important; }

  section { padding: 80px 40px; }
  #statement { padding: 90px 40px; }
  #contact { padding: 100px 40px; }

  .hero-content { padding: 0 40px 72px; }
  .hero-loc { padding-left: 40px; }
  #based { grid-template-columns: 1fr; }
  .based-photo { height: 300px; }
  .based-photo-overlay { background: linear-gradient(to bottom, transparent 40%, rgba(26,26,26,0.7)); }
  .based-content { padding: 56px 40px; }

  .services-grid { grid-template-columns: repeat(2, 1fr); }

  /* Steps grid: 2-col on tablet for better readability */
  .steps-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }
  .step-glass-card:last-child { grid-column: 1 / -1; max-width: 50%; margin: 0 auto; }
  .addons-grid { grid-template-columns: repeat(2, 1fr); }
  .credentials-items { grid-template-columns: repeat(2, 1fr); }
  .standards-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pricing-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  #gallery { height: 280px; }

  .contact-grid { gap: 40px; }
}

/* ─── RESPONSIVE: MOBILE (≤768px) ───────────────────────── */
@media (max-width: 768px) {
  .credentials-items{
    grid-template-columns: 1fr!important;
  }

  .services-credentials{
    padding:25px;
  }
  .aircraft-glass-grid{
    grid-template-columns: repeat(2 ,1fr)!important;
  }
  .faq-list { flex-direction: column; gap: 0; }
  #faq { padding: 64px 24px; }
  .faq-question { font-size: 0.88rem; padding-right: 36px; }
  .faq-answer { font-size: 0.82rem; }

  /* Nav: compact strip with scrollable links */
  /* padding now handled in sticky block below */
  .nav-links {
    display: flex !important;
    gap: 0;
    padding: 10px 0;
    margin-top: 8px;
  }
  .nav-links a { font-size: 0.78rem; font-weight: 400; letter-spacing: 0.15em; padding: 8px 12px; color: rgba(248,245,240,0.95) !important; }

  /* CRITICAL: Force nav sticky on mobile */
  nav, nav.scrolled, nav.on-dark {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 99999 !important;
    background: #1a1a1a !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 1px 0 rgba(248,245,240,0.06), 0 4px 16px rgba(0,0,0,0.25) !important;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: auto;
    padding: 16px 24px 0 !important;
  }
  nav.scrolled {
    padding: 12px 24px 0 !important;
  }
  /* Force nav link brightness on mobile regardless of scroll state */
  nav .nav-links a,
  nav.scrolled .nav-links a,
  nav.on-dark .nav-links a {
    color: rgba(248,245,240,0.95) !important;
    font-weight: 400 !important;
  }
  /* Body padding to compensate for fixed nav height */
  body {
    padding-top: 105px;
  }
  .hero {
    margin-top: -105px;
    padding-top: 105px;
  }
  /* nav.on-dark bg handled in sticky block */
  .nav-insights { display: none; }
  .nav-cta { display: none !important; }
  .nav-toggle { display: none !important; }
  .nav-drawer { display: none !important; }
  .nav-brand-name { font-size: 0.92rem; color: var(--ivory) !important; }
  .nav-brand-sub { font-size: 0.45rem; color: var(--gold-lt) !important; }

  section { padding: 64px 24px; }
  #statement { padding: 72px 24px; }
  #contact { padding: 72px 24px; }

  /* ─── MOBILE FOOTER: centered, spacious, elegant ─── */
  footer {
    padding: 48px 32px;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    text-align: center;
  }
  .footer-col { align-items: center; gap: 8px; }
  .footer-center { text-align: center; }
  .footer-right { text-align: center; }
  .footer-social { justify-content: center; }
  .footer-name { font-size: 1.05rem; }
  .footer-detail { line-height: 2.2; }

  .hero-content { padding: 0 24px 56px; max-width: 100%; }
  .hero h1 { font-size: clamp(2.4rem, 9vw, 3.4rem); }
  .hero-body { font-size: 0.9rem; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 20px; }
  .hero-locations { flex-direction: column; }
  .hero-loc {
    padding: 16px 24px;
    border-right: none; border-bottom: 1px solid var(--rule-lt);
  }
  .hero-loc:last-child { border-bottom: none; }

  .section-h2 { font-size: clamp(2.1rem, 7.5vw, 2.6rem); }
  .section-sub { font-size: 0.88rem; }
  .section-eyebrow { font-size: 0.72rem; letter-spacing: 0.3em; margin-bottom: 18px; }

  #based { grid-template-columns: 1fr; }
  .based-photo { height: 240px; }
  .based-content { padding: 48px 24px; }
  .based-body { max-width: 100%; }

  .pricing-grid { grid-template-columns: 1fr; gap: 10px; }
  .pricing-info { font-size: 0.72rem; }
  .pricing-cell { padding: 32px 24px; }
  .pricing-range { font-size: 1.4rem; }

  #gallery { height: auto; flex-direction: column; }
  .gallery-panel { flex: none; height: 180px; }
  .gallery-panel:hover { flex: none; }

  .contact-grid { gap: 32px; flex-direction: column; }
  .statement-quote { font-size: clamp(1.3rem, 5.5vw, 1.8rem); }

  .credentials-items { grid-template-columns: repeat(2, 1fr); gap: 12px 20px; }
  .services-grid { grid-template-columns: 1fr; gap: 16px; }
  .addons-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .svc-card { padding: 28px 24px; border-radius: 12px; }

  /* Change 4: MUCH brighter service numbers on mobile */
  .svc-number { color: rgba(197,162,101,0.85) !important; font-size: 1.8rem; }

  /* Change 3: Larger roman numerals on mobile */
  .standard-icon { font-size: 1.2rem !important; color: rgba(197,162,101,0.8) !important; letter-spacing: 0.2em; }

  /* Change 1 & 2: Reduce gap below jet types, center text in pricing cells */
  .pricing-grid { margin-bottom: 0 !important; gap: 8px !important; }
  .pricing-cell { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 18px 20px; min-height: auto; }
  .pricing-footer { padding-top: 12px !important; }
  .pricing-examples { margin-bottom: 0 !important; }
  .standards-grid { grid-template-columns: 1fr; gap: 12px; }
  .standard-cell { padding: 32px 24px; }

  .insight-card { padding: 24px 20px; }
  .insight-card h3 { font-size: 0.95rem; }
  #services{
    padding-bottom: 0px;
  }
}

/* ─── RESPONSIVE: SMALL MOBILE (≤480px) ─────────────────── */
@media (max-width: 480px) {
  .aircraft-glass-grid{
    grid-template-columns: 1fr!important;
  }
  .addons-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(2rem, 10vw, 2.8rem); }
  nav, nav.scrolled, nav.on-dark { padding: 14px 18px 0 !important; position: fixed !important; z-index: 99999 !important; background: #1a1a1a !important; }
  nav.scrolled { padding: 10px 16px 0; }
  body { padding-top: 95px; }
  .hero { margin-top: -95px; padding-top: 95px; }
  .nav-brand-name { font-size: 0.85rem; }
  .nav-links a { font-size: 0.75rem; font-weight: 400; letter-spacing: 0.12em; padding: 7px 10px; color: rgba(248,245,240,0.95) !important; }
  section { padding: 52px 20px; }
  #statement { padding: 60px 20px; }
  #contact { padding: 60px 20px; }
  footer { padding: 40px 24px; gap: 28px; }
  .hero-content { padding: 0 20px 48px; }
  .hero-loc { padding-left: 20px; }
  .credentials-items { grid-template-columns: 1fr; }
  .services-credentials { padding: 24px 20px; }

  #faq { padding: 52px 20px; }
  .faq-question { font-size: 0.84rem; }
  .faq-answer { font-size: 0.8rem; }

  /* Change 3 & 4: Even more prominent on small mobile */
  .svc-number { color: rgba(197,162,101,0.9) !important; font-size: 1.9rem !important; }
  .standard-icon { font-size: 1.3rem !important; color: rgba(197,162,101,0.85) !important; }
  .pricing-footer { padding-top: 20px !important; }
}

/* ─── LANDSCAPE PHONE FIX ───────────────────────────────── */
@media (max-height: 500px) and (orientation: landscape) {
  .hero { min-height: 100svh; }
  .hero-content { padding: 0 40px 40px; }
  .hero h1 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .hero-body { font-size: 0.82rem; }
  .hero-actions { flex-direction: row; gap: 16px; }
  .hero-locations { flex-direction: row; }
  .hero-loc { padding: 10px 20px; }
  nav { padding: 16px 24px 0; padding-top: max(16px, env(safe-area-inset-top, 16px)); }
  .nav-links { padding: 6px 0; margin-top: 4px; }
  .nav-links a { font-size: 0.5rem; font-weight: 400; padding: 5px 10px; color: rgba(248,245,240,0.95) !important; }
  section { padding: 48px 40px; }
  .section-h2 { font-size: clamp(1.5rem, 5vw, 2rem); }
  .faq-list { flex-direction: column; }
  .gallery-panel { height: 140px; }
  footer { padding: 32px 40px; gap: 20px; }
}




/* ─── THIN VIEWPORT FIX ─────────────────────────────────── */
@media (max-height: 700px) {
  .hero { min-height: auto; height: auto; }
  .hero-content { padding-top: 110px; padding-bottom: 40px; }
  .hero-locations { display: none; }
}
@media (max-height: 500px) {
  .hero-content { padding-top: 90px; padding-bottom: 30px; }
  .hero h1 { font-size: clamp(1.4rem, 5vw, 2rem); margin-bottom: 16px; }
  .hero-body { font-size: 0.8rem; }
}



/* v16 STYLES */

/* GLOBAL FONT SIZE FLOOR */
.section-sub { font-size: 1.05rem; }
.section-eyebrow { font-size: 0.78rem; }

/* BOLD CABIN REFRESH REFERENCE */
.svc-includes-header {
  font-weight: 600 !important;
  color: var(--gold) !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.02em;
}

/* ADDON CARDS (enlarged) */
.addon-card {
  background: linear-gradient(135deg, rgba(248,245,240,0.06) 0%, rgba(248,245,240,0.02) 100%);
  border: 1px solid rgba(248,245,240,0.1);
  border-radius: 12px;
  padding: 28px 24px;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}
.addon-card:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  background: linear-gradient(135deg, rgba(248,245,240,0.1) 0%, rgba(248,245,240,0.04) 100%);
}
.addon-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--ivory);
  margin-bottom: 10px;
}
.addon-desc {
  font-size: 0.92rem;
  color: rgba(248,245,240,0.7);
  line-height: 1.65;
  margin-bottom: 12px;
  flex: 1;
}
.addon-label {
  font-size: 0.78rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #D4B06A;
  margin-top: auto;
}
.addons-heading {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  color: var(--ivory);
}
.addons-sub {
  font-size: 0.92rem;
  color: rgba(248,245,240,0.5);
}

/* CHEMISTRY TRUST (inside services) */
.chemistry-trust {
  max-width: 860px;
  margin: 40px auto 40px;
}
.chem-trust-inner {
  background: rgba(248,245,240,0.04);
  border: 1px solid rgba(248,245,240,0.1);
  border-radius: 14px;
  padding: 36px 32px;
  text-align: center;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.chem-trust-heading {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--gold-lt);
  margin-bottom: 14px;
}
.chem-trust-body {
  font-size: 0.92rem;
  color: rgba(248,245,240,0.72);
  line-height: 1.75;
  max-width: 700px;
  margin: 0 auto;
}
.chem-trust-body strong { color: var(--ivory); font-weight: 500; }
.chem-trust-specs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}
.chem-spec {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--gold);
  border: 1px solid rgba(158,125,69,0.3);
  border-radius: 20px;
  padding: 6px 16px;
}

/* HOW IT WORKS - glassmorphism */
#how-it-works {
  position: relative;
  overflow: hidden;
  padding: 100px 28px;
}
.hiw-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1a1a1a 0%, #1e1e1e 40%, #222222 100%);
  z-index: 0;
}
.hiw-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("images/aircraft-approach-sunset-aviation-detailing-roaring-fork.jpg");
  background-size: cover;
  background-position: center 40%;
  opacity: 0.12;
}
.hiw-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(26,26,26,0.85) 0%, rgba(30,30,30,0.65) 40%, rgba(30,30,30,0.65) 70%, rgba(26,26,26,0.9) 100%),
    radial-gradient(ellipse 600px 400px at 20% 50%, rgba(158,125,69,0.06) 0%, transparent 70%),
    radial-gradient(ellipse 500px 300px at 80% 30%, rgba(158,125,69,0.04) 0%, transparent 70%);
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 44px auto 0;
  position: relative;
  z-index: 2;
}
.step-glass-card {
  background: rgba(248,245,240,0.04);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(248,245,240,0.08);
  border-radius: 16px;
  padding: 36px 28px;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}
.step-glass-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(158,125,69,0.4), transparent);
}
.step-glass-card:hover {
  background: rgba(20,20,26,0.8);
  border-color: rgba(158,125,69,0.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.step-number {
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--gold);
  margin-bottom: 14px;
  opacity: 0.9;
}
.step-title {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ivory);
  margin-bottom: 12px;
}
.step-desc {
  font-size: 0.92rem;
  color: rgba(248,245,240,0.6);
  line-height: 1.7;
}
.step-connector { display: none; }

/* AIRCRAFT WE SERVICE - glassmorphism */
#pricing {
  position: relative;
  overflow: hidden;
  padding: 100px 28px;
  background: none;
}
.aircraft-bg {
  position: absolute; inset: 0; z-index: 0;
}
.aircraft-bg::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("images/jet-ramp-service-private-aviation-aspen-rifle.jpg");
  background-size: cover;
  background-position: center 45%;
  opacity: 0.22;
  filter: brightness(0.75) saturate(0.7);
}
.aircraft-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,26,26,0.9) 0%, rgba(26,26,26,0.6) 30%, rgba(26,26,26,0.6) 70%, rgba(26,26,26,0.92) 100%);
}

.aircraft-glass-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  max-width: 1100px;
  margin: 44px auto 0;
  position: relative;
  z-index: 2;
}
.aircraft-glass-card {
  background: rgba(248,245,240,0.04);
  backdrop-filter: blur(16px) saturate(1.8);
  -webkit-backdrop-filter: blur(16px) saturate(1.8);
  border: 1px solid rgba(248,245,240,0.12);
  border-radius: 14px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.15), inset 0 1px 0 rgba(248,245,240,0.06);
  padding: 28px 18px;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
  cursor: default;
}
.aircraft-glass-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(248,245,240,0.15), transparent);
}
.aircraft-glass-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(158,125,69,0) 0%, rgba(158,125,69,0.03) 100%);
  opacity: 0;
  transition: opacity 0.4s;
}
.aircraft-glass-card:hover {
  background: rgba(248,245,240,0.08);
  border-color: rgba(184,148,63,0.35);
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 24px 64px rgba(0,0,0,0.4), 0 0 0 1px rgba(158,125,69,0.15);
}
.aircraft-glass-card:hover::after { opacity: 1; }
.aircraft-glass-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--ivory);
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.aircraft-glass-examples {
  font-size: 0.82rem;
  color: rgba(248,245,240,0.75);
  line-height: 1.7;
  position: relative;
  z-index: 1;
}

/* ABOUT SECTION */
#about {
  padding: 90px 28px;
  background: var(--ivory);
}
.about-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 20px 0 40px;
}
#about .section-eyebrow { color: #8B6914; font-weight: 500; letter-spacing: 0.35em; }
#about .section-eyebrow::before { background: #8B6914; }
#about .section-h2 { color: var(--charcoal); }
.about-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.8;
  margin-top: 18px;
}
.about-body strong { color: var(--charcoal); font-weight: 500; }

/* CONTACT FORM */
.contact-direct {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin: 28px 0 40px;
  flex-wrap: wrap;
}
.contact-form-wrapper {
  max-width: 720px;
  margin: 0 auto 40px;
  background: rgba(248,245,240,0.06);
  border: 1px solid rgba(248,245,240,0.1);
  border-radius: 16px;
  padding: 36px 32px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.form-heading {
  font-family: 'Playfair Display', serif;
  font-size: 1.25rem;
  color: var(--ivory);
  text-align: center;
  margin-bottom: 6px;
}
.form-sub {
  font-size: 0.9rem;
  color: rgba(248,245,240,0.55);
  text-align: center;
  margin-bottom: 28px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}
.form-group { display: flex; flex-direction: column; }
.form-group.full-width { margin-bottom: 18px; }
.form-label {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: rgba(248,245,240,0.9);
  font-weight: 500;
  margin-bottom: 8px;
}
.form-label-note {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 300;
  color: rgba(248,245,240,0.45);
  font-size: 0.82rem;
}
.req { color: var(--gold-lt); }
.form-input {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  color: var(--ivory);
  background: rgba(248,245,240,0.06);
  border: 1px solid rgba(248,245,240,0.15);
  border-radius: 10px;
  padding: 13px 16px;
  transition: border-color 0.2s, background 0.2s;
  width: 100%;
}
.form-input::placeholder { color: rgba(248,245,240,0.35); }
.form-input:focus {
  outline: none;
  border-color: var(--gold);
  background: rgba(248,245,240,0.08);
}
.form-textarea { resize: vertical; min-height: 80px; }
.form-char-count {
  font-size: 0.8rem;
  color: rgba(248,245,240,0.4);
  text-align: right;
  margin-top: 6px;
}
.form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
}
.form-req-note { font-size: 0.82rem; color: rgba(248,245,240,0.4); }
.form-submit {
  cursor: pointer;
  border: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  padding: 14px 32px;
}
select.form-input {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23F8F5F0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
select.form-input option {
  background: var(--charcoal);
  color: var(--ivory);
}
input[type="date"].form-input,
input[type="time"].form-input {
  color-scheme: dark;
}

/* SERVICE SELECTOR (radio cards) */
.service-selector {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.service-option { cursor: pointer; }
.service-option input { display: none; }
.service-option-card {
  background: rgba(248,245,240,0.04);
  border: 1px solid rgba(248,245,240,0.12);
  border-radius: 10px;
  padding: 16px 18px;
  transition: all 0.25s;
}
.service-option-card:hover {
  border-color: rgba(158,125,69,0.4);
  background: rgba(248,245,240,0.06);
}
.service-option input:checked + .service-option-card {
  border-color: var(--gold);
  background: rgba(158,125,69,0.1);
  box-shadow: 0 0 0 1px var(--gold);
}
.service-option-name {
  display: block;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ivory);
  margin-bottom: 3px;
}
.service-option-desc {
  display: block;
  font-size: 0.82rem;
  color: rgba(248,245,240,0.5);
}

/* ADD-ON TOGGLES (pill buttons) */
.addon-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.addon-toggle { cursor: pointer; }
.addon-toggle input { display: none; }
.addon-toggle-label {
  display: inline-block;
  font-size: 0.9rem;
  color: rgba(248,245,240,0.7);
  background: rgba(248,245,240,0.04);
  border: 1px solid rgba(248,245,240,0.12);
  border-radius: 24px;
  padding: 10px 20px;
  transition: all 0.25s;
  font-weight: 400;
}
.addon-toggle-label:hover {
  border-color: rgba(158,125,69,0.4);
  color: var(--ivory);
}
.addon-toggle input:checked + .addon-toggle-label {
  border-color: var(--gold);
  background: rgba(158,125,69,0.12);
  color: var(--gold-lt);
  font-weight: 500;
}

/* MOBILE STICKY BAR */
.mobile-contact-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9999;
  background: var(--charcoal);
  border-top: 1px solid rgba(248,245,240,0.1);
  padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
  gap: 8px;
}
.mcb-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 8px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
  color: rgba(248,245,240,0.8);
  background: rgba(248,245,240,0.06);
  border: 1px solid rgba(248,245,240,0.1);
  transition: all 0.2s;
  min-height: 44px;
}
.mcb-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.mcb-btn.mcb-primary {
  background: var(--gold);
  color: var(--white);
  border-color: var(--gold);
}

.form-submit{
  justify-content: center;
}
/* v16 RESPONSIVE */
@media (max-width: 768px) {
  #location{
    padding:64px 24px!important;
  }
  .mobile-contact-bar { display: flex; }
  footer { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  #contact { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  .steps-grid { grid-template-columns: 1fr; gap: 16px; }
  .aircraft-glass-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr; }
  .service-selector { grid-template-columns: 1fr; }
  .contact-direct { flex-direction: column; align-items: stretch; }
  .contact-direct .btn-primary { text-align: center; justify-content: center; }
  .addons-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .form-input[style*="max-width"] { max-width: 100% !important; }
}
@media (max-width: 480px) {
  .contact-form-wrapper{
    padding:20px 16px!important;
  }
  .aircraft-glass-grid { grid-template-columns: 1fr; }
  .addons-grid { grid-template-columns: 1fr !important; }
}



/* Skip to content link for accessibility */
.skip-link {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gold);
  color: var(--charcoal);
  padding: 12px 24px;
  font-size: 0.85rem;
  font-weight: 500;
  z-index: 100000;
  border-radius: 0 0 8px 8px;
  transition: top 0.2s;
  text-decoration: none;
}
.skip-link:focus {
  top: 0;
}

/* iOS touch optimization — eliminates 300ms tap delay */
a, button, input, select, textarea, label, .faq-question, .service-option, .addon-toggle { touch-action: manipulation; }

/* Clean tap highlight on iOS */
a, button, .service-option, .addon-toggle, .faq-question { -webkit-tap-highlight-color: rgba(184, 148, 63, 0.15); }

/* Prevent iOS Safari auto-zoom on form focus (requires font-size ≥ 16px) */
@media (max-width: 1024px) {
  .form-input, select.form-input, textarea.form-input { font-size: 16px !important; }
}



