/* Global foundation styles */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding-top: var(--body-padding-top);
  padding-bottom: var(--body-padding-bottom);
  padding-inline: var(--body-padding-inline);
  font-family: var(--font-primary);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
  letter-spacing: var(--body-letter-spacing);
  color: var(--color-text-body);
  background-color: var(--color-body-fallback);
  background-image: url("../images/backgrounds/bodyBg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.site-main {
  position: relative;
  width: 100%;
  max-width: var(--main-max-width);
  margin-inline: auto;
  border-radius: var(--main-border-radius);
  background-color: var(--color-body-fallback);
  box-shadow: var(--shadow-container);
}

/* Hero */

.hero {
  position: relative;
  min-height: max(var(--hero-min-height), 100vh);
}

.hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: var(--main-radius-top);
}

.hero__background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.45) 45%,
    rgba(0, 0, 0, 0.2) 100%
  );
}

.hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns:
    var(--hero-social-column-width) minmax(0, 1fr)
    minmax(0, 1.4fr);
  gap: var(--hero-content-gap);
  align-items: center;
  min-height: inherit;
  padding-top: var(--hero-inner-padding-top);
  padding-bottom: 80px;
}

.hero__social {
  display: flex;
  justify-content: center;
  align-self: center;
}

.hero__connect {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--hero-connect-gap);
}

.hero__connect-label {
  font-family: var(--font-primary);
  font-size: var(--hero-connect-font-size);
  font-weight: 400;
  line-height: 1;
  color: var(--hero-connect-label-color);
  letter-spacing: var(--hero-connect-letter-spacing);
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.hero__connect-line {
  display: block;
  flex-shrink: 0;
  width: 2px;
  height: var(--hero-connect-line-height);
  background-color: var(--hero-connect-color);
}

.hero__social-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--hero-social-icon-gap);
  margin: 0;
  padding: 20px;
  list-style: none;
  background: #060102;
}

.hero__social-link {
  display: block;
  flex-shrink: 0;
  line-height: 0;
  transition: opacity var(--transition-base);
}

.hero__social-link img {
  width: var(--hero-social-icon-size);
  height: var(--hero-social-icon-size);
  filter: var(--filter-social-icon);
  transition: filter var(--transition-base);
}

.hero__social-link:hover img {
  filter: var(--filter-social-icon-hover);
}

.hero__social-link:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 4px;
}

/* .hero__content {
  max-width: 570px;
} */

.hero__title {
  margin-bottom: 20px;
}

.hero__title-line {
  display: block;
  width: var(--hero-title-line-width);
  height: var(--hero-title-line-height);
  margin-bottom: 30px;
  background-color: var(--hero-title-line-color);
}

.hero__body {
  margin-bottom: 30px;
}

.hero__label {
  margin-bottom: 24px;
  color: var(--color-primary);
  text-transform: none;
}

.hero__visual {
  /* Reserved — hero imagery visible through background */
}

/* Talent page — hero grid extension */

.hero--talent .hero__inner {
  grid-template-rows: auto auto;
  align-items: start;
  padding-bottom: 10px;
}

.hero--talent .hero__social {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}

.hero--talent .hero__content {
  grid-column: 2;
  grid-row: 1;
}

.hero--talent .hero__visual {
  grid-column: 3;
  grid-row: 1;
}

.hero--talent .hero__label {
  margin-bottom: 0;
}

.hero--talent .hero__talent-bar {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

/* Talent profile — hero */

.hero--profile {
  min-height: max(620px, 72vh);
}

.hero--profile .hero__inner {
  align-items: start;
}

.hero--profile .hero__social {
  align-self: center;
}

.hero--profile .hero__content {
  align-self: start;
}

.hero--profile .hero__intro {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  margin-bottom: 24px;
}

.hero--profile .hero__eyebrow {
  margin: 0;
  color: var(--color-primary);
  text-transform: uppercase;
}

.hero--profile .hero__intro .hero__title-line {
  display: block;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: auto;
  max-height: 10px;
  margin: 0;
  background: none;
  object-fit: fill;
  object-position: left center;
}

.hero--profile .hero__title {
  margin-bottom: 16px;
}

.hero--profile .hero__roles {
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--talent-profile-roles-size);
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-white);
  letter-spacing: var(--talent-profile-roles-spacing);
  text-transform: uppercase;
}

