.page-hero > div {
  background: linear-gradient(135deg, #090d18 0%, #0c2a52 58%, #006b91 160%);
}

.page-hero img,
.search-hero img {
  filter: saturate(1.28) contrast(1.08);
}

main > .section.band {
  background: linear-gradient(90deg, rgba(9,13,24,.94), rgba(5,72,108,.76)),
    url('cinematic-film-reel.webp?ver=1.2.4') center/cover;
  color: #fff;
}

main > .section:not(.dark):not(.band):not(.search-workspace):not(.solutions):not(.automation):not(.method):not(.access):not(.lead-magnet) {
  background: linear-gradient(rgba(255,255,255,.93), rgba(255,255,255,.95)),
    url('music-studio-energy.webp?ver=1.2.4') center/cover fixed;
  color: #090d18;
}

main > .section.dark {
  background: linear-gradient(90deg, rgba(9,13,24,.96), rgba(9,13,24,.68)),
    url('film-set-energy.webp?ver=1.2.4') center/cover;
  color: #fff;
}

.search-hero > div {
  background: linear-gradient(135deg, #090d18, #0c2a52);
}

.search-workspace {
  background: linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.96)),
    url('cinematic-film-reel.webp?ver=1.2.4') center/cover fixed;
  color: #090d18;
}

.card,
.price,
.article-card,
.contact-form {
  background: rgba(255,255,255,.96);
  color: #090d18;
  backdrop-filter: blur(8px);
}

.article-card {
  box-shadow: 9px 9px 0 #00c8e8;
}

.price.featured {
  background: #090d18;
  color: #fff;
  box-shadow: 10px 10px 0 #00c8e8;
}

.price.featured h3,
.price.featured p {
  color: #fff;
}

.button {
  background: #090d18;
}

.button:hover {
  background: #165dff;
}

.eyebrow {
  color: #134ed0;
}

.dark .eyebrow,
.band .eyebrow,
.page-hero .eyebrow,
.solutions .eyebrow,
.automation .eyebrow,
.method .eyebrow,
.access .eyebrow,
.lead-magnet .eyebrow {
  color: #60e7ff;
}

.page-hero,
.search-hero,
.page-hero > div,
.search-hero > div {
  color: #fff;
}

.page-hero h1,
.page-hero p,
.search-hero h1,
.search-hero p,
.dark h1,
.dark h2,
.dark h3,
.dark p,
.band h1,
.band h2,
.band h3,
.band p {
  color: inherit;
}

@media (max-width: 850px) {
  main > .section:not(.dark):not(.band):not(.search-workspace):not(.solutions):not(.automation):not(.method):not(.access):not(.lead-magnet),
  .search-workspace {
    background-attachment: scroll;
  }
}

/* Keep public pages self-contained: no third-party font request is required. */
body,
button,
input,
select,
textarea {
  font-family: Inter, Aptos, "Segoe UI", system-ui, -apple-system, sans-serif;
}

h1,
h2,
h3 {
  overflow-wrap: break-word;
  text-wrap: balance;
}

p,
li {
  overflow-wrap: anywhere;
}

.hero h1 em {
  font-family: Georgia, "Times New Roman", serif;
}

.noscript-notice {
  margin: 18px 0;
  padding: 16px 18px;
  color: #5f4309;
  background: #fff8df;
  border: 1px solid #d7b45f;
  font-weight: 700;
}

.demo-sample-banner {
  margin: 0;
  padding: 15px 18px !important;
  color: #5f4309 !important;
  background: #fff3c4;
  border: 3px solid #9a6700;
  font-size: 14px;
  font-weight: 800;
}

.dialog-close {
  min-width: 44px;
  min-height: 44px;
}

html.mfl-public-dialog-open,
body.mfl-public-dialog-open {
  overflow: hidden;
  overscroll-behavior: none;
}

body.mfl-public-dialog-open {
  touch-action: none;
}

body.mfl-public-dialog-open > :not(dialog):not(script):not(style):not(link):not(.mfl-public-dialog-backdrop) {
  pointer-events: none;
  user-select: none;
}

.mfl-public-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 99;
  background: rgba(3, 10, 15, 0.76);
  cursor: pointer;
}

.mfl-public-dialog-backdrop[hidden] {
  display: none;
}

.contract-dialog,
.agreement-dialog {
  overflow: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.dialog-close:focus-visible {
  outline: 3px solid #1354d4;
  outline-offset: 3px;
}

.search-field > label {
  display: block;
  margin: 0 0 8px;
  color: #101820;
  font-size: 14px;
  font-weight: 800;
}

.search-field .search-box {
  margin: 0;
}

.home-search-field {
  margin: 22px;
}

.home-search-field > label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 800;
}

.home-search-field .search {
  margin: 0;
}

.audience-switch a {
  border: 1px solid #53606a;
  background: transparent;
  color: #fff;
  padding: 13px 18px;
  font: 600 14px Inter, Aptos, "Segoe UI", system-ui, sans-serif;
  cursor: pointer;
}

.audience-switch a.active {
  background: #d9f23b;
  color: #101820;
  border-color: #d9f23b;
}

.audience-switch a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.price-row,
.article-grid {
  margin-top: 42px;
}

.price h3 {
  display: grid;
  gap: 7px;
  margin: 20px 0 16px;
}

.price .plan-name {
  font: 800 20px/1.15 Inter, Aptos, "Segoe UI", system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.price .plan-price {
  font: 800 38px/1 Inter, Aptos, "Segoe UI", system-ui, sans-serif;
  letter-spacing:0;
}

.contract-dialog.contract-dialog--fallback,
.agreement-dialog.agreement-dialog--fallback {
  display: block;
  position: fixed;
  inset: 5vh auto auto 50%;
  z-index: 100;
  max-height: 90vh;
  transform: translateX(-50%);
  overflow: auto;
  border: 2px solid #101820;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.4);
  pointer-events: auto;
}

.price-grid,
.price-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1150px) {
  .price-grid,
  .price-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .price-grid,
  .price-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .page-hero h1,
  .search-hero h1,
  .directory-hero h1 {
    font-size: 34px;
    line-height: 1.12;
    letter-spacing: 0;
  }

  .section h2,
  .method h2,
  .access h2,
  .pricing-head h2,
  .automation-head h2 {
    font-size: 30px;
    line-height: 1.12;
    letter-spacing: 0;
  }
}

/* Shared keyboard and high-contrast safeguards for every public page. */
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 12px 16px;
  color: #fff;
  background: #090d18;
  border: 3px solid #60e7ff;
  font-weight: 800;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #165dff;
  outline-offset: 3px;
}

[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (forced-colors: active) {
  .skip-link,
  .button,
  button,
  input,
  select,
  textarea,
  .card,
  .price,
  .article-card {
    border: 2px solid CanvasText;
  }

  :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid Highlight;
  }
}

/* v1.2.4.3: touched section headings precede local labels in DOM and visual order. */
main h2:has(+ .eyebrow){margin-bottom:10px}
main h2 + .eyebrow{display:block;line-height:1.3;margin:0 0 18px}
