/* One fixed frame per breakpoint. Per-slide media and colors remain independent. */
.bb-campaign{display:block;position:relative;width:100%;min-width:0;font:var(--campaign-body-weight,400) 16px var(--campaign-body-font,Arial,sans-serif);--bb-progress:0;--progress-color:#181413;--align:var(--u-align-desktop);--horizontal:start;--vertical:var(--u-vertical)}
.bb-campaign,.bb-campaign *{box-sizing:border-box}.bb-campaign [hidden]{display:none!important}.bb-campaign-slide:not(:first-child):not([data-active="true"]){display:none}
.bb-campaign-slides{position:relative;height:var(--campaign-viewport-height,92svh);overflow:hidden}
.bb-campaign[data-unified-desktop-mode="fixed"] .bb-campaign-slides{height:var(--u-desktop-height,700px)}
.bb-campaign-slide{position:absolute;inset:0;isolation:isolate;overflow:hidden;background:var(--slide-bg);color:var(--slide-color);--fit:var(--desktop-fit);--x:var(--desktop-x);--y:var(--desktop-y);--zoom:var(--desktop-zoom)}
.bb-campaign-media{position:absolute;inset:0;overflow:hidden}
.bb-campaign-media:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--mask-opacity);background:var(--mask-color)}
.bb-campaign-slide[data-mask-style="gradient"] .bb-campaign-media:after{background:linear-gradient(90deg,var(--mask-color),color-mix(in srgb,var(--mask-color) 60%,transparent) 45%,transparent 80%),linear-gradient(0deg,var(--mask-color),transparent 45%)}
.bb-campaign-slide[data-mask-desktop="false"] .bb-campaign-media:after{display:none}
.bb-campaign-asset{position:absolute;inset:0;width:100%;height:100%;translate:var(--x) var(--y);scale:var(--zoom);transform-origin:center}
.bb-campaign-asset img,.bb-campaign-asset video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:var(--fit);object-position:center}.bb-campaign-mobile{display:none}
.bb-campaign-content{position:absolute;inset:0;z-index:2;display:grid;align-items:var(--vertical);justify-items:var(--horizontal);width:min(var(--campaign-content-width,1240px),calc(100% - 48px));margin:auto;padding:140px 0 64px;min-width:0;pointer-events:none}
.bb-campaign-copy{display:flex;flex-direction:column;width:min(100%,var(--u-copy-width,760px));max-height:100%;min-height:0;min-width:0;overflow:hidden;text-align:var(--align);pointer-events:auto}
.bb-campaign-copy h1,.bb-campaign-copy h2{font-family:var(--campaign-heading-font,Georgia,serif);font-weight:var(--campaign-heading-weight,700);font-size:var(--bb-fitted-title,var(--u-title-desktop,68px));line-height:1.04;letter-spacing:-.035em;margin:0;color:var(--slide-color);min-height:0;width:100%;max-width:none;flex-shrink:0;white-space:pre-line;word-break:normal;overflow-wrap:normal;display:block;overflow:visible}
.bb-campaign-kicker{flex-shrink:0;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.035em;margin:0 0 14px;color:var(--slide-accent)}
.bb-campaign-intro{font-size:var(--intro-desktop,16px);line-height:1.6;color:var(--slide-muted);min-height:0;flex-shrink:0;width:100%;max-width:540px;max-height:4.8em;margin:18px 0 0;white-space:normal;overflow-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.bb-campaign [data-bb-text-lines="true"]{white-space:normal}
.bb-campaign-text-line{display:block;white-space:nowrap}
.bb-campaign-actions{flex-shrink:0;display:flex;flex-wrap:nowrap;justify-content:var(--horizontal);gap:12px;margin-top:var(--u-button-gap-desktop,24px)}
.bb-campaign-actions a{display:inline-flex;justify-content:center;align-items:center;min-height:var(--u-button-height,48px);padding:8px 24px;border-radius:999px;border:1px solid transparent;background:var(--button-bg);color:var(--button-color);font:700 12px/1.4 var(--campaign-body-font,Arial,sans-serif);text-decoration:none;text-align:center;transition:background-color .2s,color .2s;max-width:100%;overflow-wrap:anywhere}
.bb-campaign-actions a:hover{background:var(--button-hover-bg);color:var(--button-hover-text)}
.bb-campaign-actions .bb-campaign-secondary{background:var(--secondary-bg);color:var(--secondary-text);border-color:var(--secondary-border)}
.bb-campaign-proof{flex-shrink:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;max-width:680px}
.bb-campaign-proof>div{border-top:1px solid color-mix(in srgb,var(--slide-color) 14%,transparent);padding-top:12px;min-width:0}
.bb-campaign-proof b{display:block;font:700 18px/1.3 Georgia,serif}.bb-campaign-proof span{display:block;font-size:12px;line-height:1.45;color:var(--slide-muted);margin-top:4px}
.bb-campaign-labels{margin-top:12px;font-size:12px}.bb-campaign-labels>*{display:block;margin:4px 0}
.bb-campaign[data-unified-desktop-align="center"]{--horizontal:center}.bb-campaign[data-unified-desktop-align="right"]{--horizontal:end}
.bb-campaign[data-unified-desktop-align="center"] .bb-campaign-intro,.bb-campaign[data-unified-desktop-align="center"] .bb-campaign-proof{margin-inline:auto}
.bb-campaign[data-unified-desktop-align="right"] .bb-campaign-intro,.bb-campaign[data-unified-desktop-align="right"] .bb-campaign-proof{margin-left:auto}
/* Floating controls: active progress line, inactive dot and compact pause icon. */
.bb-campaign-controls{position:absolute;z-index:6;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:4px;color:var(--progress-color);max-width:100%}
.bb-campaign-pagination{display:flex;align-items:center;gap:0}
.bb-campaign-controls button{appearance:none;border:0;background:transparent;color:inherit;box-shadow:none;padding:0;cursor:pointer;display:grid;place-items:center;flex-shrink:0;min-height:44px}
.bb-campaign-controls button:before,.bb-campaign-controls button:after{display:none!important}
.bb-campaign-progress-item{width:24px;transition:width .2s}.bb-campaign-progress-item[aria-current="true"]{width:72px}
.bb-campaign-progress-track{display:block;position:relative;overflow:hidden;width:4px;height:4px;border-radius:999px;background:color-mix(in srgb,currentColor 40%,transparent);transition:width .2s}
.bb-campaign-progress-item[aria-current="true"] .bb-campaign-progress-track{width:60px}
.bb-campaign-progress-fill{position:absolute;inset:0;background:currentColor;border-radius:inherit;transform:scaleX(0);transform-origin:left center}.bb-campaign-progress-item[aria-current="true"] .bb-campaign-progress-fill{transform:scaleX(var(--bb-progress))}
.bb-campaign-toggle{width:32px;opacity:.6}.bb-campaign-toggle:hover,.bb-campaign-toggle:focus-visible{opacity:1}.bb-campaign-toggle .bb-icon-play{display:none}
.bb-campaign-toggle[data-paused="true"] .bb-icon-play{display:block}.bb-campaign-toggle[data-paused="true"] .bb-icon-pause{display:none}
.bb-campaign-toggle[data-visible="false"]{width:1px;opacity:0;overflow:hidden}.bb-campaign-toggle[data-visible="false"]:focus-visible{width:32px;opacity:1}
.bb-campaign :focus-visible{outline:2px solid currentColor;outline-offset:3px}
.bb-campaign-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .bb-campaign-flower {
      position: absolute;
      right: var(--flower-desktop-right,10%);
      top: var(--flower-desktop-top,96px);
      z-index: 4;
      width: var(--flower-desktop-size,210px);
      height: var(--flower-desktop-size,210px);
      opacity: 0.92;
      animation: bb-campaign-flower-spin 15s ease-in-out infinite;
      pointer-events: none;
    }

    .bb-campaign-flower::before {
      content: "";
      position: absolute;
      inset: 13px;
      border-radius: 48% 52% 45% 55% / 54% 46% 56% 44%;
      background:
        radial-gradient(circle at center, transparent 0 26%, var(--flower-color,#f38ba5) 27% 100%);
      box-shadow:
        0 -72px 0 -24px var(--flower-color,#f38ba5),
        68px -24px 0 -24px var(--flower-color,#f38ba5),
        48px 58px 0 -24px var(--flower-color,#f38ba5),
        -48px 58px 0 -24px var(--flower-color,#f38ba5),
        -68px -24px 0 -24px var(--flower-color,#f38ba5),
        0 20px 52px rgba(24, 20, 19, 0.12);
    }

    .bb-campaign-flower::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: 78px;
      height: 78px;
      border-radius: 999px;
      background:
        radial-gradient(circle, #2d1a26 0 30%, transparent 31%),
        radial-gradient(circle at 22px 20px, #2d1a26 0 4px, transparent 5px),
        radial-gradient(circle at 52px 19px, #2d1a26 0 4px, transparent 5px),
        radial-gradient(circle at 58px 48px, #2d1a26 0 4px, transparent 5px),
        radial-gradient(circle at 22px 54px, #2d1a26 0 4px, transparent 5px),
        radial-gradient(circle at 39px 10px, #2d1a26 0 3px, transparent 4px),
        radial-gradient(circle at 66px 34px, #2d1a26 0 3px, transparent 4px),
        radial-gradient(circle at 38px 66px, #2d1a26 0 3px, transparent 4px),
        radial-gradient(circle at 10px 34px, #2d1a26 0 3px, transparent 4px);
      transform: translate(-50%, -50%);
    }

    .bb-campaign-flower-line {
      position: absolute;
      left: 24px;
      top: 42px;
      width: 156px;
      height: 128px;
      border: 2px solid rgba(45, 26, 38, 0.42);
      border-left-color: transparent;
      border-bottom-color: transparent;
      border-radius: 52% 48% 46% 54%;
      transform: rotate(-18deg);
    }

    @keyframes bb-campaign-flower-spin {
      0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-5deg);
      }
      50% {
        transform: translate3d(-18px, 10px, 0) rotate(18deg);
      }
    }


@media(max-width:959px){.bb-campaign-flower{right:-22px;top:18px;transform:scale(.56);transform-origin:top right;animation:none}}

/* Reference mobile composition: ornament is anchored to the media, not the text. */
.bb-title-mobile,.bb-campaign-mobile-flower{display:none}
@media(max-width:959px){
 .bb-title-desktop{display:none}.bb-title-mobile{display:inline}
 .bb-campaign-slide[data-kind="brand"] .bb-campaign-flower{display:none}
 .bb-campaign-mobile-flower{display:block;position:absolute;z-index:3;width:var(--flower-mobile-size,170px);height:var(--flower-mobile-size,170px);top:var(--flower-mobile-top,-62px);right:var(--flower-mobile-right,-40px);color:var(--flower-color,#f38ba5);transform:rotate(var(--flower-mobile-rotation,-8deg));pointer-events:none}
 .bb-campaign-mobile-flower svg{display:block;width:100%;height:100%;overflow:visible}
}


@media(max-width:959px){
 .bb-campaign{--align:var(--u-align-mobile);--horizontal:start}
 .bb-campaign[data-unified-desktop-mode] .bb-campaign-slides{height:auto}
 .bb-campaign[data-unified-mobile-ratio="auto"] .bb-campaign-media{height:var(--u-mobile-height,280px);aspect-ratio:auto}
 .bb-campaign-slide{position:relative;inset:auto;display:grid;grid-template-rows:auto var(--mobile-copy-height,340px);--fit:var(--mobile-fit);--x:var(--mobile-x);--y:var(--mobile-y);--zoom:var(--mobile-zoom)}
 .bb-campaign-media{position:relative;inset:auto;grid-row:1;width:100%;min-width:0;min-height:0;aspect-ratio:var(--u-mobile-ratio,3 / 2)}.bb-campaign-desktop{display:none}.bb-campaign-mobile{display:block}
 .bb-campaign-slide .bb-campaign-media:after{display:block}.bb-campaign-slide[data-mask-mobile="false"] .bb-campaign-media:after{display:none}
 .bb-campaign .bb-campaign-content{position:relative;inset:auto;grid-row:2;width:100%;height:100%;padding:var(--mobile-copy-top,24px) 20px 54px;align-items:stretch;justify-items:stretch}
 .bb-campaign-copy{display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:100%;max-height:none;overflow:hidden}
 .bb-campaign-kicker{flex-shrink:0;font-size:10px;line-height:16px;margin:0 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bb-campaign .bb-campaign-copy h1,.bb-campaign .bb-campaign-copy h2{font-size:var(--bb-fitted-title,var(--u-title-mobile,38px));line-height:1.04;margin:0 0 12px}
 .bb-campaign .bb-campaign-intro{font-size:var(--intro-mobile,14px);line-height:1.6;margin:0;max-width:100%;max-height:4.8em;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
 .bb-campaign-actions{margin-top:var(--u-button-gap-mobile,24px);gap:8px}.bb-campaign-actions a{padding:8px 20px;font-size:11px}
 .bb-campaign-proof,.bb-campaign-labels{display:none}
 .bb-campaign[data-unified-desktop-align]{--horizontal:start}
 .bb-campaign[data-unified-mobile-align="center"]{--horizontal:center}.bb-campaign[data-unified-mobile-align="right"]{--horizontal:end}
 .bb-campaign[data-unified-desktop-align] .bb-campaign-intro{margin-inline:0}.bb-campaign[data-unified-mobile-align="center"] .bb-campaign-intro{margin-inline:auto}.bb-campaign[data-unified-mobile-align="right"] .bb-campaign-intro{margin-left:auto}
 .bb-campaign-controls{bottom:4px}
 /* Both slides share a fixed text row, so this remains attached to the real
    image bottom for every configured ratio and image height. */
 .bb-campaign[data-mobile-controls="image"] .bb-campaign-controls{bottom:calc(var(--mobile-copy-height,340px) + var(--mobile-controls-offset,8px));color:var(--mobile-controls-color,#181413)}
 .bb-campaign[data-mobile-controls="image"] .bb-campaign-controls:before{content:"";position:absolute;inset:8px -6px;z-index:-1;border-radius:999px;background:color-mix(in srgb,var(--mobile-controls-bg,#fffaf3) var(--mobile-controls-opacity,72%),transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
 .bb-campaign[data-mobile-controls="image"] .bb-campaign-content{padding-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.bb-campaign *{transition:none!important;animation:none!important}}

/* Per-slide position is independent of animation transforms. */
@media(min-width:960px){.bb-campaign-slide>.bb-campaign-content>.bb-campaign-copy{position:relative;top:calc(0px - var(--copy-lift-desktop,48px))}}
