.footer-bottom .footer-statistics { display: inline-block; margin-top: 8px; color: #c8c1ce; font-size: 11px; text-decoration: none; letter-spacing: .03em; }
.footer-bottom .footer-statistics:hover { color: #fff; text-decoration: underline; }
.footer-statistics:focus-visible, .audience-page a:focus-visible, .audience-page summary:focus-visible { outline: 3px solid #ba75e1; outline-offset: 5px; }
.audience-page { background: #f7f6f9; padding: 145px 0 55px; min-height: 75vh; color: #292330; }
.audience-page .container { max-width: 1180px; }
.audience-back { color: #756980; font-size: 12px; text-decoration: none; }
.audience-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 28px 0 35px; }
.audience-eyebrow { display: block; color: #7a6488; font-size: 10px; font-weight: 700; letter-spacing: .14em; margin-bottom: 12px; }
.audience-heading h1 { font-size: clamp(26px, 3vw, 36px); letter-spacing: -.04em; margin-bottom: 8px; }
.audience-heading p { font-size: 14px; color: #796f81; }
.audience-private { font-size: 11px; border: 1px solid #e5dce9; background: #fff; border-radius: 30px; padding: 8px 13px; color: #6d507f; white-space: nowrap; }
.audience-private span { margin-right: 5px; }
.audience-toolbar { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; flex-wrap: wrap; }
.audience-periods { display: flex; padding: 4px; border-radius: 8px; background: #edeaf0; gap: 3px; }
.audience-periods a { color: #746b7b; padding: 7px 16px; border-radius: 5px; text-decoration: none; font-size: 12px; }
.audience-periods .is-current { background: #fff; color: #6506a0; box-shadow: 0 1px 4px #31203b14; font-weight: 600; }
.audience-date { color: #7b7282; font-size: 12px; }
.audience-export { margin-left: auto; color: #5b386f; font-size: 12px; font-weight: 600; text-decoration: none; padding: 9px 14px; border: 1px solid #dfd7e5; border-radius: 6px; background: #fff; }
.audience-export span { margin-right: 7px; font-size: 17px; }
.audience-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.audience-metric { background: #fff; padding: 24px; border: 1px solid #e9e4ed; border-radius: 10px; }
.audience-metric h2 { font-family: 'Open Sans', sans-serif; font-size: 12px; color: #716479; font-weight: 600; margin-bottom: 15px; }
.audience-metric strong { display: block; font-size: clamp(28px, 3vw, 37px); line-height: 1.2; letter-spacing: -.05em; font-family: 'Montserrat', sans-serif; margin-bottom: 13px; }
.audience-metric p { color: #817687; font-size: 10px; line-height: 1.6; }
.audience-metric-primary { background: #6506a0; border-color: #6506a0; color: #fff; }
.audience-metric-primary h2, .audience-metric-primary p { color: #eddbf8; }
.audience-notice { padding: 15px 20px; background: #efe9f5; border-radius: 8px; color: #624876; font-size: 12px; margin-bottom: 24px; }
.audience-panel { background: #fff; border: 1px solid #e9e4ed; border-radius: 10px; padding: 27px; min-width: 0; }
.audience-panel h2 { font-size: 15px; letter-spacing: -.02em; margin-bottom: 5px; }
.audience-panel-subtitle, .audience-panel-heading p { font-size: 11px; color: #8a7e92; }
.audience-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.audience-live { display: inline-flex; align-items: center; gap: 7px; color: #796f81; font-size: 10px; }
.audience-live > span { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: #55816a; }
.audience-chart { margin: 20px -5px 10px; }
.audience-chart svg { width: 100%; height: auto; display: block; }
.audience-chart text { fill: #8a7e92; font-size: 11px; font-family: 'Open Sans', sans-serif; }
.audience-daily { border-top: 1px solid #eee9f2; padding-top: 13px; font-size: 12px; }
.audience-daily summary { cursor: pointer; color: #6e537d; width: fit-content; }
.audience-table-scroll { overflow-x: auto; margin-top: 12px; max-height: 370px; }
.audience-daily table { border-collapse: collapse; width: 100%; min-width: 540px; }
.audience-daily caption { text-align: left; color: #796f81; padding: 10px 0; }
.audience-daily th, .audience-daily td { padding: 10px; text-align: right; border-bottom: 1px solid #eee9f2; font-size: 11px; }
.audience-daily th:first-child { text-align: left; }
.audience-daily thead { background: #f7f5f9; }
.audience-breakdowns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.audience-rankings { list-style: none; padding: 0; margin: 22px 0 0; }
.audience-rankings li { margin-bottom: 17px; }
.audience-rankings li:last-child { margin-bottom: 0; }
.audience-rankings li > div:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; margin-bottom: 7px; font-size: 12px; }
.audience-rankings li > div > span { overflow-wrap: anywhere; }
.audience-rankings strong { white-space: nowrap; font-size: 12px; }
.audience-rankings small { font-weight: 400; color: #887b90; margin-left: 8px; font-size: 10px; }
.audience-bar { height: 4px; border-radius: 4px; background: #f2eef6; overflow: hidden; }
.audience-bar span { display: block; height: 100%; border-radius: 4px; background: #9975b3; }
.audience-empty { color: #8b7d94; font-size: 12px; padding: 32px 0; }
.audience-method { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 34px; }
.audience-method h2 { font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 600; color: #6f6079; margin-bottom: 8px; }
.audience-method p { font-size: 11px; color: #85798d; line-height: 1.8; }
.audience-footnote { display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid #e6e0eb; margin-top: 26px; padding-top: 18px; font-size: 10px; color: #877c8e; }
.audience-gate { border: 1px solid #e9e4ed; border-radius: 12px; text-align: center; background: #fff; padding: 65px 25px; margin: 0 auto; }
.audience-gate-symbol { width: 54px; height: 54px; display: inline-grid; place-items: center; background: #f3ebf8; color: #6506a0; font-size: 28px; border-radius: 14px; margin-bottom: 20px; }
.audience-gate h2 { font-size: 22px; }
.audience-gate p { font-size: 14px; color: #796f81; max-width: 470px; margin: 0 auto 25px; }
.audience-button { display: inline-block; color: #fff; background: #6506a0; border-radius: 6px; text-decoration: none; padding: 12px 23px; font-size: 13px; font-weight: 600; }
.audience-button:hover { background: #510581; }
@media (max-width: 900px) {
    .audience-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audience-method { grid-template-columns: 1fr; gap: 20px; }
    .audience-heading { align-items: flex-start; }
}
@media (max-width: 600px) {
    .audience-page { padding-top: 115px; }
    .audience-heading { flex-direction: column; gap: 15px; margin-bottom: 25px; }
    .audience-heading h1 { font-size: 27px; }
    .audience-heading p { font-size: 12px; }
    .audience-toolbar { gap: 12px; }
    .audience-date { order: 3; width: 100%; font-size: 11px; }
    .audience-periods a { padding: 7px 10px; font-size: 11px; }
    .audience-export { padding: 6px 9px; font-size: 10px; }
    .audience-metrics { gap: 10px; }
    .audience-metric { padding: 18px 14px; }
    .audience-metric h2 { font-size: 11px; }
    .audience-metric strong { font-size: 29px; }
    .audience-panel { padding: 20px 16px; }
    .audience-panel-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
    .audience-breakdowns { grid-template-columns: 1fr; gap: 14px; }
    .audience-chart { overflow-x: auto; }
    .audience-chart svg { min-width: 480px; }
    .audience-footnote { flex-direction: column; gap: 6px; }
    .audience-gate { padding: 40px 20px; }
    .audience-gate h2 { font-size: 19px; }
}
