/* Four Seasons artwork stays untouched; only the message layer changes. */
.campaign-hero{position:relative;overflow:visible!important;border-bottom:2px solid var(--green)}
.campaign-hero picture,.campaign-hero picture img{display:block;width:100%;height:auto}
.campaign-hero picture img{transform:none!important;object-fit:contain!important}
.campaign-stage{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(110deg,#0f2d24,#173f36);color:#fff;padding:18px max(22px,calc((100vw - 1180px)/2));min-height:126px}
.campaign-content{max-width:690px}.campaign-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#a9d38a}.campaign-title{font-size:clamp(1.15rem,2vw,1.75rem);line-height:1.2;margin:4px 0}.campaign-description{font-size:.9rem;margin:4px 0 9px}.campaign-link{display:inline-block;color:#fff;text-decoration:underline;text-underline-offset:4px;font-weight:700;font-size:.85rem}
.campaign-controls{display:flex;align-items:center;gap:10px;white-space:nowrap}.campaign-controls button{width:36px;height:36px;border:1px solid #ffffff99;border-radius:50%;color:white;background:#ffffff1a;cursor:pointer}.campaign-controls button:hover,.campaign-controls button:focus-visible{background:#ffffff44}.campaign-count{font-size:.8rem}
.campaign-hero[data-hero-layout="overlay"] .campaign-stage{position:absolute;bottom:16px;left:clamp(12px,3vw,48px);right:auto;width:min(490px,calc(100% - 24px));border-radius:12px;padding:16px 20px;background:#0f2d24dc;backdrop-filter:blur(5px)}
.campaign-hero[data-hero-layout="overlay"] .campaign-description{font-size:.85rem}
.hero-preview-controls{display:flex;align-items:center;justify-content:center;gap:12px;background:#f1f6ec;padding:12px;font-size:.85rem;font-weight:700}
.hero-preview-controls[hidden]{display:none}.hero-preview-controls select{padding:7px;border:1px solid #71975e;border-radius:6px;background:#fff}
@media(min-width:768px){.campaign-hero[data-hero-layout="hybrid"] .campaign-stage{position:absolute;bottom:16px;left:clamp(12px,3vw,48px);width:min(490px,calc(100% - 24px));border-radius:12px;padding:16px 20px;background:#0f2d24dc;backdrop-filter:blur(5px)}}
@media(max-width:767px){.campaign-stage{padding:15px 18px;min-height:145px;gap:12px}.campaign-description{font-size:.82rem}.campaign-hero[data-hero-layout="overlay"] .campaign-stage{bottom:8px;left:8px;width:calc(100% - 16px);padding:9px 12px;min-height:0}.campaign-hero[data-hero-layout="overlay"] .campaign-title{font-size:1rem}.campaign-hero[data-hero-layout="overlay"] .campaign-description{display:none}.campaign-controls{gap:5px}.campaign-controls button{width:30px;height:30px}.hero-preview-controls{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.campaign-stage{transition:none}}

.campaign-stage[hidden]{display:none!important}

/* Stable overlay dimensions across campaign slides (A and desktop C). */
.campaign-hero[data-hero-layout="overlay"] .campaign-stage,
.campaign-hero[data-hero-layout="hybrid"] .campaign-stage {
  box-sizing:border-box;
}
@media(min-width:768px){
  .campaign-hero[data-hero-layout="overlay"] .campaign-stage,
  .campaign-hero[data-hero-layout="hybrid"] .campaign-stage {
    width:min(490px,calc(100% - 24px));
    height:168px;
    min-height:168px;
    max-height:168px;
    padding:15px 18px;
    overflow:hidden;
  }
}
.campaign-hero[data-hero-layout="overlay"] .campaign-content,
.campaign-hero[data-hero-layout="hybrid"] .campaign-content {
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
}
.campaign-hero[data-hero-layout="overlay"] .campaign-eyebrow,
.campaign-hero[data-hero-layout="hybrid"] .campaign-eyebrow,
.campaign-hero[data-hero-layout="overlay"] .campaign-title,
.campaign-hero[data-hero-layout="hybrid"] .campaign-title,
.campaign-hero[data-hero-layout="overlay"] .campaign-link,
.campaign-hero[data-hero-layout="hybrid"] .campaign-link {
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.campaign-hero[data-hero-layout="overlay"] .campaign-description,
.campaign-hero[data-hero-layout="hybrid"] .campaign-description {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  min-height:2.6em;
  max-height:2.6em;
}
.campaign-hero[data-hero-layout="overlay"] .campaign-controls,
.campaign-hero[data-hero-layout="hybrid"] .campaign-controls {
  flex:0 0 auto;
}
@media(max-width:767px){
  .campaign-hero[data-hero-layout="overlay"] .campaign-stage {
    height:108px;
    min-height:108px;
    max-height:108px;
    padding:10px 12px;
    overflow:hidden;
  }
  .campaign-hero[data-hero-layout="overlay"] .campaign-description {display:none}
  .campaign-hero[data-hero-layout="hybrid"] .campaign-description {display:block;min-height:0;max-height:none}
}

/* Overlay refinement: consistent box on every desktop slide, lighter tint. */
@media (min-width:768px) {
  section.campaign-hero[data-hero-layout="overlay"] > .campaign-stage,
  section.campaign-hero[data-hero-layout="hybrid"] > .campaign-stage {
    display:flex;
    position:absolute;
    height:168px!important;
    min-height:168px!important;
    max-height:168px!important;
    width:min(490px,calc(100% - 24px));
    flex:0 0 auto;
    align-items:center;
    overflow:hidden;
  }
}
section.campaign-hero[data-hero-layout="overlay"] > .campaign-stage,
section.campaign-hero[data-hero-layout="hybrid"] > .campaign-stage {
  background:rgba(15,45,36,.68);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
@media(max-width:767px){
  section.campaign-hero[data-hero-layout="overlay"] > .campaign-stage {
    height:108px!important;
    min-height:108px!important;
    max-height:108px!important;
  }
}

/* Consistent internal layout even when a campaign title wraps. */
@media (min-width:768px) {
  section.campaign-hero[data-hero-layout="overlay"] > .campaign-stage,
  section.campaign-hero[data-hero-layout="hybrid"] > .campaign-stage {
    align-items:center;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-content,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-content {
    height:138px;
    display:grid;
    grid-template-rows:16px 48px 42px 20px;
    align-content:center;
    row-gap:2px;
    min-width:0;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-eyebrow,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-eyebrow {
    line-height:16px;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-title,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-title {
    margin:0;
    font-size:1.45rem;
    line-height:24px;
    height:48px;
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-description,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-description {
    margin:0;
    font-size:.85rem;
    line-height:19px;
    height:42px;
    min-height:42px;
    max-height:42px;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-link,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-link {
    line-height:20px;
    align-self:end;
  }
}

/* Partner Stories: controlled visual language, no change to the approved stage height. */
.campaign-stage{isolation:isolate}
.campaign-stage .campaign-content,.campaign-stage .campaign-controls{position:relative;z-index:2}
.campaign-visual{position:absolute;z-index:1;right:65px;top:15px;width:90px;height:90px;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.33}
.campaign-visual[hidden]{display:none!important}
.campaign-visual img{display:block;width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 1px 2px #0f2d2440)}
.campaign-visual span{display:none}
.campaign-visual[data-style="badge"]{width:90px;height:90px;top:18px;right:66px;border:1px solid #ffffff75;border-radius:12px;background:#ffffff13;opacity:.65;flex-direction:column}
.campaign-visual[data-style="badge"] img{width:46px;height:46px}
.campaign-visual[data-style="badge"] span{display:block;color:white;font-size:8px;font-weight:700;letter-spacing:.04em;text-align:center;margin-top:4px;max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.campaign-visual[data-style="mixed"]{opacity:.55;flex-direction:column}
.campaign-visual[data-style="mixed"] img{width:65px;height:65px}
.campaign-visual[data-style="mixed"] span{display:block;color:white;font-size:8px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
@media(max-width:767px){.campaign-visual{display:none!important}}

/* Compact, bottom-right partner navigation. Keep it away from artwork. */
@media(min-width:768px){
  section.campaign-hero[data-hero-layout="overlay"] > .campaign-stage,
  section.campaign-hero[data-hero-layout="hybrid"] > .campaign-stage{position:absolute}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-controls{
    position:absolute;right:14px;bottom:10px;gap:5px;
    z-index:4;align-items:center;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls button,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-controls button{
    width:24px;height:24px;font-size:13px;line-height:20px;
    border-color:#ffffff70;background:#ffffff0b;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-count,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-count{font-size:.68rem}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-visual{right:24px;top:13px}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-content,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-content{padding-right:12px}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-link,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-link{max-width:calc(100% - 110px)}
}
@media(max-width:767px){
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls{position:absolute;right:10px;bottom:9px;gap:4px;z-index:4}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls button{width:24px;height:24px;font-size:13px;line-height:20px}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-count{font-size:.67rem}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-link{max-width:calc(100% - 112px)}
}

/* Partner motifs as quiet, oversized background watermarks rather than foreground icons. */
@media(min-width:768px){
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-visual {
    position:absolute;
    inset:0 0 0 auto;
    width:55%;
    height:100%;
    border:0;
    border-radius:0;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:.12;
    overflow:hidden;
    transform:none;
    z-index:0;
    pointer-events:none;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,black 45%,black 100%);
    mask-image:linear-gradient(to right,transparent 0%,black 45%,black 100%);
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual img,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-visual img {
    width:205px;
    height:205px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    filter:none;
    transform:translate(20px,5px);
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual span,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-visual span {display:none}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual[data-style],
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-visual[data-style] {
    opacity:.12;
    background:transparent;
    border:0;
    flex-direction:row;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-content,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-content,
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-controls {z-index:2}
}
@media(max-width:767px){.campaign-visual{display:none!important}}

/* Desktop: quiet edge chevrons with generous hit areas. */
@media(min-width:768px){
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-controls {
    position:static;pointer-events:none;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls button,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-controls button {
    position:absolute;top:50%;transform:translateY(-50%);
    width:40px;height:72px;z-index:5;
    border:0;border-radius:0;background:transparent;
    color:rgba(255,255,255,.18);font-size:54px;line-height:1;
    pointer-events:auto;transition:color .2s ease;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-prev,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-prev {left:0}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-next,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-next {right:0}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls button:hover,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-controls button:hover,
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls button:focus-visible,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-controls button:focus-visible {
    color:rgba(255,255,255,.85);background:transparent;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-count,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-count {
    position:absolute;right:14px;bottom:9px;font-size:.68rem;pointer-events:none;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-content,
  section.campaign-hero[data-hero-layout="hybrid"] .campaign-content {padding-left:20px;padding-right:20px}
}
/* Mobile: watermark as on desktop, no visible arrows; native vertical scroll stays intact. */
@media(max-width:767px){
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual {
    display:flex!important;position:absolute;inset:0 0 0 auto;
    width:55%;height:100%;z-index:0;opacity:.12;
    align-items:center;justify-content:center;pointer-events:none;
    border:0;border-radius:0;background:transparent;
    -webkit-mask-image:linear-gradient(to right,transparent,black 50%);
    mask-image:linear-gradient(to right,transparent,black 50%);
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual[hidden]{display:none!important}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual img {
    width:135px;height:135px;max-width:none;max-height:none;
    object-fit:contain;transform:translate(12px,0);filter:none;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual span {display:none!important}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-visual[data-style] {
    opacity:.12;border:0;background:transparent;flex-direction:row;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls button {
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls button:focus-visible {
    position:static;width:28px;height:28px;margin:0;clip:auto;
    overflow:visible;background:#173f36;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-controls {
    position:absolute;right:10px;bottom:8px;z-index:4;
  }
  section.campaign-hero[data-hero-layout="overlay"] .campaign-count {font-size:.67rem}
  section.campaign-hero[data-hero-layout="overlay"] .campaign-stage {touch-action:pan-y}
}

/* Smaller, unobtrusive but legible advertising disclosure. */
section.campaign-hero[data-hero-layout="overlay"] .campaign-eyebrow{font-size:10px!important;letter-spacing:.035em!important}
@media(max-width:767px){section.campaign-hero[data-hero-layout="overlay"] .campaign-eyebrow{font-size:8px!important;letter-spacing:0!important}}