/* Talent profile — main section */

.talent-profile {
  padding-block: var(--talent-profile-padding-block);
}

.talent-profile__breadcrumb {
  margin-bottom: var(--talent-profile-header-gap);
}

.talent-profile__layout {
  display: grid;
  grid-template-columns: minmax(0, var(--talent-profile-aside-max-width)) 1fr;
  gap: var(--talent-profile-layout-gap);
  align-items: stretch;
}

.talent-profile__card {
  position: relative;
  isolation: isolate;
  height: 100%;
  padding-block: var(--talent-card-gap-block);
  padding-inline: var(--talent-card-gap-inline);
  border: var(--border-width) solid var(--talent-card-border-color);
  background-color: var(--talent-card-gap-fill);
}

.talent-profile__card::before {
  content: "";
  position: absolute;
  inset: var(--talent-card-gap-block) var(--talent-card-gap-inline);
  z-index: 2;
  border: var(--border-width) solid var(--talent-card-border-color);
  pointer-events: none;
}

.talent-profile__card-body {
  position: relative;
  z-index: 1;
  height: 100%;
  background-color: #000000;
}

.talent-profile__card--aside .talent-profile__card-body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.talent-profile__photo {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  flex-grow: 1;
}

.talent-profile__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.talent-profile__footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: auto;
  padding: var(--talent-profile-footer-padding);
}

.talent-profile__name {
  margin: 0;
  font-family: var(--font-secondary);
  font-size: var(--talent-card-name-size);
  color: var(--talent-card-name-color);
  text-align: center;
  text-transform: uppercase;
}

.talent-profile__booking {
  width: 100%;
  font-family: var(--font-secondary);
  text-align: center;
}

.talent-profile__card-content {
  padding-block: var(--talent-profile-card-content-padding-block);
  padding-inline: var(--talent-profile-card-content-padding-inline);
}

.talent-profile__title {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 16px;
  width: 100%;
  margin: 0 0 24px;
  padding-bottom: 14px;
  line-height: 1.15;
}

.talent-profile__title-about {
  color: var(--color-secondary);
}

.talent-profile__title-decor {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: fill;
}

.talent-profile__credits-label {
  margin: 0 0 12px;
  letter-spacing: var(--talent-profile-credits-label-spacing);
  text-transform: uppercase;
}

.talent-profile__credits {
  margin: 0 0 24px;
  font-family: var(--font-primary);
  font-size: var(--talent-profile-credits-size);
  line-height: 1.5;
  color: var(--color-primary-light);
}

.talent-profile__bio {
  margin-bottom: 24px;
}

.talent-profile__bio p {
  margin-bottom: 20px;
  color: var(--color-secondary);
}

.talent-profile__bio p:last-child {
  margin-bottom: 0;
}

.talent-profile__tagline {
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--talent-profile-tagline-size);
  line-height: 1.4;
  color: var(--color-primary-light);
  letter-spacing: 0.04em;
}

/* Talent page — hero search */

.talent-search {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--talent-search-gap);
  width: 100%;
  max-width: var(--talent-search-max-width);
  margin-inline: auto;
}

.talent-search__field {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}

