/* Partners One — one responsive section, no JavaScript or external imports. */
.one-partners-banner {
  --one-partners-accent: #ed0016;
  --one-partners-headline-red: #f00913;
  --one-partners-brand-red: #ff1426;
  --one-partners-radius: 24px;
  container-type: inline-size;
  width: 100%;
  min-width: 0;
  color-scheme: dark;
  font-family: var(--one-partners-font, Arial, Roboto, sans-serif);
  text-align: left;
}
.one-partners-banner,
.one-partners-banner *,
.one-partners-banner *::before,
.one-partners-banner *::after { box-sizing: border-box; }
.one-partners-banner .one-partners-banner__surface {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--one-partners-radius);
  background: #000;
  color: #fff;
}
.one-partners-banner .one-partners-banner__media {
  position: relative;
  width: 100%;
  height: 230px;
  height: clamp(200px, 58.46cqw, 250px);
}
.one-partners-banner .one-partners-banner__photo {
  position: absolute;
  inset: 0;
  background-image: url("../assets/partners-one-office.jpg");
  background-image: image-set(
    url("../assets/partners-one-office.webp") type("image/webp"),
    url("../assets/partners-one-office.jpg") type("image/jpeg")
  );
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 48%;
}
.one-partners-banner .one-partners-banner__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .5), transparent 55%),
    linear-gradient(0deg, #000, transparent 32%);
}
.one-partners-banner .one-partners-banner__brand {
  position: absolute;
  z-index: 1;
  top: 24px;
  left: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: .25em;
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .065em;
}
.one-partners-banner .one-partners-banner__brand span { color: var(--one-partners-brand-red); }
.one-partners-banner .one-partners-banner__copy { position: relative; padding: 8px 24px 30px; }
.one-partners-banner .one-partners-banner__heading {
  margin: 0;
  padding: 0;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.one-partners-banner .one-partners-banner__heading > span { display: block; }
.one-partners-banner .one-partners-banner__lead {
  color: var(--one-partners-headline-red);
  font-size: 25px;
  font-size: clamp(25px, 7.8cqw, 33px);
}
.one-partners-banner .one-partners-banner__commission {
  color: #fff;
  font-size: 34px;
  font-size: clamp(34px, 10.7cqw, 45px);
}
.one-partners-banner .one-partners-banner__subtitle {
  margin: 18px 0 0;
  padding: 0;
  color: #f2f2f2;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: normal;
}
.one-partners-banner .one-partners-banner__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  min-height: 50px;
  margin: 24px 0 0;
  padding: 14px 20px;
  border: 0;
  border-radius: 11px;
  background: var(--one-partners-accent);
  color: #fff;
  box-shadow: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: none;
}
.one-partners-banner .one-partners-banner__cta:hover { background: #ca0012; color: #fff; }
.one-partners-banner .one-partners-banner__cta:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.one-partners-banner .one-partners-banner__cta > span { flex: 0 0 auto; }

/* Switch by the available section width, including inside a CMS container. */
@container (min-width: 768px) {
  .one-partners-banner .one-partners-banner__surface { display: flex; align-items: center; min-height: clamp(300px, 26cqw, 320px); }
  .one-partners-banner .one-partners-banner__media { position: absolute; inset: 0 0 0 auto; width: 44%; height: auto; }
  .one-partners-banner .one-partners-banner__photo { background-position: center 48%; }
  .one-partners-banner .one-partners-banner__photo::after { background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 15%, transparent 42%), linear-gradient(180deg, rgba(0,0,0,.45), transparent 42%); }
  .one-partners-banner .one-partners-banner__brand { top: 24px; left: clamp(28px, 4cqw, 48px); font-size: clamp(18px, 2.2cqw, 26px); }
  .one-partners-banner .one-partners-banner__copy { width: 63%; padding: 24px 0 24px clamp(28px, 4cqw, 48px); }
  .one-partners-banner .one-partners-banner__lead { font-size: clamp(26px, 3cqw, 34px); }
  .one-partners-banner .one-partners-banner__commission { font-size: clamp(38px, 4.4cqw, 52px); }
  .one-partners-banner .one-partners-banner__subtitle { max-width: 570px; margin-top: 14px; padding-right: 20px; font-size: clamp(14px, 1.6cqw, 17px); }
  .one-partners-banner .one-partners-banner__cta { display: inline-flex; width: auto; min-height: 46px; margin-top: 16px; padding: 12px 23px; }
}

/* Older-browser fallback: viewport breakpoint and fixed, safe typography. */
@supports not (container-type: inline-size) {
  @media (min-width: 768px) {
    .one-partners-banner .one-partners-banner__surface { display: flex; align-items: center; min-height: 320px; }
    .one-partners-banner .one-partners-banner__media { position: absolute; inset: 0 0 0 auto; width: 44%; height: auto; }
    .one-partners-banner .one-partners-banner__photo { background-position: center 48%; }
    .one-partners-banner .one-partners-banner__photo::after { background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 15%, transparent 42%), linear-gradient(180deg, rgba(0,0,0,.45), transparent 42%); }
    .one-partners-banner .one-partners-banner__brand { top: 24px; left: 28px; font-size: 20px; }
    .one-partners-banner .one-partners-banner__copy { width: 63%; padding: 24px 0 24px 28px; }
    .one-partners-banner .one-partners-banner__lead { font-size: 26px; }
    .one-partners-banner .one-partners-banner__commission { font-size: 38px; }
    .one-partners-banner .one-partners-banner__subtitle { max-width: 570px; margin-top: 14px; padding-right: 20px; font-size: 15px; }
    .one-partners-banner .one-partners-banner__cta { display: inline-flex; width: auto; min-height: 46px; margin-top: 16px; padding: 12px 23px; }
  }
}
