/* Shared visual language with the support icons; promotion-specific flow geometry. */
.promotion-icon-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.promotion-icon{display:inline-block;width:25px;height:25px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
body[data-service=promotion] .format-tabs button{gap:11px}
body[data-service=promotion] .tab-label{flex:1}
body[data-service=promotion] .format-tabs .promotion-icon{color:#698d98}
body[data-service=promotion] .format-tabs [aria-selected=true] .promotion-icon{color:#275e70}
body[data-service=promotion] .art-promotion{height:535px}
body[data-service=promotion] .traffic-console{top:58px;left:0;right:0;overflow:visible}
body[data-service=promotion] .traffic-map{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(55px,.5fr) minmax(95px,.65fr);gap:0;align-items:center;min-height:0;padding:0 19px;margin-top:12px}
body[data-service=promotion] .traffic-sources{display:grid;grid-template-rows:repeat(3,52px);gap:0;min-width:0}
body[data-service=promotion] .traffic-sources>span{display:flex;align-items:center;gap:8px;align-self:stretch;margin:4px 0;padding:5px 8px;border:1px solid #a5cadb38;background:#c8e4e508;color:#cddfe5;font-size:13px;line-height:1.35;min-width:0}
body[data-service=promotion] .traffic-sources>span>span{min-width:0}
body[data-service=promotion] .traffic-sources .promotion-icon{width:21px;height:21px;color:#a1c8d4}
body[data-service=promotion] .traffic-sources small{display:block;color:#8eabb8;font-size:11px;line-height:1.4;margin-top:2px}
body[data-service=promotion] .traffic-connectors{display:block;width:100%;height:156px;overflow:visible;align-self:stretch}
body[data-service=promotion] .traffic-branch{stroke:#9dbfcc66;stroke-width:1;vector-effect:non-scaling-stroke}
body[data-service=promotion] .traffic-trunk{stroke:#b4d6de;stroke-width:1.25;vector-effect:non-scaling-stroke}
body[data-service=promotion] .traffic-junction{fill:#bedfe5;stroke:none}
body[data-service=promotion] .traffic-pulse{fill:#e2f7f7;stroke:none}
body[data-service=promotion] .traffic-site{min-height:112px;padding:12px 8px;align-self:center;background:#a9d3e50c;border-color:#a5cadb70}
body[data-service=promotion] .traffic-site>span{font-size:12px;letter-spacing:.7px}
body[data-service=promotion] .traffic-site small{font-size:11px;line-height:1.5}
body[data-service=promotion] .traffic-channel-note{margin:13px 19px 0;color:#91aebb;font-size:11px;line-height:1.65}
body[data-service=promotion] .traffic-goals{margin:12px 19px 0;padding:13px 0 18px;font-size:11px;gap:8px 11px}
@media(max-width:1150px){body[data-service=promotion] .traffic-map{padding-inline:15px;grid-template-columns:minmax(0,1.4fr) minmax(48px,.4fr) minmax(88px,.65fr)}body[data-service=promotion] .traffic-sources>span{font-size:12px;gap:6px;padding-inline:6px}body[data-service=promotion] .traffic-sources .promotion-icon{width:18px;height:18px}body[data-service=promotion] .traffic-sources small{font-size:10px}body[data-service=promotion] .traffic-title h2{font-size:25px}body[data-service=promotion] .traffic-title h2 em{font-size:20px}}
@media(max-width:900px){body[data-service=promotion] .traffic-map{padding-inline:12px;grid-template-columns:minmax(0,1.4fr) minmax(35px,.3fr) minmax(72px,.55fr)}body[data-service=promotion] .traffic-sources>span{font-size:11px;gap:5px;padding-inline:5px}body[data-service=promotion] .traffic-sources .promotion-icon{width:17px;height:17px}body[data-service=promotion] .traffic-sources small{font-size:10px}body[data-service=promotion] .traffic-site{padding-inline:5px}body[data-service=promotion] .traffic-site>span{font-size:10px}body[data-service=promotion] .traffic-site small{font-size:10px}body[data-service=promotion] .traffic-title h2{font-size:23px}body[data-service=promotion] .traffic-title h2 em{font-size:18px}body[data-service=promotion] .format-tabs button{gap:8px}body[data-service=promotion] .format-tabs .promotion-icon{width:22px;height:22px}}
@media(max-width:650px){body[data-service=promotion] .art-promotion{height:515px}body[data-service=promotion] .traffic-console{top:48px;left:0;right:0}body[data-service=promotion] .traffic-map{grid-template-columns:minmax(0,1.4fr) minmax(38px,.35fr) minmax(80px,.6fr)}body[data-service=promotion] .traffic-sources>span{font-size:12px}body[data-service=promotion] .traffic-title h2{font-size:25px}body[data-service=promotion] .traffic-title h2 em{font-size:20px}body[data-service=promotion] .format-tabs button{flex-wrap:wrap;align-content:start}body[data-service=promotion] .format-tabs .tab-label{order:2;flex-basis:calc(100% - 36px)}body[data-service=promotion] .format-tabs .tab-dot{margin-left:auto}}

/* Three incoming routes, with secondary directions grouped below the diagram. */
body[data-service=promotion] .traffic-extras{display:flex;flex-wrap:wrap;gap:7px;margin:15px 19px 0}
body[data-service=promotion] .traffic-extras>span{border:1px solid #a5cadb30;border-radius:3px;padding:5px 8px;color:#a9c3ce;background:#b8d7df06;font-size:11px;line-height:1.4}
body[data-service=promotion] .traffic-channel-note{margin-top:9px}
body[data-service=promotion] .traffic-goals{margin-top:8px;padding-block:10px 14px}
body[data-service=promotion] .format-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-service=promotion] .format-tabs button{padding-inline:14px;line-height:1.5}
@media(max-width:1000px){body[data-service=promotion] .format-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* A point arriving at the left edge sends light around the destination frame. */
body[data-service=promotion] .traffic-site{position:relative}
body[data-service=promotion] .traffic-receiver{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;pointer-events:none}
body[data-service=promotion] .traffic-receiver-glow{stroke:#c9f4f5;stroke-width:1.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #9ae1eb)}
body[data-service=promotion] .traffic-receiver-wave{stroke:#ecffff;stroke-width:2;stroke-dasharray:.22 .78;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #9ee7f1)}
