/* Two panels beneath the hero. */
.cta{display:grid;grid-template-columns:50% 50%;min-height:var(--strip-height);position:relative;padding-top:2px}.cta article{display:flex;align-items:center;gap:18px;padding:8px 6vw}.cta h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:var(--bar-font-size);font-weight:400;line-height:1.1;margin:0 0 4px}.cta p{font-size:12px;line-height:1.25;margin:0}.cta-camp{position:relative;color:#fff;background:#20201b url('../img/camp-boxing-background.png') center/cover;}.cta-camp:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000d,#0009 65%,#0003)}.cta-camp>*{position:relative}.camp-copy{display:block;min-width:0}.cta-camp .button{white-space:nowrap;flex-shrink:0;margin-left:auto}.cta-location{position:relative;background:repeating-linear-gradient(35deg,transparent 0 38px,#dce9ec 39px 41px,transparent 42px 80px),#f6f6f6;padding-left:28px;padding-right:3vw}.location-pin{color:var(--accent);width:22px;flex:0 0 22px;display:flex;align-items:center;justify-content:center}.location-pin svg{display:block;width:22px;height:30px}.cta-location .button{margin-left:auto;white-space:nowrap}.map-label{position:absolute;right:24px;bottom:4px;font-size:10px;line-height:1.2;white-space:nowrap}

/* Readable HTML copy and button over the approved boxing photograph. */
.cta-camp h2 { font-size:var(--bar-font-size); font-weight:400; letter-spacing:.4px; }
.cta-camp h2, .cta-camp p { text-shadow: 0 1px 3px #000; }


/* Reuse the hero button appearance with dimensions suited to the strip. */



/* Fade the edge of the camp photograph into the unchanged map background. */
.cta-camp::after {
    content:''; position:absolute; right:-40px; top:0; bottom:0; width:80px; z-index:1;
    background:linear-gradient(90deg,transparent,#f6f6f6);
    backdrop-filter:blur(8px); mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);
    pointer-events:none;
}

/* Same 88%-width/max-width container edge as Hero; leave room at the panel end. */
.cta .cta-camp { padding-left:max(6vw,calc((100vw - var(--content))/2)); padding-right:28px; }

/* Use actual heading and panel measurements for the free-space midpoint. */
.cta-camp.is-centered .button { position:absolute; left:var(--camp-button-left); top:50%; margin:0; transform:translateY(-50%); z-index:2; }

/* Align to the visible bag edge measured from the unchanged background photograph. */
.cta-location.is-aligned .button { position:absolute; left:var(--map-button-left); top:50%; margin:0; transform:translateY(-50%); }
.cta-location.is-aligned > div { padding-bottom:14px; }
.cta-location.is-aligned .map-label { left:var(--location-copy-left); right:auto; bottom:9px; }

/* Desktop home: move only the camp button 12px left. */
@media (min-width:901px) {
    body.home .cta-camp .button { translate:-12px 0; }
}
