/* A native horizontal rail keeps touch scrolling responsive. */
#audience .intro{max-width:760px;margin-bottom:16px}
.audience-carousel{position:relative}
#audience .audience-track{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin:0 -12px;padding:18px 12px 30px;scroll-padding-inline:12px;cursor:grab;touch-action:pan-x pan-y pinch-zoom}
.audience-track::-webkit-scrollbar{display:none}
#audience .audience-track>.card{flex:0 0 calc((100% - 60px)/3.35);min-width:260px;min-height:247px;scroll-snap-align:start;background:linear-gradient(145deg,#1d1b22,#141416 80%);padding:28px;border:1px solid #ffffff16;border-radius:22px;user-select:none;position:relative}
#audience .audience-track>.card h3{font-size:23px;line-height:1.4;margin:25px 0 16px}
#audience .audience-track>.card p{font-size:15px;line-height:1.85}
#audience .audience-track>.card .num{color:#deca9f;letter-spacing:.08em}
#audience .audience-track>.card:nth-child(3n+2){background:linear-gradient(145deg,#1a1923,#141416 80%)}
.audience-track:focus-visible{outline:2px solid #dfc79b;outline-offset:4px;border-radius:24px}
#audience .audience-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
#audience .audience-track.is-dragging>.card{transform:none}
.audience-controls{display:flex;align-items:center;gap:24px;margin-top:2px}
.audience-hint{margin:0;color:#aaa6b1;font-size:13px;letter-spacing:.035em;display:flex;align-items:center;gap:10px}
.audience-hint>span{color:#dec99f;font-size:21px}
.audience-progress{height:3px;background:#ffffff13;border-radius:99px;position:relative;flex:1;max-width:240px;overflow:hidden}
.audience-progress>span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ab9574,#f1ddb2);transform-origin:left;transform:translateX(var(--rail-position,0%)) scaleX(var(--rail-size,.46));transition:transform .16s linear}
.audience-status{margin-left:auto;color:#d5c9b3;font-size:12px;letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap}
.audience-arrows{display:flex;gap:10px}
.audience-arrow{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #ffffff29;border-radius:50%;color:#e8dac0;background:#1e1d21;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
.audience-arrow svg{width:19px;height:19px}
.audience-arrow:disabled{opacity:.3;cursor:default}
.audience-arrow:not(:disabled):active{transform:scale(.94)}
.audience-controls [hidden]{display:none}
@media(hover:hover) and (pointer:fine){.audience-arrow:not(:disabled):hover{background:#ead5a4;color:#201a13;border-color:#ead5a4;box-shadow:0 0 24px #ead5a42e;transform:translateY(-2px)}#audience .audience-track>.card:hover{transform:translateY(-4px) scale(1.015);border-color:#d9bc8759;box-shadow:0 12px 26px #0004}}
@media(max-width:900px){#audience .audience-track>.card{flex-basis:calc((100% - 36px)/2.25);min-width:250px}.audience-progress{max-width:160px}}
@media(max-width:600px){#audience .audience-track{gap:14px;padding-block:16px 25px}#audience .audience-track>.card{flex-basis:85%;min-width:0;min-height:254px;padding:25px}#audience .audience-track>.card h3{font-size:23px;margin-top:24px}.audience-controls{flex-wrap:wrap;gap:14px}.audience-hint{width:100%;font-size:13px}.audience-progress{max-width:none}.audience-status{margin-left:0;font-size:11px}.audience-arrow{width:43px;height:43px}.audience-arrows{gap:8px}}
@media(prefers-reduced-motion:reduce){#audience .audience-track{scroll-behavior:auto}.audience-progress>span,.audience-arrow{transition:none}#audience .audience-track>.card:hover,.audience-arrow:not(:disabled):hover,.audience-arrow:not(:disabled):active{transform:none}}
@media print{#audience .audience-track{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible}.audience-controls{display:none}}
