/* ═══════════════════════════════════════════════════════════════
   Full Bleed Banner — image (desktop/mobile) + optional link + text
   ═══════════════════════════════════════════════════════════════ */

.cc_oPYVpgsSq2_gusAD1MFJp .fbb {
  width: 100%;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb--contained .fbb-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-gutter);
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-frame {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: var(--color-surface-alt);
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-frame:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: -2px;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-picture {
  display: block;
  width: 100%;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-img {
  display: block;
  width: 100%;
  height: auto;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, var(--color-surface-alt), var(--color-border));
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-overlay {
  position: absolute;
  inset: 0;
  background: var(--color-overlay-warm);
  pointer-events: none;
}

/* ─── Text overlay ──────────────────────────────────────────── */

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-md);
  pointer-events: none;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-content--pos-top { justify-content: flex-start; }
.cc_oPYVpgsSq2_gusAD1MFJp .fbb-content--pos-center { justify-content: center; }
.cc_oPYVpgsSq2_gusAD1MFJp .fbb-content--pos-bottom { justify-content: flex-end; }

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-content--align-left { align-items: flex-start; text-align: left; }
.cc_oPYVpgsSq2_gusAD1MFJp .fbb-content--align-center { align-items: center; text-align: center; }
.cc_oPYVpgsSq2_gusAD1MFJp .fbb-content--align-right { align-items: flex-end; text-align: right; }

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-eyebrow {
  font-family: var(--font-label);
  font-size: var(--text-label);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-heading {
  margin: 0;
  max-width: 14ch;
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  line-height: 1.05;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-subtext {
  margin: 0;
  font-family: var(--font-label);
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb-button {
  display: inline-flex;
  align-items: center;
  margin-top: var(--space-xs);
  padding: 10px 20px;
  border: 1px solid currentColor;
  font-family: var(--font-label);
  font-size: var(--text-label);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

@media (min-width: 768px) {
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb-content { padding: var(--space-xl); gap: var(--space-sm); }
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb-heading { font-size: var(--text-h1); }
}

@media (min-width: 1024px) {
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb-content { padding: var(--space-2xl); }
}

/* ─── Mobile ratio (< 640px): crop the image to a portrait box ─── */

@media (max-width: 639px) {
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-4-5 .fbb-frame, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-2-3 .fbb-frame, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-1-2 .fbb-frame { position: relative; }
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-4-5 .fbb-frame { aspect-ratio: 4 / 5; }
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-2-3 .fbb-frame { aspect-ratio: 2 / 3; }
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-1-2 .fbb-frame { aspect-ratio: 1 / 2; }
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-4-5 .fbb-picture, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-2-3 .fbb-picture, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-1-2 .fbb-picture, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-4-5 .fbb-img, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-2-3 .fbb-img, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--mratio-1-2 .fbb-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* ─── Text-only CTA (no image): a flat band with the text ────── */

.cc_oPYVpgsSq2_gusAD1MFJp .fbb--text-only .fbb-frame {
  background: transparent;
  min-height: 160px;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb--text-only .fbb-content {
  position: relative;
  inset: auto;
  min-height: 160px;
  pointer-events: auto;
}

.cc_oPYVpgsSq2_gusAD1MFJp .fbb--text-only .fbb-heading {
  font-size: var(--text-h3);
  letter-spacing: 0.12em;
}

@media (min-width: 768px) {
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb--text-only .fbb-frame, .cc_oPYVpgsSq2_gusAD1MFJp .fbb--text-only .fbb-content { min-height: 220px; }
  .cc_oPYVpgsSq2_gusAD1MFJp .fbb--text-only .fbb-heading { font-size: var(--text-h2); }
}
