/* Snapchat Ads showcase: a geofence map with a radius you drag, and Ida's phone with friends' stories and our ad.
   snapchat-ads.js walks the people, sizes the radius and plays the stories */
.show--snapchat-ads { --pw: 300px; --e: cubic-bezier(.2,.8,.2,1); --spring: cubic-bezier(.2,1.6,.4,1); --out: #bdb6ab;
  position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 40px 24px 100px; scroll-margin-top: 40px; }
.show--snapchat-ads .sec-head { margin-bottom: 40px; }
.show--snapchat-ads .sec-head__lead { max-width: 400px; }
.show--snapchat-ads .sn { display: grid; grid-template-columns: minmax(0, 1fr) var(--pw); gap: 48px; align-items: center; }

/* ---------- The map card ---------- */
.show--snapchat-ads .sn-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 40px 80px -30px rgba(17,17,17,.18); }
.show--snapchat-ads .sn-card__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px 14px 16px; }
.show--snapchat-ads .sn-biz { display: flex; align-items: center; gap: 10px; min-width: 0; }
.show--snapchat-ads .sn-biz > span { display: flex; flex-direction: column; line-height: 1.2; }
.show--snapchat-ads .sn-biz b { font: 800 18px/1.1 var(--display); letter-spacing: -.02em; }
.show--snapchat-ads .sn-biz small { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.show--snapchat-ads .sn-live { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(47,158,91,.18); }
.motion .show--snapchat-ads.is-live .sn-live { animation: snLive 1.8s ease-in-out infinite; }
@keyframes snLive { 50% { box-shadow: 0 0 0 6px rgba(47,158,91,0); } }
.show--snapchat-ads .sn-av { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--c, var(--accent)); color: var(--ink); font: normal 800 15px/1 var(--display); }
.show--snapchat-ads .sn-biz .sn-av { color: #fff; }

.show--snapchat-ads .sn-map { position: relative; aspect-ratio: 720 / 460; overflow: hidden; background: #f3efe8; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); cursor: crosshair; -webkit-tap-highlight-color: transparent; }
.show--snapchat-ads .sn-art { display: block; width: 100%; height: 100%; font-family: var(--body); user-select: none; -webkit-user-select: none; }
.show--snapchat-ads .sn-land { fill: #f3efe8; }
.show--snapchat-ads .sn-water { fill: #cfe1ea; }
.show--snapchat-ads .sn-park { fill: #dde9cd; }
.show--snapchat-ads .sn-tree { fill: #c7dbb2; }
.show--snapchat-ads .sn-pathw { fill: none; stroke: #eee8da; stroke-width: 5; stroke-linecap: round; }
.show--snapchat-ads .sn-blk rect { fill: #e8e2d7; }
.show--snapchat-ads .sn-yard rect { fill: #f0ebe2; }
.show--snapchat-ads .sn-blk--hi rect { fill: #e3dccf; stroke: #d9d1c3; stroke-width: 1; }
.show--snapchat-ads .sn-st { fill: none; stroke-linecap: round; }
.show--snapchat-ads .sn-st--edge { stroke: #e1d9cb; stroke-width: 15; }
.show--snapchat-ads .sn-st--top { stroke: #fff; stroke-width: 11; }
.show--snapchat-ads .sn-rail { fill: none; stroke: #c9c1b4; stroke-width: 3; }
.show--snapchat-ads .sn-rail--t { stroke-width: 9; stroke-dasharray: 1.5 6; }
.show--snapchat-ads .sn-lbl { fill: #a29b90; font-size: 10.5px; font-weight: 700; letter-spacing: .16em; }
.show--snapchat-ads .sn-scale path { fill: none; stroke: #8f897f; stroke-width: 1.5; }
.show--snapchat-ads .sn-scale text { fill: #8f897f; font-size: 10px; font-weight: 700; }

/* The radius: a soft orange field, a dashed edge that slowly turns, a line out to the handle */
.show--snapchat-ads .sn-fence__fill { fill: url(#sn-glow); }
.show--snapchat-ads .sn-fence__edge { fill: none; stroke: var(--accent); stroke-width: 2.2; stroke-dasharray: 7 7; }
.show--snapchat-ads .sn-fence__r { stroke: var(--ink); stroke-opacity: .5; stroke-width: 1.3; stroke-dasharray: 3 4; }
.motion .show--snapchat-ads.is-live .sn-fence__edge { animation: snDash 1.6s linear infinite; }
@keyframes snDash { to { stroke-dashoffset: -28; } }
.show--snapchat-ads.is-drag .sn-fence__edge { stroke-width: 3; }

/* People: grey outside, orange inside, a ping when they cross in */
.show--snapchat-ads .sn-p__d { fill: var(--out); stroke: #fff; stroke-width: 1.6; transition: fill .3s; }
.show--snapchat-ads .sn-p__g { fill: none; stroke: var(--accent); stroke-width: 1.6; opacity: 0; transform-box: fill-box; transform-origin: center; }
.show--snapchat-ads .sn-p.is-in .sn-p__d { fill: var(--accent); }
.motion .show--snapchat-ads .sn-p.is-in .sn-p__g { animation: snPing 1s var(--e); }
@keyframes snPing { 0% { opacity: .9; transform: scale(.6); } 100% { opacity: 0; transform: scale(3.4); } }

/* Ida: her own dot and name; it rings while the ad plays on her phone */
.show--snapchat-ads .sn-ida__ring { fill: #fff; stroke: var(--out); stroke-width: 2; transition: stroke .3s; }
.show--snapchat-ads .sn-ida__dot { fill: var(--ink); }
.show--snapchat-ads .sn-ida__i { fill: #fff; font: 800 11px var(--display); }
.show--snapchat-ads .sn-ida__tag rect { fill: var(--ink); }
.show--snapchat-ads .sn-ida__tag text { fill: #fff; font-size: 11.5px; font-weight: 700; }
.show--snapchat-ads .sn-ida.is-in .sn-ida__ring { stroke: var(--accent); }
.show--snapchat-ads .sn-ida.is-ad .sn-ida__tag rect { fill: var(--accent); }
.show--snapchat-ads .sn-ida__ring { transform-box: fill-box; transform-origin: center; }
.motion .show--snapchat-ads .sn-ida.is-ad .sn-ida__ring { animation: snBeat 1.2s ease-in-out infinite; }
@keyframes snBeat { 50% { transform: scale(1.22); } }

/* The shop */
.show--snapchat-ads .sn-shop__pin { fill: var(--accent); stroke: #fff; stroke-width: 2.4; filter: drop-shadow(0 6px 6px rgba(17,17,17,.25)); }
.show--snapchat-ads .sn-shop__k { fill: #fff; font: 800 14px var(--display); }
.show--snapchat-ads .sn-shop__tag rect, .show--snapchat-ads .sn-rv rect { fill: #fff; filter: drop-shadow(0 5px 8px rgba(17,17,17,.2)); }
.show--snapchat-ads .sn-shop__tag text { fill: var(--ink); font: 800 13.5px var(--display); letter-spacing: -.01em; }
.show--snapchat-ads .sn-shop__pulse { fill: var(--accent); opacity: 0; transform-box: fill-box; transform-origin: center; }
.motion .show--snapchat-ads.is-live .sn-shop__pulse { animation: snPulse 2.4s var(--e) infinite; }
@keyframes snPulse { 0% { opacity: .35; transform: scale(.4); } 100% { opacity: 0; transform: scale(3.2); } }

/* The handle and the label with the radius */
.show--snapchat-ads .sn-hd { cursor: grab; touch-action: none; }
.show--snapchat-ads.is-drag .sn-hd { cursor: grabbing; }
.show--snapchat-ads .sn-hd__hit { fill: transparent; }
.show--snapchat-ads .sn-hd__b { fill: #fff; stroke: var(--accent); stroke-width: 2.6; filter: drop-shadow(0 4px 6px rgba(17,17,17,.28)); transform-box: fill-box; transform-origin: center; transition: transform .3s var(--spring); }
.show--snapchat-ads .sn-hd:hover .sn-hd__b, .show--snapchat-ads.is-drag .sn-hd__b { transform: scale(1.2); }
.show--snapchat-ads .sn-hd__a { fill: none; stroke: var(--accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.show--snapchat-ads .sn-rv { pointer-events: none; }
.show--snapchat-ads .sn-rv rect { fill: var(--ink); }
.show--snapchat-ads .sn-rv text { fill: #fff; font-size: 12.5px; font-weight: 700; }

.show--snapchat-ads .sn-hint { position: absolute; top: 14px; right: 14px; display: flex; align-items: center; gap: 7px; padding: 7px 13px 7px 10px; border-radius: 999px; background: rgba(255,255,255,.92); box-shadow: 0 10px 22px -12px rgba(17,17,17,.4); font-size: 13px; font-weight: 700; pointer-events: none; transition: opacity .4s, transform .4s var(--e); }
.show--snapchat-ads .sn-hint svg { width: 16px; height: 16px; fill: none; stroke: var(--accent); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.show--snapchat-ads.is-used .sn-hint { opacity: 0; transform: translateY(-6px); }

/* Entrance: the shop drops in, the radius grows from it (snapchat-ads.js), the handle pops */
.motion .show--snapchat-ads .sn-shop { opacity: 0; }
.motion .show--snapchat-ads .sn-hd, .motion .show--snapchat-ads .sn-rv, .motion .show--snapchat-ads .sn-hint { opacity: 0; }
.motion .show--snapchat-ads.is-in .sn-shop { opacity: 1; transition: opacity .4s; }
.motion .show--snapchat-ads.is-in .sn-shop__pin, .motion .show--snapchat-ads.is-in .sn-shop__k { animation: snDrop .7s var(--spring) both; }
@keyframes snDrop { from { transform: translateY(-40px); opacity: 0; } }
.motion .show--snapchat-ads.is-live .sn-hd, .motion .show--snapchat-ads.is-live .sn-rv { opacity: 1; transition: opacity .35s; }
.motion .show--snapchat-ads.is-live .sn-hint { opacity: 1; transition: opacity .4s .5s; }
.motion .show--snapchat-ads.is-live.is-used .sn-hint { opacity: 0; transition-delay: 0s; }

/* ---------- Controls and numbers ---------- */
.show--snapchat-ads .sn-ctl { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px 34px; padding: 18px 22px 20px; }
.show--snapchat-ads .sn-rng label { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; font-size: 14px; color: var(--muted); }
.show--snapchat-ads .sn-rng label b { color: var(--ink); font-variant-numeric: tabular-nums; }
.show--snapchat-ads .sn-range { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 28px; margin: 0; background: none; cursor: pointer; --p: 40%; }
.show--snapchat-ads .sn-range::-webkit-slider-runnable-track { height: 8px; border-radius: 8px; background: linear-gradient(90deg, var(--accent) var(--p), #ebe7e0 var(--p)); }
.show--snapchat-ads .sn-range::-moz-range-track { height: 8px; border-radius: 8px; background: linear-gradient(90deg, var(--accent) var(--p), #ebe7e0 var(--p)); }
.show--snapchat-ads .sn-range::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -8px; border: 3px solid #fff; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px rgba(224,85,43,.4), 0 6px 14px -4px rgba(17,17,17,.4); transition: transform .2s; }
.show--snapchat-ads .sn-range::-moz-range-thumb { width: 18px; height: 18px; border: 3px solid #fff; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px rgba(224,85,43,.4), 0 6px 14px -4px rgba(17,17,17,.4); }
.show--snapchat-ads .sn-range:active::-webkit-slider-thumb { transform: scale(1.15); }
.show--snapchat-ads .sn-range:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 8px; }
.show--snapchat-ads .sn-stats { display: flex; gap: 26px; }
.show--snapchat-ads .sn-stat { display: flex; flex-direction: column; gap: 2px; min-width: 96px; }
.show--snapchat-ads .sn-stat b { font: 800 32px/1 var(--display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.show--snapchat-ads .sn-stat:first-child b { color: var(--accent); }
.show--snapchat-ads .sn-stat small { font-size: 13px; line-height: 1.3; color: var(--muted); }
.show--snapchat-ads .sn-stat b.is-bump { animation: snBump .45s var(--spring); }
@keyframes snBump { 40% { transform: translateY(-3px) scale(1.06); } }

/* ---------- Ida's phone ---------- */
.show--snapchat-ads .sn-dev { display: flex; flex-direction: column; align-items: center; gap: 18px; min-width: 0; }
.show--snapchat-ads .sn-eks { position: absolute; z-index: 45; top: -12px; left: 30px; }
.show--snapchat-ads .sn-ph { position: relative; width: var(--pw); max-width: 100%; padding: 9px; background: #111; border-radius: 50px; box-shadow: 0 50px 90px -40px rgba(17,17,17,.55), inset 0 0 0 1.5px #333; }
.show--snapchat-ads .sn-scr { position: relative; aspect-ratio: 9 / 19.5; overflow: hidden; border-radius: 41px; background: #000; color: #fff; font-family: var(--body); container-type: inline-size; transform: translateZ(0); user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; touch-action: pan-y; }
.show--snapchat-ads :where(.sn-isl, .sn-home) { position: absolute; z-index: 40; left: 50%; transform: translateX(-50%); border-radius: 99px; pointer-events: none; }
.show--snapchat-ads .sn-isl { top: 3cqw; width: 29cqw; height: 8.5cqw; background: #000; }
.show--snapchat-ads .sn-home { bottom: 2.2cqw; width: 36cqw; height: 1.4cqw; background: rgba(255,255,255,.85); }

.show--snapchat-ads .sn-bars { position: absolute; z-index: 20; top: 13.6cqw; left: 3cqw; right: 3cqw; display: flex; gap: 1.2cqw; }
.show--snapchat-ads .sn-bars i { flex: 1; height: .9cqw; min-height: 2px; overflow: hidden; border-radius: 2px; background: rgba(255,255,255,.38); }
.show--snapchat-ads .sn-bars b { display: block; height: 100%; background: #fff; transform: scaleX(var(--p, 0)); transform-origin: 0 50%; }
.show--snapchat-ads .sn-bars i.is-ad b { background: #ffd8c9; }

.show--snapchat-ads .sn-sl { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .35s, visibility 0s .35s; }
.show--snapchat-ads .sn-sl.is-on { opacity: 1; visibility: visible; transition: opacity .35s; }
.show--snapchat-ads .sn-sl::before { content: ""; position: absolute; z-index: 1; inset: 0 0 auto; height: 34%; background: linear-gradient(rgba(0,0,0,.5), transparent); pointer-events: none; }
.show--snapchat-ads .sn-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.show--snapchat-ads .sn-who { position: absolute; z-index: 2; top: 17.5cqw; left: 4cqw; right: 4cqw; display: flex; align-items: center; gap: 2.6cqw; font-size: 4.3cqw; line-height: 1.2; text-shadow: 0 1px 4px rgba(0,0,0,.35); }
.show--snapchat-ads .sn-who .sn-av { width: 9.6cqw; height: 9.6cqw; font-size: 4.4cqw; text-shadow: none; box-shadow: 0 0 0 .6cqw rgba(255,255,255,.9); }
.show--snapchat-ads .sn-who small { font-size: 3.6cqw; opacity: .85; }
.show--snapchat-ads .sn-av--k { background: var(--accent); color: #fff; }
.show--snapchat-ads .sn-adl { padding: .8cqw 2.2cqw; border-radius: 99px; background: rgba(255,255,255,.24); font-weight: 700; opacity: 1 !important; }
.show--snapchat-ads .sn-capbar { position: absolute; z-index: 2; left: 0; right: 0; top: 60%; padding: 2.2cqw 4cqw; background: rgba(0,0,0,.58); font-size: 4.6cqw; text-align: center; }
.show--snapchat-ads .sn-chat { position: absolute; z-index: 2; left: 4cqw; right: 4cqw; bottom: 7cqw; display: flex; align-items: center; gap: 3cqw; }
.show--snapchat-ads .sn-chat span { flex: 1; padding: 3cqw 4.4cqw; border: 1px solid rgba(255,255,255,.55); border-radius: 99px; font-size: 3.9cqw; color: rgba(255,255,255,.85); }
.show--snapchat-ads .sn-chat i { width: 10cqw; height: 10cqw; border-radius: 50%; border: 1px solid rgba(255,255,255,.55); }
.show--snapchat-ads .sn-sl--txt { background: linear-gradient(165deg, #4f46c8 0%, #a14db5 52%, #ef8a5c 100%); }
.show--snapchat-ads .sn-big { position: absolute; z-index: 2; left: 7cqw; right: 7cqw; top: 38%; font: 800 10.4cqw/1.02 var(--display); letter-spacing: -.03em; text-align: center; }
.show--snapchat-ads .sn-big small { display: block; margin-top: 4cqw; font: 500 4.2cqw/1.3 var(--body); letter-spacing: 0; opacity: .9; }
.show--snapchat-ads .sn-adt { position: absolute; z-index: 2; left: 6cqw; right: 6cqw; top: 31cqw; display: flex; flex-direction: column; gap: 1cqw; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.show--snapchat-ads .sn-adt b { font: 800 11cqw/1 var(--display); letter-spacing: -.04em; }
.show--snapchat-ads .sn-adt span { font-size: 5cqw; font-weight: 500; }

/* Tap left or right for the story before or after */
.show--snapchat-ads .sn-zone { position: absolute; z-index: 10; top: 26%; bottom: 30%; width: 50%; padding: 0; border: 0; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.show--snapchat-ads .sn-zone--prev { left: 0; width: 34%; }
.show--snapchat-ads .sn-zone--next { right: 0; width: 66%; }
.show--snapchat-ads .sn-zone:focus-visible { outline: 2px solid var(--accent); outline-offset: -6px; border-radius: 6cqw; }

/* Swipe op: only on the ad */
.show--snapchat-ads .sn-up { position: absolute; z-index: 12; left: 0; right: 0; bottom: 7.5cqw; display: flex; flex-direction: column; align-items: center; gap: 2.4cqw; opacity: 0; visibility: hidden; transform: translateY(6cqw); transition: opacity .35s, transform .5s var(--e), visibility 0s .35s; }
.show--snapchat-ads .sn-scr.is-ad .sn-up { opacity: 1; visibility: visible; transform: none; transition: opacity .35s .25s, transform .6s var(--spring) .25s; }
.show--snapchat-ads .sn-up__chev { display: flex; flex-direction: column; align-items: center; font-size: 3.5cqw; font-weight: 700; letter-spacing: .04em; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
.show--snapchat-ads .sn-up__chev svg { width: 7cqw; height: 7cqw; fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 3px rgba(0,0,0,.4)); }
.motion .show--snapchat-ads .sn-scr.is-ad .sn-up__chev svg { animation: snHop 1.3s ease-in-out infinite; }
@keyframes snHop { 50% { transform: translateY(-1.8cqw); } }
.show--snapchat-ads .sn-up__btn { padding: 3.4cqw 6cqw; border: 0; border-radius: 99px; background: #fff; color: var(--ink); font: 700 4.4cqw/1 var(--body); white-space: nowrap; cursor: pointer; box-shadow: 0 6px 20px -6px rgba(0,0,0,.5); transition: transform .25s var(--spring); }
.show--snapchat-ads .sn-up__btn:hover { transform: scale(1.04); }
.show--snapchat-ads .sn-scr :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Behind Swipe op: Kragen's page slides up */
.show--snapchat-ads .sn-sheet { position: absolute; z-index: 30; inset: 0; background: rgba(0,0,0,0); visibility: hidden; transition: background .35s, visibility 0s .5s; }
.show--snapchat-ads .sn-sheet.is-open { background: rgba(0,0,0,.45); visibility: visible; transition: background .35s; }
.show--snapchat-ads .sn-sh { position: absolute; left: 0; right: 0; bottom: 0; top: 15cqw; display: flex; flex-direction: column; overflow: hidden; border-radius: 6cqw 6cqw 0 0; background: #fff; color: var(--ink); transform: translateY(102%); transition: transform .5s cubic-bezier(.7,0,.2,1); }
.show--snapchat-ads .sn-sheet.is-open .sn-sh { transform: none; transition: transform .6s cubic-bezier(.2,.9,.25,1); }
.show--snapchat-ads .sn-sh__bar { display: flex; align-items: center; gap: 2cqw; padding: 2.6cqw 4cqw; font-size: 3.8cqw; color: var(--muted); border-bottom: 1px solid var(--line); }
.show--snapchat-ads .sn-sh__bar span { flex: 1; text-align: center; margin-right: 9cqw; }
.show--snapchat-ads .sn-x { display: flex; align-items: center; justify-content: center; width: 9cqw; height: 9cqw; padding: 0; border: 0; border-radius: 50%; background: #f2f0ec; color: var(--ink); cursor: pointer; }
.show--snapchat-ads .sn-x svg { width: 4.6cqw; height: 4.6cqw; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
.show--snapchat-ads .sn-sh__img { position: relative; flex: 1 1 auto; min-height: 0; background: #f6f5f3; }
.show--snapchat-ads .sn-sh__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.show--snapchat-ads .sn-sh__in { display: flex; flex-direction: column; gap: 2.4cqw; padding: 4.4cqw 5cqw 9cqw; }
.show--snapchat-ads .sn-sh__t { display: flex; justify-content: space-between; font: 800 6.2cqw/1.1 var(--display); letter-spacing: -.02em; }
.show--snapchat-ads .sn-sh__s { display: flex; align-items: center; gap: 2cqw; font-size: 3.8cqw; color: var(--muted); }
.show--snapchat-ads .sn-sh__s i { width: 2.2cqw; height: 2.2cqw; border-radius: 50%; background: var(--green); }
.show--snapchat-ads .sn-sh__go { margin-top: 1.6cqw; padding: 3.6cqw; border: 0; border-radius: 99px; background: var(--accent); color: #fff; font: 700 4.4cqw/1 var(--body); cursor: pointer; transition: background .2s; }
.show--snapchat-ads .sn-sh__go:hover { background: var(--ink); }
.show--snapchat-ads .sn-sh__ok { min-height: 4.6cqw; font-size: 3.6cqw; text-align: center; color: var(--green); font-weight: 700; }

.show--snapchat-ads .sn-cap { max-width: 300px; margin: 0; font-size: 14.5px; line-height: 1.45; text-align: center; color: var(--muted); }
.show--snapchat-ads .sn-cap b { color: var(--ink); }
.show--snapchat-ads .sn-cap.is-out b { color: var(--muted); }

/* ---------- Smaller screens ---------- */
@media (max-width: 1080px) {
  .show--snapchat-ads { --pw: 270px; }
  .show--snapchat-ads .sn { gap: 32px; }
  .show--snapchat-ads .sn-ctl { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 820px) {
  .show--snapchat-ads .sn { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .show--snapchat-ads .sn-ctl { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (max-width: 600px) {
  .show--snapchat-ads { --pw: 264px; padding: 32px 20px 72px; }
  .show--snapchat-ads .sec-head { margin-bottom: 28px; }
  .show--snapchat-ads .sn-card { border-radius: 24px; }
  .show--snapchat-ads .sn-card__top { padding: 12px 14px; }
  .show--snapchat-ads .sn-map { aspect-ratio: 1 / 1; }
  .show--snapchat-ads .sn-hint { top: 10px; right: 10px; font-size: 12px; }
  .show--snapchat-ads .sn-ctl { grid-template-columns: 1fr; gap: 14px; padding: 16px 16px 18px; }
  .show--snapchat-ads .sn-stats { gap: 12px; }
  .show--snapchat-ads .sn-stat { flex: 1; min-width: 0; }
  .show--snapchat-ads .sn-stat b { font-size: 28px; }
}
/* Without motion: everything in place, nothing moves by itself */
html:not(.motion) .show--snapchat-ads *, html:not(.motion) .show--snapchat-ads *::before, html:not(.motion) .show--snapchat-ads *::after { transition: none !important; animation: none !important; }