.talent-search__input {
  display: block;
  width: 100%;
  height: var(--talent-search-input-min-height);
  padding-block: 0;
  padding-inline: var(--talent-search-input-padding-inline)
    calc(
      var(--talent-search-icon-offset) + var(--talent-search-icon-size) + 8px
    );
  border: var(--border-width) solid var(--talent-search-input-border);
  border-radius: var(--border-radius);
  background-color: var(--talent-search-input-bg);
  font-family: var(--font-secondary);
  font-size: var(--paragraph-font-size-mobile);
  line-height: var(--talent-search-input-min-height);
  color: var(--color-secondary);
  appearance: none;
}

.talent-search__input::-webkit-search-cancel-button {
  display: none;
}

.talent-search__input::placeholder {
  font-family: var(--font-secondary);
  color: var(--talent-search-placeholder-color);
  opacity: 1;
}

.talent-search__input:focus {
  outline: none;
  border-color: var(--color-primary-light);
}

.talent-search__input:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 2px;
}

.talent-search__icon {
  position: absolute;
  top: 50%;
  right: var(--talent-search-icon-offset);
  width: var(--talent-search-icon-size);
  height: var(--talent-search-icon-size);
  transform: translateY(-50%);
  pointer-events: none;
}

.talent-search__icon img {
  display: block;
  width: var(--talent-search-icon-size);
  height: var(--talent-search-icon-size);
}

.talent-search .btn-fourth {
  flex-shrink: 0;
  min-height: var(--talent-search-input-min-height);
  padding-block: 15px;
  padding-inline: 20px;
  border: 1px solid var(--btn-fourth-border-color);
  border-radius: var(--btn-fourth-radius);
  background: var(--btn-fourth-gradient);
  box-shadow: 0 2px 4px rgb(0 0 0 / 0.35);
  font-family: var(--font-secondary);
  font-size: var(--btn-primary-font-size);
  font-weight: 700;
  line-height: 1;
  color: var(--btn-fourth-text-color);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.talent-search .btn-fourth:hover {
  filter: brightness(0.92);
}

/* Talent page — alphabet filter */

.talent-filter {
  width: 100%;
  padding: 14px 20px;
  background-color: var(--talent-filter-bg);
}

.talent-filter__desktop {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--talent-filter-gap);
  width: 100%;
}

.talent-filter__mobile {
  display: none;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: var(--talent-search-max-width);
  margin-inline: auto;
}

.talent-filter__mobile-label {
  font-family: var(--font-secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-secondary);
}

.talent-filter__select {
  display: block;
  width: 100%;
  height: var(--talent-search-input-min-height);
  padding-block: 0;
  padding-inline: var(--talent-search-input-padding-inline)
    calc(var(--talent-search-input-padding-inline) + 24px);
  border: var(--border-width) solid var(--talent-search-input-border);
  border-radius: var(--border-radius);
  background-color: var(--talent-search-input-bg);
  font-family: var(--font-secondary);
  font-size: var(--paragraph-font-size-mobile);
  line-height: var(--talent-search-input-min-height);
  color: var(--color-secondary);
  appearance: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    linear-gradient(
      var(--talent-search-input-bg),
      var(--talent-search-input-bg)
    );
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}

.talent-filter__select:focus {
  outline: none;
  border-color: var(--color-primary-light);
}

.talent-filter__select:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 2px;
}

.talent-filter__all {
  flex-shrink: 0;
  min-width: 52px;
  padding: 8px 12px;
  border: 1px solid var(--color-primary);
  border-radius: var(--talent-filter-active-radius);
  background-color: transparent;
  font-family: var(--font-secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: var(--talent-filter-all-color);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    color var(--transition-base),
    background-color var(--transition-base),
    border-color var(--transition-base);
}

.talent-filter__all.is-active {
  border-color: var(--talent-filter-active-border);
  background-color: var(--talent-filter-active-bg);
  color: var(--talent-filter-all-color);
}

.talent-filter__all:hover {
  border-color: var(--talent-filter-active-border);
  background-color: var(--talent-filter-active-bg);
}

.talent-filter__all:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 2px;
}

