.hero {
  box-sizing: border-box !important;
  height: 380px !important;
  min-height: 380px !important;
  max-height: 380px !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  overflow: hidden;
}

.hero h1 {
  font-size: clamp(34px, 3.8vw, 58px) !important;
  line-height: 1.02 !important;
  margin-block: 10px !important;
}

.hero p { font-size: clamp(15px, 1.15vw, 18px) !important; }
.hero-card { padding: 24px !important; }
.hero-card strong { font-size: clamp(19px, 1.7vw, 23px) !important; }
.hero .trust { margin-top: 14px !important; }

dialog { overflow: hidden !important; }
dialog .dialog-head { position: sticky; top: 0; z-index: 4; background: #fff; }
dialog .form { max-height: calc(92vh - 100px); overflow: auto; padding-bottom: 0 !important; }
dialog .form footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5;
  margin-inline: -28px;
  padding: 16px 28px !important;
  background: #fff;
  border-top: 1px solid var(--line, #d8e5f5);
  box-shadow: 0 -12px 24px rgba(14, 42, 77, .07);
}
dialog .form footer button { min-width: 120px; white-space: nowrap; }

@media (max-width: 1000px) {
  .hero { height: auto !important; min-height: 380px !important; max-height: none !important; overflow: visible; }
}

@media (max-width: 650px) {
  .hero { padding: 28px 22px !important; }
  dialog .form footer { margin-inline: -28px; flex-direction: column-reverse; }
  dialog .form footer button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .hero::before, .hero .hero-slides > * { animation: none !important; }
}

/* WCAG 2.2 / responsive hardening shared by Fly market modules. */
html, body { max-width: 100%; overflow-x: clip; }
img, video, canvas, svg { max-width: 100%; height: auto; }
.top, .top > *, main, .hero, .hero > *, .toolbar, .cards, .card { min-width: 0; }
button, a, input, select, textarea { overflow-wrap: anywhere; }
button, .primary, .ghost, nav a { min-height: 44px; }
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #ff6254 !important;
  outline-offset: 3px;
}
@media (max-width: 1000px) {
  .top { height: auto; min-height: 78px; flex-wrap: wrap; padding-block: 12px; }
  .top nav { width: 100%; display: flex; overflow-x: auto; scrollbar-width: thin; order: 3; }
  .top nav button { flex: 0 0 auto; min-height: 44px; }
  .toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 650px) {
  .top { gap: 10px; }
  .top > .primary { max-width: min(48vw, 210px); white-space: normal; }
  .toolbar { grid-template-columns: minmax(0, 1fr) !important; }
  :where(button, a[href], input, select, textarea) { min-width: 44px !important; min-height: 44px !important; }
  .hero h1, .hero p, .hero-card { overflow-wrap: anywhere; }
  main { width: calc(100% - 24px); }
}
