/* Experiential / Rich Media showcase */
.exp-hero{padding-bottom:64px}
.exp-intro{margin-top:32px;font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:760px;color:var(--ink)}
.exp-section{padding:48px 0 110px}

.exp-toolbar{display:flex;flex-direction:column;gap:18px;margin-bottom:40px}
.exp-search{display:flex;align-items:center;gap:12px;border:1px solid var(--line-strong);border-radius:999px;padding:0 22px;height:56px;color:var(--muted);transition:border-color .2s}
.exp-search:focus-within{border-color:var(--ink);color:var(--ink)}
.exp-search input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);height:100%;min-width:0}
.exp-search input::placeholder{color:var(--muted)}
.exp-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.exp-chips::-webkit-scrollbar{display:none}
@media(min-width:861px){.exp-chips{flex-wrap:wrap;overflow:visible}}
.exp-chip{flex:none;font:inherit;font-size:13px;padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.exp-chip span{opacity:.5;margin-left:4px;font-size:12px}
.exp-chip:hover{border-color:var(--ink)}
.exp-chip.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}

.exp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media(max-width:1180px){.exp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.exp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:520px){.exp-grid{grid-template-columns:1fr}.exp-stage{aspect-ratio:1/1}}

.exp-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--paper);transition:border-color .25s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.exp-card:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:0 18px 40px -24px #0000004d}
.exp-card[hidden]{display:none}

.exp-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-height:56px}
.exp-tags{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.exp-pill{font-family:var(--mono);font-size:11px;letter-spacing:.02em;padding:5px 10px;border-radius:999px;background:#11111109;border:1px solid var(--line);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-tier{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink)}
.exp-tier svg{color:var(--accent,#2fd36c)}
.exp-logo{max-height:36px;max-width:96px;object-fit:contain;flex:none}

.exp-stage{position:relative;display:block;margin:14px 0 16px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#fff}
.exp-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1);z-index:1}
.exp-card:hover .exp-stage img{transform:scale(1.035)}
.exp-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--muted);text-align:center;padding:20px}
.exp-try{position:absolute;left:50%;bottom:16px;z-index:2;transform:translate(-50%,8px);opacity:0;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:13px;white-space:nowrap;transition:opacity .25s,transform .25s}
.exp-card:hover .exp-try,.exp-stage:focus-visible .exp-try{opacity:1;transform:translate(-50%,0)}
@media(hover:none){.exp-try{opacity:1;transform:translate(-50%,0)}}

.exp-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.exp-meta{min-width:0}
.exp-brand{font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.25;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.exp-flag{border-radius:2px;box-shadow:0 0 0 1px #0000001a;flex:none}
.exp-format{font-size:13px;color:var(--muted);margin-top:4px}
.exp-qr{width:64px;height:64px;flex:none;padding:4px;background:#fff;border:1px solid var(--line);border-radius:8px}
.exp-qr svg{display:block;width:100%;height:100%}

.exp-empty{padding:60px 0;text-align:center;color:var(--muted);font-size:18px}
.exp-pager{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:56px}
.exp-pager:empty{display:none}
.exp-pager button{font:inherit;font-size:14px;min-width:44px;height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.exp-pager button:hover:not(:disabled){border-color:var(--ink)}
.exp-pager button.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.exp-pager button:disabled{opacity:.35;cursor:default}

/* Single execution page */
.exp-ad{padding:140px 0 100px}
.exp-ad-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:64px;align-items:start}
.exp-ad-back{font-size:14px;color:var(--muted);display:inline-block;margin-bottom:28px}
.exp-ad-back:hover{color:var(--ink)}
.exp-ad-tags{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.exp-ad-title{font-size:clamp(40px,5.4vw,84px);line-height:1.02;font-weight:500;letter-spacing:-.04em}
.exp-ad-facts{margin:40px 0 0;border-top:1px solid var(--line);max-width:560px}
.exp-ad-facts>div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.exp-ad-facts dt{color:var(--muted);font-size:14px}
.exp-ad-facts dd{margin:0;font-size:16px;display:flex;align-items:center;gap:8px;text-align:right}
.exp-ad-scan{display:flex;gap:20px;align-items:center;margin-top:40px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);max-width:560px}
.exp-ad-scan strong{font-weight:500;font-size:17px}
.exp-ad-scan p{margin-top:6px;font-size:14px;color:var(--muted);line-height:1.5}
.exp-qr--lg{width:112px;height:112px;padding:6px}
.exp-ad-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.exp-ad-device-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;position:sticky;top:110px}
.exp-device{position:relative;width:399px;height:812px;padding:12px;border-radius:56px;background:#0d0d0d;box-shadow:0 0 0 2px #2a2a2a inset,0 40px 80px -40px #00000080}
.exp-device iframe{display:block;width:375px;height:788px;border:0;border-radius:44px;background:#fff}
.exp-device-notch{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:110px;height:30px;border-radius:20px;background:#0d0d0d;z-index:2;pointer-events:none}
.exp-device-empty{width:375px;height:788px;border-radius:44px;background:#f3f2ef;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.exp-replay{font:inherit;font-size:14px;padding:10px 18px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer}
.exp-replay:hover{background:var(--ink);color:var(--bg)}
@media(max-height:920px) and (min-width:861px){.exp-device{transform:scale(.86);transform-origin:top center;margin-bottom:-114px}}
@media(max-width:1100px){.exp-ad-grid{grid-template-columns:1fr;gap:48px}.exp-ad-device-wrap{position:static}}
@media(max-width:600px){
  .exp-ad{padding:110px 0 60px}
  .exp-ad-grid{gap:28px}
  .exp-ad-device-wrap{order:-1;margin:0 calc(var(--gutter) * -1)}
  .exp-device{width:100%;height:auto;padding:0;border-radius:0;background:none;box-shadow:none}
  .exp-device-notch{display:none}
  .exp-device iframe,.exp-device-empty{width:100%;height:calc(100svh - 90px);border-radius:0}
  .exp-ad-scan{display:none}
  .exp-ad-back{margin-bottom:16px}
}
.exp-screen{position:relative;width:375px;height:788px;border-radius:44px;overflow:hidden;background:#fff}
.exp-screen.is-sized{background:var(--ad-bg,#000)}
.exp-screen iframe{display:block;width:100%;height:100%;border:0;background:transparent}
.exp-screen.is-sized iframe{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;border-radius:0}
.exp-screen-pad{width:1px}
@media(max-width:600px){.exp-screen{width:100%;height:calc(100svh - 90px);border-radius:0}}

/* More executions under an ad */
.exp-more{padding:20px 0 110px;border-top:1px solid var(--line)}
.exp-more-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin:60px 0 36px}
@media(max-width:600px){.exp-more{padding-bottom:70px}.exp-more-head{margin:40px 0 24px}}