.talent-filter__letters {
  display: flex;
  flex: 0 1 var(--talent-filter-letters-max-width);
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  max-width: var(--talent-filter-letters-max-width);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.talent-filter__letter {
  flex-shrink: 0;
  font-family: var(--font-secondary);
  font-size: var(--talent-filter-letter-size);
  font-weight: 400;
  line-height: 1;
  color: var(--talent-filter-letter-color);
  letter-spacing: var(--talent-filter-letter-spacing);
  text-decoration: none;
  transition:
    color var(--transition-base),
    background-color var(--transition-base),
    border-color var(--transition-base);
}

.talent-filter__letter:hover {
  color: var(--talent-filter-letter-active-color);
}

.talent-filter__letter.is-active {
  padding: 6px 8px;
  border: 1px solid var(--talent-filter-active-border);
  border-radius: var(--talent-filter-active-radius);
  background-color: var(--talent-filter-active-bg);
  color: var(--talent-filter-letter-active-color);
}

.talent-filter__letter:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 2px;
}

/* Shared section background (hero + final CTA excluded) */

.site-sections {
  background-color: var(--color-body-fallback);
  background-image: url("../images/backgrounds/section-bg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

/* Talent section */

.talent-section {
  padding-block: var(--talent-section-padding-block);
}

.talent-section__header {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.talent-section__header .section-heading {
  width: 100%;
}

.talent-section__actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 50px;
}

/* Talent directory (listing page) */

.talent-directory {
  padding-block: var(--talent-directory-padding-block);
}

.talent-directory__breadcrumb {
  margin-bottom: var(--talent-directory-header-gap);
}

.talent-directory__header {
  margin-bottom: var(--talent-directory-title-gap);
}

.talent-directory__header .section-heading {
  width: 100%;
}

.talent-directory__groups {
  display: flex;
  flex-direction: column;
  gap: var(--talent-directory-group-gap);
}

.talent-directory__group {
  display: flex;
  flex-direction: column;
  gap: var(--talent-directory-letter-gap);
  scroll-margin-top: 24px;
}

.talent-directory__letter {
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--talent-directory-letter-size);
  font-weight: 400;
  line-height: 1.15;
  color: var(--talent-directory-letter-color);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.talent-directory__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--talent-directory-grid-gap);
  row-gap: var(--talent-directory-grid-row-gap) !important;
}

.talent-carousel-wrap {
  position: relative;
}

.talent-carousel {
  position: relative;
}

.talent-carousel__nav {
  position: absolute;
  top: 36%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--talent-carousel-nav-size);
  height: var(--talent-carousel-nav-size);
  padding: 0;
  border: var(--border-width) solid var(--talent-carousel-nav-border);
  border-radius: 50%;
  background-color: var(--talent-carousel-nav-bg);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base);
}

.talent-carousel__nav-icon {
  display: block;
  font-family: var(--font-primary);
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1;
  color: var(--talent-carousel-nav-border);
}

.talent-carousel__nav--prev {
  left: var(--talent-carousel-nav-offset);
}

.talent-carousel__nav--next {
  right: var(--talent-carousel-nav-offset);
}

.talent-carousel__nav--prev .talent-carousel__nav-icon {
  margin-right: 2px;
}

.talent-carousel__nav--next .talent-carousel__nav-icon {
  margin-left: 2px;
}

.talent-carousel__nav:hover {
  border-color: var(--color-primary-light);
}

.talent-carousel__nav:hover .talent-carousel__nav-icon {
  color: var(--color-primary-light);
}

.talent-carousel__nav:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 3px;
}

.talent-carousel__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.talent-swiper .swiper-slide {
  height: auto;
}

.talent-carousel__pagination-wrap {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.talent-carousel__pagination {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--talent-carousel-pagination-gap);
  width: auto !important;
  padding-block: var(--talent-carousel-pagination-padding-block);
  padding-inline: var(--talent-carousel-pagination-padding-inline);
  background-color: var(--talent-carousel-pagination-bg);
  left: 0 !important;
  transform: none !important;
}

