*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{display:flex;flex-direction:column;min-height:100vh;padding-top:44px;font-family:-apple-system,SF Pro Text,Inter,sans-serif;color:#1d1d1f;background:#f2f2f7;-webkit-font-smoothing:antialiased}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{width:100%;max-width:1160px;margin:0 auto;padding:54px 32px 96px}.sources-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:56px;align-items:center;overflow:hidden;padding:46px 48px;background:radial-gradient(circle at 88% 16%,rgba(0,113,227,.1),transparent 34%),linear-gradient(145deg,#fff,#fafbff);border:1px solid rgba(0,0,0,.07);border-radius:28px;box-shadow:0 2px 5px #00000009,0 22px 55px #0000000e}.sources-hero:after{content:"";position:absolute;top:-70px;right:-62px;width:220px;height:220px;border:1px solid rgba(0,113,227,.08);border-radius:50%;pointer-events:none}.page-eyebrow,.section-kicker,.method-kicker,.map-label{font-size:11px;font-weight:750;color:#0071e3;letter-spacing:.11em;text-transform:uppercase}.page-eyebrow{margin-bottom:12px}.page-title{max-width:570px;margin-bottom:18px;font-size:clamp(42px,5vw,58px);font-weight:735;color:#1d1d1f;letter-spacing:-2.15px;line-height:1.01}.page-sub{max-width:590px;font-size:15.5px;color:#6e6e73;line-height:1.65}.source-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:540px;margin-top:30px}.source-stat{padding-top:14px;border-top:1px solid rgba(0,0,0,.1)}.source-stat strong{display:block;margin-bottom:3px;font-size:24px;font-weight:730;color:#1d1d1f;letter-spacing:-.7px}.source-stat span{display:block;font-size:10.5px;font-weight:650;color:#7d7d82;line-height:1.35;text-transform:uppercase;letter-spacing:.045em}.research-map{position:relative;z-index:1;padding:26px;background:#ffffffd1;border:1px solid rgba(0,0,0,.07);border-radius:20px;box-shadow:0 16px 40px #20365612;backdrop-filter:blur(10px)}.map-label{margin-bottom:18px;color:#77777c}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1.08fr);gap:10px;align-items:center}.map-inputs{display:grid;gap:8px}.map-node{display:flex;align-items:center;gap:9px;padding:10px 11px;font-size:11.5px;font-weight:650;color:#4f4f54;background:#f6f7fa;border:1px solid #e7e8ec;border-radius:11px}.map-node .icon{width:17px;height:17px;color:#0071e3}.map-arrow{position:relative;height:82px}.map-arrow:before,.map-arrow:after{content:"";position:absolute;left:0;width:29px;height:1px;background:linear-gradient(90deg,#b9d8f7,#0071e3);transform-origin:right center}.map-arrow:before{top:27px;transform:rotate(25deg)}.map-arrow:after{bottom:27px;transform:rotate(-25deg)}.map-arrow span{position:absolute;top:50%;left:0;width:34px;height:1px;background:#0071e3}.map-arrow span:after{content:"";position:absolute;top:-3px;right:0;width:7px;height:7px;border-top:1.5px solid #0071e3;border-right:1.5px solid #0071e3;transform:rotate(45deg)}.map-result{padding:18px 16px;color:#fff;background:linear-gradient(145deg,#0879e8,#0065c9);border-radius:15px;box-shadow:0 10px 24px #0071e333}.map-result span{display:block;margin-bottom:5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.075em;opacity:.78}.map-result strong{display:block;font-size:14px;line-height:1.3}.source-toolbar{position:sticky;top:52px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:34px 0 48px;padding:10px;background:#f7f7fae6;border:1px solid rgba(0,0,0,.075);border-radius:16px;box-shadow:0 8px 28px #0000000d;backdrop-filter:blur(16px)}.source-filters{display:flex;align-items:center;gap:4px;min-width:0}.filter-button{flex:0 0 auto;padding:9px 12px;font-family:inherit;font-size:11.5px;font-weight:650;color:#68686d;background:transparent;border:0;border-radius:10px;cursor:pointer;transition:color .16s,background .16s,box-shadow .16s,transform .16s}.filter-button:hover{color:#1d1d1f;background:#ffffffc2}.filter-button:active{transform:scale(.98)}.filter-button[aria-pressed=true]{color:#fff;background:#1d1d1f;box-shadow:0 3px 10px #00000024}.filter-button:focus-visible,.source-search:focus-within{outline:3px solid rgba(0,113,227,.2);outline-offset:2px}.toolbar-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.source-search{display:flex;align-items:center;gap:8px;width:190px;padding:8px 11px;color:#8b8b91;background:#fff;border:1px solid #e0e0e5;border-radius:10px}.source-search .icon{width:16px;height:16px;flex:0 0 auto}.source-search input{width:100%;min-width:0;padding:0;font-family:inherit;font-size:12px;color:#1d1d1f;background:transparent;border:0;outline:0}.source-search input::placeholder{color:#929298}.results-count{min-width:72px;font-size:10.5px;font-weight:650;color:#85858a;text-align:right;white-space:nowrap}.source-sections{display:grid;gap:62px}.source-section{--accent: #0071e3;--tint: #eef6ff;scroll-margin-top:126px}.source-section[data-source-section=press]{--accent: #b76b28;--tint: #fff4e8}.source-section[data-source-section=footage]{--accent: #7254aa;--tint: #f3effc}.source-section[data-source-section=data]{--accent: #207a64;--tint: #eaf7f2}.source-section[data-source-section=community]{--accent: #336b9f;--tint: #edf4fb}.section-header{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:15px;align-items:center;margin-bottom:20px;padding-bottom:17px;border-bottom:1px solid rgba(0,0,0,.1)}.section-icon{display:grid;place-items:center;width:46px;height:46px;color:var(--accent);background:var(--tint);border-radius:14px}.section-icon .icon{width:22px;height:22px}.section-kicker{margin-bottom:4px;color:var(--accent)}.section-header h2{margin-bottom:4px;font-size:25px;font-weight:720;letter-spacing:-.55px;line-height:1.15}.section-header p:last-child{max-width:620px;font-size:12.5px;color:#737378;line-height:1.5}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:29px;padding:0 10px;font-size:11px;font-weight:720;color:var(--accent);background:var(--tint);border-radius:999px}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.source-section[data-source-section=press] .source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.source-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;min-height:146px;padding:18px;background:#fff;border:1px solid rgba(0,0,0,.075);border-radius:16px;box-shadow:0 2px 5px #00000009;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.source-section[data-source-section=press] .source-card{min-height:160px}.source-card:hover{z-index:1;border-color:color-mix(in srgb,var(--accent) 36%,transparent);box-shadow:0 12px 28px #00000013;transform:translateY(-2px)}.card-icon{display:grid;place-items:center;width:42px;height:42px;color:var(--accent);background:var(--tint);border-radius:12px;transition:transform .18s ease,background .18s ease}.source-card:hover .card-icon{transform:scale(1.045)}.card-code{font-size:10px;font-weight:800;letter-spacing:.055em}.card-icon .icon{width:19px;height:19px}.card-body{min-width:0}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.card-label{overflow:hidden;font-size:9.5px;font-weight:700;color:#85858a;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.card-badge{flex:0 0 auto;padding:3px 6px;font-size:9px;font-weight:700;color:var(--accent);background:var(--tint);border-radius:5px}.source-card h3{margin-bottom:5px;overflow-wrap:anywhere;font-size:14px;font-weight:690;color:#1d1d1f;letter-spacing:-.12px;line-height:1.3}.source-card h3 a{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}.source-card h3 a:hover{color:var(--accent)}.source-card h3 .icon{width:13px;height:13px;transition:transform .18s ease}.source-card h3 a:hover .icon{transform:translate(2px,-2px)}.card-description{margin-bottom:11px;font-size:11.5px;color:#737378;line-height:1.45}.card-use{display:flex;align-items:center;gap:5px;color:var(--accent)}.card-use .icon{width:12px;height:12px}.card-use span{font-size:9px;font-weight:700;color:#9a9aa0;letter-spacing:.035em;text-transform:uppercase}.card-use strong{overflow:hidden;font-size:9.5px;font-weight:700;color:var(--accent);text-overflow:ellipsis;white-space:nowrap}.empty-state{margin-top:20px;padding:42px 24px;text-align:center;color:#6e6e73;background:#fff;border:1px dashed #cfcfd5;border-radius:18px}.empty-state .icon{width:25px;height:25px;margin-bottom:10px;color:#8e8e93}.empty-state strong{display:block;margin-bottom:5px;font-size:14px;color:#1d1d1f}.empty-state p{font-size:12px}.methodology{margin-top:74px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:24px;box-shadow:0 15px 42px #0000000e}.methodology-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:34px 38px 27px;background:linear-gradient(145deg,#f8fbff,#fff);border-bottom:1px solid #e9e9ed}.method-kicker{margin-bottom:8px}.methodology-header h2{font-size:29px;font-weight:720;letter-spacing:-.7px;line-height:1.12}.methodology-header>p{max-width:430px;font-size:12.5px;color:#6e6e73;line-height:1.55}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);padding:34px 38px}.method-step{position:relative;padding-right:30px}.method-step+.method-step{padding-left:30px;border-left:1px solid #e5e5ea}.method-number{display:grid;place-items:center;width:31px;height:31px;margin-bottom:14px;font-size:10px;font-weight:750;color:#0071e3;background:#edf5ff;border-radius:10px}.method-step h3{margin-bottom:6px;font-size:15px;font-weight:690}.method-step p{font-size:11.5px;color:#737378;line-height:1.55}.methodology-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:23px 38px;background:#f7f7f9;border-top:1px solid #e5e5ea}.legal-note{max-width:640px;font-size:10.5px;color:#85858a;line-height:1.55}.method-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.method-link{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;font-size:11px;font-weight:680;color:#404044;text-decoration:none;background:#fff;border:1px solid #dcdce1;border-radius:9px;transition:color .16s,border-color .16s,transform .16s}.method-link.primary{color:#fff;background:#0071e3;border-color:#0071e3}.method-link:hover{color:#0071e3;border-color:#0071e359;transform:translateY(-1px)}.method-link.primary:hover{color:#fff;background:#06c}.method-link .icon{width:13px;height:13px}@media(prefers-reduced-motion:no-preference){.research-map{animation:map-in .55s .12s both ease-out}.map-node{animation:node-in .42s both ease-out}.map-node:nth-child(1){animation-delay:.22s}.map-node:nth-child(2){animation-delay:.3s}.map-node:nth-child(3){animation-delay:.38s}.map-result{animation:result-in .48s .48s both ease-out}.map-arrow:before,.map-arrow:after,.map-arrow span{animation:line-in .42s .4s both ease-out;transform-origin:left center}.motion-ready .reveal{opacity:0;transform:translateY(8px)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0);transition:opacity .32s ease,transform .32s ease}}@keyframes map-in{0%{opacity:0;transform:translateY(8px)}}@keyframes node-in{0%{opacity:0;transform:translate(-6px)}}@keyframes result-in{0%{opacity:0;transform:scale(.97)}}@keyframes line-in{0%{opacity:0;scale:0 1}}@media(max-width:960px){.sources-hero{grid-template-columns:1fr;gap:34px}.research-map{max-width:560px}.source-toolbar{align-items:stretch;flex-direction:column}.source-filters{overflow-x:auto;scrollbar-width:none}.source-filters::-webkit-scrollbar{display:none}.toolbar-actions{justify-content:space-between}.source-search{width:min(300px,100%)}.source-section[data-source-section=press] .source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.methodology-header{align-items:flex-start;flex-direction:column;gap:12px}.methodology-footer{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.page{padding:24px 16px 68px}.sources-hero{gap:29px;padding:27px 20px;border-radius:21px}.page-title{margin-bottom:13px;font-size:37px;letter-spacing:-1.15px}.page-sub{font-size:13.5px;line-height:1.6}.source-stats{gap:8px;margin-top:23px}.source-stat{padding-top:11px}.source-stat strong{font-size:21px}.source-stat span{font-size:9px}.research-map{padding:19px;border-radius:16px}.map-layout{grid-template-columns:1fr;gap:12px}.map-inputs{grid-template-columns:repeat(3,1fr);gap:6px}.map-node{justify-content:center;padding:9px 5px;font-size:0}.map-node .icon{width:19px;height:19px}.map-arrow{width:30px;height:24px;margin:0 auto;transform:rotate(90deg)}.map-arrow:before{top:5px}.map-arrow:after{bottom:5px}.map-result{padding:14px 16px;text-align:center}.source-toolbar{position:static;margin:22px 0 38px;padding:9px;border-radius:14px}.filter-button{padding:8px 10px;font-size:11px}.toolbar-actions{gap:8px}.source-search{width:100%}.results-count{min-width:65px;font-size:10px}.source-sections{gap:48px}.section-header{grid-template-columns:40px minmax(0,1fr) auto;gap:11px;margin-bottom:15px;padding-bottom:14px}.section-icon{width:40px;height:40px;border-radius:12px}.section-header h2{font-size:20px}.section-header p:last-child{font-size:11.5px}.section-kicker{display:none}.source-grid,.source-section[data-source-section=press] .source-grid{grid-template-columns:1fr;gap:9px}.source-card,.source-section[data-source-section=press] .source-card{min-height:0;padding:15px}.card-description{margin-bottom:9px}.methodology{margin-top:54px;border-radius:20px}.methodology-header{padding:26px 21px 22px}.methodology-header h2{font-size:24px}.method-steps{grid-template-columns:1fr;gap:0;padding:8px 21px}.method-step{padding:20px 0}.method-step+.method-step{padding-left:0;border-top:1px solid #e5e5ea;border-left:0}.method-number{margin-bottom:10px}.methodology-footer{gap:18px;padding:21px}.method-actions{width:100%;flex-direction:column}.method-link{justify-content:center;width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
