/* ============================================================
   Nova Hero — open editorial (no white card)
   Background pattern shows through. Search is the main action.
   Loads last so site-ui packs cannot restore the old box.
   ============================================================ */

html body .hero.nova-hero,
html body .ipa-hero.nova-hero,
html body.ipa-sitedesign .hero.nova-hero,
html body.ipa-sitedesign .hero {
  padding: 28px 16px 10px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-align: center !important;
}

html body .nova-hero-panel,
html body.ipa-sitedesign .nova-hero-panel,
html body.ipa-sitedesign .hero .nova-hero-panel,
html body.ipa-sitedesign[class*="ipa-sitedesign-site"] .nova-hero-panel,
html body[class*="ipa-sitedesign-site"] .hero .nova-hero-panel,
html body.ipa-sitedesign-site01 .nova-hero-panel,
html body.ipa-sitedesign-site02 .nova-hero-panel,
html body.ipa-sitedesign-site03 .nova-hero-panel,
html body.ipa-sitedesign-site04 .nova-hero-panel,
html body.ipa-sitedesign-site05 .nova-hero-panel {
  --hero-p: var(--sd-p, #2563EB);
  --hero-s: var(--sd-s, #60A5FA);
  --hero-a: var(--sd-a, #93C5FD);
  --hero-ink: var(--sd-head, #0F172A);
  --hero-mute: var(--sd-mute, #64748B);
  --hero-card: #ffffff;
  --hero-grad: var(--sd-grad, linear-gradient(135deg, var(--hero-p) 0%, var(--hero-s) 100%));
  position: relative !important;
  isolation: auto !important;
  overflow: visible !important;
  max-width: 860px !important;
  width: calc(100% - 24px) !important;
  margin: 12px auto 8px !important;
  padding: 8px 8px 6px !important;
  border-radius: 0 !important;
  border: none !important;
  outline: none !important;
  transform: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body .nova-hero-panel::before,
html body .nova-hero-panel::after,
html body.ipa-sitedesign .nova-hero-panel::before,
html body.ipa-sitedesign .nova-hero-panel::after,
html body.ipa-sitedesign[class*="ipa-sitedesign-site"] .nova-hero-panel::before,
html body.ipa-sitedesign[class*="ipa-sitedesign-site"] .nova-hero-panel::after {
  content: none !important;
  display: none !important;
  background: none !important;
  animation: none !important;
  border: none !important;
  box-shadow: none !important;
}

html body .nova-hero-panel > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Stats pill */
html body .nova-hero-panel .stats-wrapper {
  display: flex !important;
  justify-content: center !important;
  margin: 0 0 18px !important;
}

html body .nova-hero-panel .premium-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 4px 6px 4px 4px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid color-mix(in srgb, var(--hero-p) 18%, #e5e7eb) !important;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--hero-p) 12%, rgba(15, 23, 42, 0.04)) !important;
  color: var(--hero-ink) !important;
  text-decoration: none !important;
  transform: none !important;
  backdrop-filter: blur(12px) !important;
}

html body .nova-hero-panel .premium-pill:hover {
  transform: translateY(-1px) !important;
  border-color: color-mix(in srgb, var(--hero-p) 40%, #e5e7eb) !important;
}

html body .nova-hero-panel .pp-icon,
html body .nova-hero-panel .premium-pill .pp-icon,
html body.ipa-sitedesign .nova-hero-panel .pp-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  flex: 0 0 32px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--hero-grad) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--hero-p) 28%, transparent) !important;
}

html body .nova-hero-panel .pp-icon i {
  font-size: 13px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html body .nova-hero-panel .pp-text {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  color: var(--hero-mute) !important;
  -webkit-text-fill-color: var(--hero-mute) !important;
  white-space: nowrap !important;
}

html body .nova-hero-panel .pp-count {
  background: var(--hero-grad) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
}

html body .nova-hero-panel .pp-split {
  width: 1px !important;
  height: 12px !important;
  background: color-mix(in srgb, var(--hero-p) 22%, #d1d5db) !important;
  display: inline-block !important;
}

html body .nova-hero-panel .pp-arrow {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: color-mix(in srgb, var(--hero-p) 10%, #fff) !important;
  color: var(--hero-p) !important;
}
html body .nova-hero-panel .pp-arrow i {
  color: var(--hero-p) !important;
  font-size: 11px !important;
}

/* Title */
html body .nova-hero-panel .hero-title {
  max-width: 780px !important;
  margin: 0 auto 8px !important;
  font-family: var(--sd-font-head, Georgia, "Times New Roman", serif) !important;
  font-size: clamp(1.4rem, 3.2vw, 2.15rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.03em !important;
  color: var(--hero-ink) !important;
  text-transform: none !important;
  background: none !important;
  -webkit-text-fill-color: var(--hero-ink) !important;
  text-shadow: none !important;
}

html body .nova-hero-panel .neu-accent-text,
html body .nova-hero-panel .hero-title .neu-accent-text,
html body .hero-title .neu-accent-text,
html body.ipa-sitedesign .neu-accent-text {
  display: inline !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: var(--hero-p, var(--sd-p, #1D4ED8)) !important;
  -webkit-text-fill-color: var(--hero-p, var(--sd-p, #1D4ED8)) !important;
  font-size: 86% !important;
  font-weight: 700 !important;
}

html body .nova-hero-panel .hero-subtitle,
html body.ipa-sitedesign .nova-hero-panel .hero-subtitle,
html body .nova-hero-panel p.hero-subtitle,
html body .nova-hero-panel .hero-subtitle[data-aos] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  background: none !important;
  background-image: none !important;
  font-weight: 450 !important;
}

/* Search is the main action */
html body .nova-hero-panel .search-wrapper,
html body .nova-hero-panel .cosmic-prompt-editor {
  max-width: 640px !important;
  width: 100% !important;
  margin: 0 auto 16px !important;
  order: 0;
}

html body .nova-hero-panel .search-wrapper form,
html body .nova-hero-panel #searchForm {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 7px 7px 7px 22px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid color-mix(in srgb, var(--hero-p) 22%, #e5e7eb) !important;
  box-shadow:
    0 16px 40px color-mix(in srgb, var(--hero-p) 14%, rgba(15, 23, 42, 0.08)),
    0 1px 0 rgba(255, 255, 255, 1) inset !important;
  animation: none !important;
}

html body .nova-hero-panel .search-input,
html body .nova-hero-panel #ipa-search {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 12px 10px !important;
  font-size: 1rem !important;
  color: var(--hero-ink) !important;
}

html body .nova-hero-panel .search-btn,
html body .nova-hero-panel .search-btn.magnetic-btn {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: var(--hero-grad) !important;
  background-color: var(--hero-p) !important;
  border: none !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--hero-p) 34%, transparent) !important;
}
html body .nova-hero-panel .search-btn i {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 1rem !important;
}

/* CTAs under search */
html body .nova-hero-panel .hero-cta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 auto 18px !important;
}

html body .nova-hero-panel .btn-hero-primary,
html body .nova-hero-panel .btn-hero-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 9px 20px !important;
  border-radius: 999px !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transform: none !important;
}

html body .nova-hero-panel .btn-hero-primary,
html body .nova-hero-panel .neu-cta--primary.btn-hero-primary {
  background: var(--hero-p) !important;
  background-image: none !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--hero-p) 26%, transparent) !important;
}
html body .nova-hero-panel .btn-hero-primary i {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html body .nova-hero-panel .btn-hero-secondary,
html body .nova-hero-panel .neu-cta--secondary.btn-hero-secondary {
  background: rgba(255, 255, 255, 0.82) !important;
  color: var(--hero-ink) !important;
  border: 1px solid color-mix(in srgb, var(--hero-p) 16%, #e5e7eb) !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: blur(10px) !important;
}
html body .nova-hero-panel .btn-hero-secondary i {
  color: var(--hero-p) !important;
}

html body .nova-hero-panel .btn-hero-primary:hover {
  filter: brightness(1.06);
  transform: translateY(-1px) !important;
}
html body .nova-hero-panel .btn-hero-secondary:hover {
  border-color: var(--hero-p) !important;
  color: var(--hero-p) !important;
}

/* Keyword chips — ghost, so the pattern stays visible */
html body .nova-hero-panel .neu-utility-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .nova-hero-panel .neu-utility-nav a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 13px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid color-mix(in srgb, var(--hero-p) 14%, #e5e7eb) !important;
  color: var(--hero-mute) !important;
  font-size: 0.78rem !important;
  font-weight: 650 !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px) !important;
}
html body .nova-hero-panel .neu-utility-nav a:hover {
  border-color: var(--hero-p) !important;
  color: var(--hero-p) !important;
  background: #fff !important;
}

@media (max-width: 767px) {
  html body .nova-hero-panel,
  html body.ipa-sitedesign .hero .nova-hero-panel {
    width: calc(100% - 12px) !important;
    margin: 4px auto 6px !important;
    padding: 4px 4px 2px !important;
  }
  html body .nova-hero-panel .hero-title {
    font-size: clamp(1.32rem, 6.4vw, 1.85rem) !important;
  }
  html body .nova-hero-panel .pp-text { font-size: 11px !important; }
  html body .nova-hero-panel .search-wrapper { max-width: 100% !important; }
}

/* Reorder: title → subtitle → search → buttons → tags */
html body .nova-hero-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
html body .nova-hero-panel .stats-wrapper { order: 0; }
html body .nova-hero-panel .nova-hero-text { order: 1; width: 100%; }
html body .nova-hero-panel .search-wrapper { order: 2; }
html body .nova-hero-panel .hero-cta-row { order: 3; }
html body .nova-hero-panel nav { order: 4; }

/* Search / archive header — readable ink on light pattern */
html body .neu-search-header,
html body.ipa-sitedesign .neu-search-header,
html body.search .ipa-archive-hero {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
  padding: 118px 20px 28px !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}
html body .neu-search-header h1,
html body.search .ipa-archive-hero h1 {
  color: var(--sd-head, #0F172A) !important;
  -webkit-text-fill-color: var(--sd-head, #0F172A) !important;
  background: none !important;
  font-size: clamp(1.55rem, 4.2vw, 2.15rem) !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 10px !important;
}
html body .neu-search-header p,
html body.search .ipa-archive-hero p[itemprop="description"],
html body.search .ipa-archive-hero p {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  background: none !important;
  font-size: 1rem !important;
  font-weight: 450 !important;
  line-height: 1.65 !important;
}