.talent-carousel__pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0;
  opacity: 0.35;
  background-color: var(--color-primary);
  transition: opacity var(--transition-base);
  transform: scale(1);
}

.talent-carousel__pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

/* Fans section — Where Talent Meets the Fans */

.fans-section {
  padding-block-start: var(
    --fans-section-padding-block-start,
    var(--fans-section-padding-block)
  );
  padding-block-end: var(
    --fans-section-padding-block-end,
    var(--fans-section-padding-block)
  );
}

.fans-section__header {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}

.fans-section__header .section-heading {
  width: 100%;
  overflow: hidden;
}

.fans-section__frame {
  position: relative;
  isolation: isolate;
}

.fans-section__frame-inner {
  position: relative;
  z-index: 1;
  padding-block: var(--fans-frame-inset-block);
  padding-inline: var(--fans-frame-inset-inline);
}

.fans-section__frame-surface {
  position: relative;
  overflow: hidden;
  padding-block: var(--fans-frame-content-padding-block);
  padding-inline: var(--fans-frame-content-padding-inline);
}

.fans-section__frame-surface::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #080606;
  background-image: var(--fans-frame-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.fans-section__frame-surface::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--fans-frame-overlay);
  pointer-events: none;
}

.fans-section__frame-surface .fans-section__layout {
  position: relative;
  z-index: 2;
}

.fans-section__frame-art {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: fill;
}

.fans-section__layout {
  display: grid;
  grid-template-columns: minmax(260px, 38%) 1fr;
  gap: var(--fans-layout-gap);
  align-items: center;
}

.fans-section__title {
  margin-bottom: 24px;
  line-height: 1.2;
}

.fans-section__text {
  max-width: 420px;
  margin-bottom: 32px;
  color: var(--color-secondary);
}

.fans-section__cta {
  margin-top: 8px;
}

/* Video player */

.video-player {
  position: relative;
  overflow: hidden;
  border: var(--border-width) solid rgb(160 135 95 / 0.35);
  background-color: #050505;
}

.video-player__media {
  position: relative;
  aspect-ratio: 16 / 9;
  background-color: #050505;
}

.video-player__iframe,
.video-player__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background-color: #050505;
}

.video-player__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(
      circle at 50% 45%,
      rgb(160 135 95 / 0.08) 0%,
      transparent 55%
    ),
    linear-gradient(180deg, rgb(8 6 6 / 0.2) 0%, rgb(0 0 0 / 0.85) 100%);
  transition: opacity var(--transition-base);
}

.video-player.is-playing .video-player__overlay {
  opacity: 0;
  pointer-events: none;
}

.video-player__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: min(42%, 220px);
  height: auto;
  opacity: 0.95;
  filter: brightness(0.92);
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.video-player__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: rgb(255 255 255 / 0.92);
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: background-color var(--transition-base);
}

.video-player__play-icon {
  display: block;
  width: 0;
  height: 0;
  margin-left: 5px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 18px solid #1a1a1a;
}

.video-player__play:hover {
  background-color: var(--color-white);
}

.video-player__play:focus-visible {
  outline: 2px solid var(--color-primary-light);
  outline-offset: 4px;
}

/* Trust section — Trusted by Leading Conventions */

.trust-section {
  padding-block-start: var(
    --trust-section-padding-block-start,
    var(--trust-section-padding-block)
  );
  padding-block-end: var(--trust-section-padding-block);
  text-align: center;
}

.trust-section__title {
  margin: 0 0 28px;
  font-family: var(--font-primary);
  font-size: var(--trust-section-title-size);
  font-weight: 400;
  line-height: 1.3;
  color: var(--trust-section-title-color);
  text-transform: uppercase;
  letter-spacing: var(--trust-section-title-spacing);
}

