/*
 * Shared gradient layer for every patterned surface.
 * Pattern artwork remains in each component's existing pseudo-element.
 */

.fs-ui-pattern-surface {
  background:
    radial-gradient(ellipse 72% 64% at 100% 0%, rgb(214 0 1 / .055) 0%, transparent 70%),
    linear-gradient(180deg, var(--fs-background) 0%, color-mix(in srgb, var(--fs-background) 96%, var(--fs-primary)) 100%);
}

body.fs-inner-marketing #main-content > section.bg-brand-ink {
  background:
    radial-gradient(ellipse 72% 82% at 58% 42%, rgb(214 0 1 / .18) 0%, transparent 68%),
    linear-gradient(135deg, #101116 0%, #171116 58%, #290b0f 100%) !important;
}

body.fs-inner-marketing #main-content > section.bg-brand-red {
  background:
    radial-gradient(ellipse 72% 88% at 100% 8%, rgb(255 255 255 / .14) 0%, transparent 66%),
    linear-gradient(135deg, #ba0008 0%, #e3000b 52%, #a50008 100%) !important;
}

.fs-light-pattern-section {
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%, rgb(214 0 1 / .05) 0%, transparent 70%),
    linear-gradient(180deg, #fff 0%, #fbf6f6 100%) !important;
}

.fs-content-generic,
.fs-legal-page {
  background:
    radial-gradient(ellipse 72% 62% at 100% 0%, rgb(214 0 1 / .045) 0%, transparent 70%),
    linear-gradient(180deg, #fbfaf9 0%, #f8f3f3 100%);
}

.fs-content-generic__pattern,
.fs-legal-page__pattern {
  background-image:
    linear-gradient(rgb(248 247 246 / .84), rgb(248 244 244 / .9)),
    url("../Patterns/1.webp");
}

body.home #main-content > section:nth-of-type(11) {
  background:
    radial-gradient(ellipse 58% 78% at 50% 42%, rgb(214 0 1 / .25) 0%, transparent 68%),
    linear-gradient(135deg, #101116 0%, #191115 58%, #28090d 100%) !important;
}

/*
 * Global marketing CTA.
 * Mirrors the home CTA's layered ink/red gradient and edge-weighted pattern
 * without changing the structure or copy of individual templates.
 */
body.fs-inner-marketing .fs-global-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-top: 0 !important;
  background:
    radial-gradient(ellipse 58% 78% at 50% 42%, rgb(214 0 1 / .25) 0%, transparent 68%),
    linear-gradient(135deg, #101116 0%, #191115 58%, #28090d 100%) !important;
}

body.fs-inner-marketing .fs-global-cta::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background-image: url("../Patterns/1.webp");
  background-repeat: repeat;
  background-position: center;
  background-size: 280px;
  opacity: .4;
  filter: brightness(.42) saturate(1.4) contrast(1.08);
  -webkit-mask-image: radial-gradient(
    ellipse 60% 70% at center,
    transparent 0%,
    transparent 43%,
    rgb(0 0 0 / .24) 59%,
    rgb(0 0 0 / .76) 82%,
    #000 100%
  );
  mask-image: radial-gradient(
    ellipse 60% 70% at center,
    transparent 0%,
    transparent 43%,
    rgb(0 0 0 / .24) 59%,
    rgb(0 0 0 / .76) 82%,
    #000 100%
  );
}

body.fs-inner-marketing .fs-global-cta > * {
  position: relative;
  z-index: 2;
}

body.fs-inner-marketing .fs-global-cta h1,
body.fs-inner-marketing .fs-global-cta h2,
body.fs-inner-marketing .fs-global-cta h3 {
  color: #fff !important;
}

body.fs-inner-marketing .fs-global-cta p {
  color: rgb(255 255 255 / .72) !important;
}

body.fs-inner-marketing .fs-global-cta .eyebrow,
body.fs-inner-marketing .fs-global-cta .fs-section-label {
  border: 0 !important;
  background: transparent !important;
  color: #ffd84d !important;
}

body.fs-inner-marketing .fs-global-cta a.bg-white,
body.fs-inner-marketing .fs-global-cta .btn-primary {
  border: 1px solid #fff !important;
  background: #fff !important;
  color: #d60001 !important;
  box-shadow: none !important;
}

body.fs-inner-marketing .fs-global-cta a[class*="border-white"] {
  border-color: rgb(255 255 255 / .35) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.fs-inner-marketing .fs-global-cta a:hover {
  transform: translateY(-2px);
}

body.fs-inner-marketing .fs-global-cta a[class*="border-white"]:hover {
  border-color: #fff !important;
  background: rgb(255 255 255 / .08) !important;
}

/* Keep every non-home hero and editorial banner on the bright red hero gradient. */
body.fs-inner-marketing #main-content > section.hero-bg:first-of-type,
body.fs-template-contact #main-content > section:first-of-type,
body.fs-template-blog #main-content > section:first-of-type,
body.fs-template-case-studies #main-content > section:first-of-type,
body.fs-inner-page.archive > section:first-of-type {
  background: var(--fs-inner-hero-shade), var(--fs-inner-hero-gradient) !important;
}

@media (max-width: 640px) {
  body.fs-inner-marketing section.fs-global-cta {
    padding-block: 5rem !important;
  }

  body.fs-inner-marketing .fs-global-cta::before {
    background-size: 220px;
  }
}
