/* Ambassador campaign treatments: magazine-era print advertising.
   Uses the site's tokens only. Empty slots take no space until filled. */

[data-amb-ad]:not(.amb-ad){display:block;height:0;margin:0;padding:0;overflow:hidden;border:0;}

.amb-ad{
  --amb-gold:#E7A93C; --amb-cream:var(--cream,#FDF9EE); --amb-coal:var(--coal,#030303); --amb-ember:var(--ember,#FE4B0B);
  position:relative;margin:40px 0;font-family:var(--body);
}
.amb-ad h2.amb-head{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.95;margin:0 0 10px;text-wrap:balance;}
.amb-kicker{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;}
.amb-body{font-family:var(--body-serif);font-size:18px;line-height:1.45;margin:0 0 14px;max-width:46ch;}
.amb-benefit{font-family:var(--display-heavy);font-weight:400;text-transform:uppercase;white-space:nowrap;}
.amb-cta{
  display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:2px;text-decoration:none;
  font-family:var(--display-heavy);text-transform:uppercase;font-size:15px;background:var(--amb-ember);color:var(--amb-coal);border:2px solid var(--amb-ember);
}
.amb-cta:hover{background:#ff6a33;border-color:#ff6a33;}
.amb-cta:focus-visible{outline:3px solid var(--amb-gold);outline-offset:3px;}
.amb-mark{display:block;margin-top:14px;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.75;}
.amb-fine{font-family:var(--body);font-size:12.5px;line-height:1.4;margin:12px 0 0;opacity:.8;max-width:60ch;}

/* 1. FULL-PAGE: a genuine full-page ad in the magazine */
.amb-ad--full-page{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(88vh,760px);
  background:var(--amb-coal);color:var(--amb-cream);border:10px solid var(--amb-cream);outline:2px solid var(--amb-coal);margin:56px 0;
}
.amb-fp-photo{background:url('../photos/beat-freaq/boat-ride-all-together.jpg') center/cover no-repeat;filter:grayscale(.35) contrast(1.1);min-height:320px;}
.amb-fp-copy{padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;justify-content:center;}
.amb-ad--full-page .amb-kicker{color:var(--amb-gold);}
.amb-fp-75{font-family:var(--display);font-size:clamp(120px,18vw,260px);line-height:.8;margin:0 0 6px;color:var(--amb-ember);letter-spacing:-.02em;}
.amb-fp-75 span{font-size:.45em;vertical-align:top;margin-left:4px;color:var(--amb-gold);}
.amb-ad--full-page h2.amb-head{font-size:clamp(38px,4.6vw,64px);}
.amb-ad--full-page .amb-body{font-size:clamp(18px,1.6vw,21px);}

/* 2. COUPON: a perforated tear-out insert */
.amb-ad--coupon{max-width:560px;margin-inline:auto;transform:rotate(-1.2deg);}
.amb-coupon-inner{
  position:relative;background:#fff6de;color:var(--amb-coal);padding:26px 28px 22px;
  border:3px dashed var(--amb-coal);box-shadow:6px 6px 0 rgba(3,3,3,.85);
}
.amb-scissors{position:absolute;top:-17px;left:22px;font-size:26px;background:var(--amb-cream);padding:0 6px;line-height:1;}
.amb-ad--coupon .amb-kicker{color:var(--amb-ember);}
.amb-ad--coupon h2.amb-head{font-size:clamp(28px,3.4vw,40px);}

/* 3. CONTEXTUAL: an editorial insert that closes the story */
.amb-ad--contextual{
  background:var(--amb-cream);color:var(--amb-coal);border-top:6px solid var(--amb-ember);border-bottom:2px solid var(--amb-coal);
  padding:22px clamp(18px,3vw,32px) 22px;
}
.amb-ad--contextual .amb-kicker{color:var(--amb-ember);}
.amb-ad--contextual h2.amb-head{font-size:clamp(30px,4vw,50px);}

/* 4. CLASSIFIED: a small back-of-the-magazine ad */
.amb-ad--classified{
  max-width:340px;background:var(--amb-coal);color:var(--amb-cream);padding:16px 18px 14px;
  border:4px double var(--amb-cream);outline:2px solid var(--amb-coal);
}
.amb-ad--classified .amb-kicker{color:var(--amb-gold);font-size:11px;}
.amb-ad--classified h2.amb-head{font-size:26px;}
.amb-ad--classified .amb-body{font-family:var(--mono);font-size:14px;line-height:1.45;}
.amb-ad--classified .amb-cta{background:transparent;color:var(--amb-cream);border-color:var(--amb-cream);min-height:40px;padding:8px 12px;font-size:13px;}
.amb-ad--classified .amb-cta:hover{background:var(--amb-cream);color:var(--amb-coal);}
.amb-ad--classified .amb-fine{font-size:11px;}

/* 5. PROGRESS: mixer-channel level meter driven by the real reward ladder */
.amb-ad--progress{background:var(--amb-coal);color:var(--amb-cream);padding:clamp(20px,3vw,34px);border-top:6px solid var(--amb-gold);}
.amb-ad--progress .amb-kicker{color:var(--amb-gold);}
.amb-ad--progress h2.amb-head{font-size:clamp(34px,4.4vw,58px);}
.amb-meter{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:18px 0 18px;}
.amb-ch{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;background:#141414;border:1px solid #2a2a2a;border-radius:3px;}
.amb-led{width:100%;max-width:42px;height:90px;border-radius:2px;background:repeating-linear-gradient(to top,#2b2b2b 0 8px,#141414 8px 11px);}
.amb-ch.is-on .amb-led{background:repeating-linear-gradient(to top,var(--amb-ember) 0 8px,#141414 8px 11px);box-shadow:0 0 14px rgba(254,75,11,.45);}
.amb-ch:last-child.is-on .amb-led{background:repeating-linear-gradient(to top,var(--amb-gold) 0 8px,#141414 8px 11px);}
.amb-ch-amt{font-family:var(--display-heavy);font-size:14px;}
.amb-ch-bucks{font-family:var(--mono);font-size:11px;opacity:.8;text-align:center;}
.amb-slider-label{display:block;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;}
.amb-slider{width:100%;accent-color:var(--amb-ember);margin:0 0 12px;}
.amb-readout{font-family:var(--body);font-size:17px;margin:0 0 16px;}
.amb-readout strong{font-family:var(--display-heavy);font-weight:400;color:var(--amb-gold);}

@media (max-width:760px){
  .amb-ad--full-page{grid-template-columns:1fr;min-height:0;}
  .amb-fp-photo{min-height:240px;}
  .amb-meter{grid-template-columns:repeat(4,minmax(0,1fr));}
  .amb-ad--coupon{transform:none;}
}
@media (prefers-reduced-motion:reduce){.amb-ad--coupon{transform:none;}}

/* G009 accessibility (WCAG 1.4.3): small orange kickers on light ad backgrounds use the darker brand
   red-orange (5.4:1). Dark ads keep gold. */
.amb-ad--coupon .amb-kicker,.amb-ad--contextual .amb-kicker{color:#C0331A;}
