/* BOOKING-LIQUID-GLASS-V58 — fast consultation entry points and restrained Liquid Glass UI */
:root {
  --aa-v58-ink: #f8fbff;
  --aa-v58-muted: #c9d5e6;
  --aa-v58-navy: #06142d;
  --aa-v58-navy-2: #0b2148;
  --aa-v58-gold: #e3b833;
  --aa-v58-green: #20c979;
  --aa-v58-glass: rgba(10, 29, 62, .62);
  --aa-v58-glass-strong: rgba(6, 20, 45, .88);
  --aa-v58-border: rgba(255, 255, 255, .20);
  --aa-v58-highlight: rgba(255, 255, 255, .38);
}

html.aa-liquid-glass-v58,
html.aa-liquid-glass-v58 body {
  background: #041126 !important;
  color-scheme: dark;
}

html.aa-liquid-glass-v58 body {
  position: relative;
  overflow-x: clip;
}

html.aa-liquid-glass-v58 body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 8%, rgba(57, 142, 255, .22), transparent 32rem),
    radial-gradient(circle at 88% 22%, rgba(31, 211, 133, .13), transparent 27rem),
    radial-gradient(circle at 52% 92%, rgba(227, 184, 51, .15), transparent 32rem),
    linear-gradient(155deg, #030d20 0%, #071a38 52%, #041127 100%);
}

html.aa-liquid-glass-v58 body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .25;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 36px 36px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 85%);
  mask-image: linear-gradient(to bottom, #000, transparent 85%);
}

/* Existing cards keep their meaning and layout; this layer adds depth and optical highlights. */
html.aa-liquid-glass-v58 :is(
  #root nav,
  #root header,
  #root [class*="rounded-2xl"],
  #root [class*="rounded-3xl"],
  main,
  article,
  .card,
  .scope-card,
  .notice,
  .cta,
  .v35-header
) {
  border-color: var(--aa-v58-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 14px 38px rgba(0, 8, 24, .20);
  -webkit-backdrop-filter: saturate(145%) blur(18px);
  backdrop-filter: saturate(145%) blur(18px);
}

html.aa-liquid-glass-v58 :is(button, a, [role="button"]) {
  -webkit-tap-highlight-color: transparent;
}

html.aa-liquid-glass-v58 :is(button, [role="button"], #mobile-quick-topics a) {
  min-width: 0;
  line-height: 1.22;
  text-align: center;
  overflow-wrap: anywhere;
}

html.aa-liquid-glass-v58 :is(button, a, [role="button"]):focus-visible {
  outline: 3px solid rgba(66, 218, 151, .78) !important;
  outline-offset: 3px !important;
}

.aa-brand-link-v58 {
  min-width: 0 !important;
  white-space: nowrap !important;
}

.aa-brand-link-v58 > :is(div, span):last-child > :is(span, strong, p):first-child,
.aa-brand-link-v58 :is(strong, p) {
  min-width: 0;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aa-updated-v58 {
  width: min(100% - 28px, 1180px);
  margin: 18px auto 92px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(8, 25, 55, .58);
  color: #d4deec;
  font: 650 .78rem/1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
  text-align: center;
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}

.aa-booking-overlay-v58 {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  padding: max(18px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  background: rgba(1, 8, 22, .70);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
  animation: aa-v58-overlay-in .2s ease-out both;
}

.aa-booking-dialog-v58 {
  position: relative;
  isolation: isolate;
  width: min(100%, 720px);
  max-height: min(90svh, 820px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.035) 40%),
    rgba(7, 23, 51, .91);
  color: var(--aa-v58-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 32px 90px rgba(0,0,0,.56), 0 0 0 1px rgba(227,184,51,.12);
  -webkit-backdrop-filter: blur(34px) saturate(165%);
  backdrop-filter: blur(34px) saturate(165%);
  animation: aa-v58-dialog-in .26s cubic-bezier(.2,.85,.3,1) both;
}

.aa-booking-dialog-v58::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  height: 45%;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at 18% 0%, rgba(80,165,255,.30), transparent 50%), radial-gradient(circle at 88% 18%, rgba(36,220,139,.16), transparent 42%);
}

.aa-booking-head-v58 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  gap: 12px;
  align-items: start;
  padding: 24px 24px 12px;
}