.trust-section__logos-wrap {
  padding-block: var(--trust-logos-wrap-padding-block);
  padding-inline: 20px;
  background-color: var(--trust-logos-wrap-bg);
}

.trust-section__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--trust-logo-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.trust-section__logo {
  display: flex;
  flex: 1 1 120px;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.trust-section__logo img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: var(--trust-logo-max-height);
  object-fit: contain;
  opacity: 0.88;
  filter: brightness(0) invert(1);
  transition: opacity var(--transition-base);
}

.trust-section__logo img:hover {
  opacity: 1;
}

.trust-section__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 28px;
  overflow: hidden;
}

.trust-section__footer-divider {
  flex: 1;
  width: auto;
  max-width: 280px;
  height: auto;
  object-fit: contain;
}

.trust-section__tagline {
  flex-shrink: 0;
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--trust-section-tagline-size);
  font-weight: 400;
  line-height: 1.3;
  color: var(--trust-section-tagline-color);
  text-transform: uppercase;
  letter-spacing: var(--trust-section-tagline-spacing);
}

/* CTA banner — Your Next Chapter */

.cta-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.cta-banner__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #000000;
  background-image: var(--cta-banner-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.cta-banner__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--cta-banner-overlay);
}

.cta-banner__inner {
  position: relative;
  z-index: 1;
  padding-block: var(--cta-banner-padding-block);
  text-align: center;
}

.cta-banner__eyebrow {
  margin: 0 0 20px;
  font-family: var(--font-primary);
  font-size: var(--cta-banner-eyebrow-size);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-secondary);
  text-transform: uppercase;
  letter-spacing: var(--cta-banner-eyebrow-spacing);
}

.cta-banner__title {
  margin-bottom: 24px;
  line-height: 1.08;
}

.cta-banner__text {
  max-width: var(--cta-banner-text-max-width);
  margin-inline: auto;
  margin-bottom: 32px;
  font-family: var(--font-primary);
  font-size: var(--paragraph-font-size);
  font-style: normal;
  line-height: var(--paragraph-line-height);
  color: var(--color-secondary);
}

.cta-banner__cta {
  margin-inline: auto;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: var(--color-link);
  text-decoration: none;
}

p {
  margin: 0 0 var(--paragraph-spacing);
  font-size: var(--paragraph-font-size);
  line-height: var(--paragraph-line-height);
}

p:last-child {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 400;
  color: var(--color-heading);
  text-transform: uppercase;
  letter-spacing: normal;
}

/* Heading typography + utility classes */

h1,
.h1 {
  font-size: var(--h1-size);
  line-height: 1.12;
}

h2,
.h2 {
  font-size: var(--h2-size);
  line-height: 1.15;
}

h3,
.h3 {
  font-size: var(--h3-size);
  line-height: 1.25;
}

h4,
.h4 {
  font-size: var(--h4-size);
  line-height: 1.2;
}

h5,
.h5 {
  font-size: var(--h5-size);
  line-height: var(--h5-line-height);
}

h6,
.h6 {
  font-size: var(--h6-size);
  line-height: var(--h6-line-height);
}

/* Two-tone heading color utilities */

.text-primary {
  color: var(--color-primary);
}

.text-primary-dark {
  color: var(--color-primary-dark);
}

.text-primary-mid {
  color: var(--color-primary-mid);
}

.text-primary-light {
  color: var(--color-primary-light);
}

.text-secondary {
  color: var(--color-secondary);
}

.text-secondary-muted {
  color: var(--color-secondary-muted);
}

.text-white {
  color: var(--color-white);
}

/* Fluid container system */

.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-footer {
  width: 100%;
}

.container-sm {
  padding-inline: var(--container-sm-padding);
}

.container-md {
  padding-inline: var(--container-md-padding);
}

.container-lg {
  padding-inline: var(--container-lg-padding);
}

.container-xl {
  padding-inline: var(--container-xl-padding);
}

.container-footer {
  padding-inline: var(--container-footer-padding);
}






















