/* v57: selected ANDPAD-reference demographic section; existing page palette. */
.sf-demographics{--sf-age-1:#b7d8ff;--sf-age-2:#76b3f6;--sf-age-3:#2867d3;--sf-age-4:#215de8;background:var(--sf-paper);padding:48px 0 8px;text-align:left;scroll-margin-top:80px}
.sf-demographics>.sf-wrap{width:min(960px,calc(100% - 48px))}
.sf-demographics-photo{position:relative;margin:0 0 30px;overflow:hidden}
.sf-demographics-photo img{display:block;width:100%;height:auto;aspect-ratio:1942/809;object-fit:cover}
.sf-demographics-photo figcaption{position:absolute;bottom:8px;right:10px;padding:2px 7px;background:#ffffffeb;color:var(--sf-ink);font-size:0.75rem;line-height:1.5}
.offline-page .sf-demographics h2{color:var(--sf-heading);font-size:clamp(1.625rem,3.7vw,2.625rem);line-height:1.4;letter-spacing:-.025em;font-weight:750;margin:0}
.sf-demographics h2:after{content:"";display:block;width:88px;height:4px;background:var(--sf-blue);margin:15px 0}
.sf-demographics-heading>p{font-size:1.125rem;line-height:1.7;color:var(--sf-ink);margin:0}
.sf-demographics-group{margin-top:30px}
.offline-page .sf-demographics h3{display:flex;align-items:center;gap:18px;font-size:1.375rem;line-height:1.5;font-weight:750;color:var(--sf-heading);margin:0 0 18px}
.sf-demographics h3:after{content:"";height:1px;flex:1;background:var(--sf-line)}
.sf-demographics dl,.sf-demographics ul{margin:0;padding:0}
.sf-demographics dt{font-size:1.125rem;line-height:1.6;font-weight:650;color:var(--sf-heading)}
.sf-demographics dd{margin:0;line-height:1.15;white-space:nowrap;color:var(--sf-blue)}
.sf-demographics dd strong{font-size:3.375rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.sf-demographics dd>span{font-size:1.875rem;font-weight:750;margin-left:2px}
.sf-demographics-genders{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:18px}
.sf-demographics-genders>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px;padding:24px 18px;background:var(--sf-soft)}
.sf-demographics-genders svg{width:74px;height:74px;flex-shrink:0;color:var(--sf-blue)}
.sf-demographics-ages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.sf-demographics-ages>div{text-align:center;border-right:1px solid var(--sf-line);padding:3px 12px}
.sf-demographics-ages>div:last-child{border:0}
.sf-demographics-ages dd strong{font-size:2.75rem}
.sf-demographics-ages dd>span{font-size:1.5rem}
.sf-demographics-agebar{display:flex;margin-top:24px;width:100%;height:44px}
.sf-demographics-agebar>span{display:grid;place-items:center;flex:0 0 var(--share);min-width:0;background:var(--age-color);color:var(--sf-heading);font-size:1.0rem;font-weight:700}
.sf-demographics-agebar>span:nth-child(n+3){color:var(--sf-paper)}
.sf-demographics-traits{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:14px 18px}
.sf-demographics-traits li{display:flex;align-items:center;gap:22px;background:var(--sf-soft);padding:20px 24px;color:var(--sf-heading);font-size:1.125rem;font-weight:650;line-height:1.65}
.sf-demographics-traits svg{height:40px;width:40px;flex-shrink:0;color:var(--sf-blue)}
.sf-demographics-source{margin:24px 0 0;color:var(--sf-muted);font-size:0.75rem;line-height:1.8;text-align:left}
@media(max-width:700px){
 .sf-demographics{padding:30px 0 0}
 .sf-demographics>.sf-wrap{width:calc(100% - 32px)}
 .sf-demographics-photo{margin-bottom:22px}
 .sf-demographics-heading>p{font-size:1.0rem}
 .sf-demographics h2:after{width:58px;height:3px;margin-block:12px}
 .sf-demographics-group{margin-top:24px}
 .offline-page .sf-demographics h3{font-size:1.1875rem;gap:12px;margin-bottom:14px}
 .sf-demographics dt{font-size:1.0rem}
 .sf-demographics-genders{gap:10px}
 .sf-demographics-genders>div{gap:9px;padding:18px 8px}
 .sf-demographics-genders svg{width:38px;height:44px}
 .sf-demographics dd strong{font-size:2.25rem}
 .sf-demographics dd>span{font-size:1.25rem}
 .sf-demographics-ages{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));row-gap:18px}
 .sf-demographics-ages>div:nth-child(2){border:0}
 .sf-demographics-ages dd strong{font-size:2.25rem}
 .sf-demographics-ages dd>span{font-size:1.25rem}
 .sf-demographics-agebar{height:28px;margin-top:20px}
 .sf-demographics-agebar>span>span{display:none}
 .sf-demographics-traits{gap:10px}
 .sf-demographics-traits li{gap:10px;padding:14px 10px;font-size:0.875rem}
 .sf-demographics-traits svg{width:28px;height:28px}
 .sf-demographics-source{margin-top:20px}
}
@media(max-width:350px){.sf-demographics-genders>div{gap:6px;padding-inline:6px}.sf-demographics-genders svg{width:30px}.sf-demographics-genders dd strong{font-size:2.0rem}.sf-demographics-traits li{gap:8px;padding-inline:8px}.sf-demographics-traits svg{width:24px;height:24px}}