.aa-booking-eyebrow-v58 {
  margin: 0 0 5px;
  color: #f3cf5e;
  font: 850 .71rem/1.2 system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.aa-booking-title-v58 {
  margin: 0;
  color: #fff !important;
  font: 800 clamp(1.55rem, 4.5vw, 2.25rem)/1.08 Georgia, "Times New Roman", serif;
}

.aa-booking-copy-v58 {
  margin: 8px 0 0;
  color: var(--aa-v58-muted) !important;
  font: 550 .91rem/1.45 system-ui, sans-serif;
}

.aa-booking-close-v58 {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%;
  background: rgba(255,255,255,.09);
  color: #fff;
  font: 500 1.6rem/1 system-ui, sans-serif;
  cursor: pointer;
}

.aa-booking-form-v58 {
  display: grid;
  gap: 14px;
  padding: 12px 24px 24px;
}

.aa-booking-grid-v58 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.aa-field-v58 {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.aa-field-v58--wide { grid-column: 1 / -1; }

.aa-field-v58 > span {
  color: #edf4ff;
  font: 760 .78rem/1.2 system-ui, sans-serif;
}

.aa-field-v58 :is(input, select, textarea) {
  width: 100%;
  min-height: 50px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 15px;
  background: rgba(255,255,255,.10);
  color: #fff;
  padding: 12px 14px;
  font: 560 16px/1.35 system-ui, sans-serif;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.aa-field-v58 select option { color: #07162f; background: #fff; }
.aa-field-v58 textarea { min-height: 82px; resize: vertical; }
.aa-field-v58 :is(input, select, textarea)::placeholder { color: #aebdd2; opacity: 1; }
.aa-field-v58 :is(input, select, textarea):focus { border-color: rgba(50,224,140,.84); outline: 3px solid rgba(50,224,140,.18); }

.aa-booking-trust-v58 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aa-booking-trust-v58 li {
  flex: 1 1 150px;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 13px;
  background: rgba(255,255,255,.06);
  color: #dce7f5;
  font: 650 .72rem/1.25 system-ui, sans-serif;
  text-align: center;
}

.aa-booking-submit-v58 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 54px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 17px;
  background: linear-gradient(135deg, #24ce7c, #0b9860);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 14px 32px rgba(20,190,111,.28);
  font: 850 .96rem/1.2 system-ui, sans-serif;
  cursor: pointer;
}

.aa-booking-submit-v58:hover { filter: brightness(1.08); transform: translateY(-1px); }
.aa-booking-submit-v58:active { transform: translateY(0) scale(.99); }

body.aa-booking-open-v58 { overflow: hidden !important; }

@media (min-width: 1024px) {
  /* Keep every credential in the compact desktop brand subline. Legacy
     typography rules target nested spans broadly and otherwise enlarge the
     first credential until it overlaps the remaining verification text. */
  nav a[href="#home"] > div:last-child > span:nth-child(2),
  nav a[href="#home"] > div:last-child > span:nth-child(2) > span {
    font-size: 9px !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 760px) {
  #root {
    position: relative;
  }
  #root nav > div {
    flex-direction: row !important;
    gap: 8px;
  }
  #root nav > div > a:first-child,
  #root nav > div > .aa-brand-link-v58 {
    order: 0 !important;
    flex: 1 1 auto !important;
    max-width: calc(100% - 58px);
    justify-content: flex-start;
  }
  #root nav > div > a:first-child + ul + div,
  #root nav > div > .aa-brand-link-v58 + ul + div {
    order: 1 !important;
    margin-left: auto;
  }
  #root nav > div > a:first-child > :is(div, span):last-child > :is(span, strong, p):first-child {
    min-width: 0;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(.72rem, 3.35vw, .90rem) !important;
  }
  #root nav button[aria-label="Toggle menu"] {
    border: 1px solid rgba(255,255,255,.22) !important;
    background: rgba(255,255,255,.10) !important;
    color: #f3cf5e !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 8px 24px rgba(0,0,0,.18);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
  }
  .aa-brand-link-v58 > :is(div, span):last-child > :is(span, strong, p):first-child,
  .aa-brand-link-v58 > :is(span, strong, p):first-child { font-size: clamp(.72rem, 3.35vw, .90rem) !important; }

  /* These two dynamic modules occupy a known 360px zone. Keeping them out of
     normal flow prevents their hydration/mounting from moving the hero. */
  #mobile-quick-topics {
    position: absolute !important;
    inset: 64px 0 auto !important;
    z-index: 37 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  #mobile-quick-topics + .aa-verification-ribbon-v57,
  #root .aa-verification-ribbon-v57 {
    position: absolute !important;
    inset: 224px 0 auto !important;
    z-index: 36 !important;
    width: 100% !important;
  }
    #root #home {
      margin-top: 200px !important;
    }

  /* Preserve optical glass highlights without repeating costly live blur on
     every below-fold card on resource-constrained mobile devices. */
  html.aa-liquid-glass-v58 :is(
    #root [class*="rounded-2xl"],
    #root [class*="rounded-3xl"],
    main,
    article,
    .card,
    .scope-card,
    .notice,
    .cta
  ) {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .aa-booking-overlay-v58 { align-items: end; padding: 8px 8px max(8px, env(safe-area-inset-bottom)); }
  .aa-booking-dialog-v58 { width: 100%; max-height: 92svh; border-radius: 25px; }
  .aa-booking-head-v58 { padding: 19px 17px 10px; }
  .aa-booking-form-v58 { padding: 10px 17px 20px; }
  .aa-booking-grid-v58 { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .aa-field-v58--wide { grid-column: auto; }
  .aa-booking-trust-v58 li { flex-basis: 120px; }
  #mobile-quick-topics :is(a, button) { min-height: 48px; padding-inline: 8px !important; }
  .aa-updated-v58 { margin-bottom: 110px; }
}

@media (prefers-reduced-motion: reduce) {
  .aa-booking-overlay-v58,
  .aa-booking-dialog-v58 { animation: none; }
  .aa-booking-submit-v58 { transition: none; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .aa-booking-overlay-v58 { background: rgba(1,8,22,.92); }
  .aa-booking-dialog-v58 { background: #081a38; }
}

@keyframes aa-v58-overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes aa-v58-dialog-in { from { opacity: 0; transform: translateY(20px) scale(.985); } to { opacity: 1; transform: none; } }
