/* Original photographs remain unobscured; all copy sits below the image. */
.hero-art.promotion-host{background:var(--raised,#edf1fa);overflow:hidden;min-width:0}
.promotion{height:100%;display:flex;flex-direction:column;min-width:0;outline-offset:-4px;touch-action:pan-y}
.promotion-stage{display:grid;flex:1;min-width:0;min-height:0}
.promotion-slide{position:relative;grid-area:1 / 1;display:flex;flex-direction:column;margin:0;min-width:0;overflow:hidden}
.promotion-slide[hidden]{display:none}
.promotion-slide img{display:block;position:static;width:100%;height:clamp(200px,22vw,300px);object-fit:contain;object-position:center;background:var(--raised,#edf1fa);flex:none}
.promotion-slide figcaption{position:static;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:12px 20px;min-height:146px;flex:1;background:var(--surface,#fff);color:var(--ink,#202842)}
.promotion-label{font-size:10px;font-weight:700;line-height:1.3;color:var(--muted,#6b7285)}
.promotion-slide h2{font-size:21px;line-height:1.2;letter-spacing:-.3px;margin:3px 0 2px;color:inherit}
.promotion-business{font-size:13px;line-height:1.25;color:inherit}
.promotion-phone{display:inline-flex;align-items:center;min-height:44px;color:var(--blue,#293caa);text-decoration:underline;text-underline-offset:3px;font-size:18px;font-weight:750;line-height:1.2}
.promotion-disclaimer{font-size:10px;line-height:1.4;color:var(--muted,#6b7285)}
.promotion-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;padding:2px 0;flex:none;background:var(--surface,#fff);color:var(--ink,#202842);border-top:1px solid var(--line,#e5e8ef)}
.promotion-controls button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;font-size:20px;border:0;background:transparent;color:inherit}
.promotion-dots{display:flex;gap:0}.promotion-dots button{width:44px;min-width:44px}
.promotion-dots button span{width:7px;height:7px;border-radius:50%;border:1px solid currentColor;background:transparent}
.promotion-dots button[aria-pressed="true"] span{background:currentColor;outline:1px solid currentColor;outline-offset:3px}
.promotion-count{display:none}
.promotion-controls button:focus-visible{outline:3px solid var(--focus,#145cc1);outline-offset:-3px}
@media(max-width:760px){
 .hero{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:14px;margin-bottom:18px}
 .hero>div:first-child{padding:21px 20px 18px}.hero .eyebrow{font-size:9px;margin-bottom:10px;letter-spacing:1.4px}
 .hero h1{font-size:clamp(23px,6.6vw,30px);line-height:1.15;letter-spacing:-.6px}
 .hero p{font-size:12px;line-height:1.55;max-width:100%;margin:12px 0}
 .hero .hero-demo-note{font-size:10px;margin:8px 0 0}.hero-notes{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:13px;font-size:10px}
 .hero-art.promotion-host{height:auto;min-height:0}
 .promotion-slide img{height:auto;aspect-ratio:16 / 9}
 .promotion-slide figcaption{padding:10px 16px;min-height:154px}
 .promotion-slide h2{font-size:19px;line-height:1.2;margin:3px 0 2px}
 .promotion-label,.promotion-disclaimer{font-size:10px}.promotion-business{font-size:12px}.promotion-phone{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.promotion *{scroll-behavior:auto}}
