/* PRPscore / Editorial homepage. One composition, one contrast system. */
:root { --home-ink:#292535; --home-copy:#514b60; --home-line:#ded9e5; --home-purple:#6d4db3; --home-paper:#faf9f6; --home-lilac:#eee8f5; --home-peach:#f6dccd; --home-display:'DM Sans',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body.home-page { margin:0; background:var(--home-paper)!important; color:var(--home-ink)!important; font:400 17px/1.6 'Source Sans 3',sans-serif!important; --muted:var(--home-copy); --accent:var(--home-purple); --line:var(--home-line); --ink:var(--home-ink); }
.home-page [hidden] { display:none!important; }
.home-page :is(h1,h2,h3,p,figure) { margin:0; }
.home-page :is(h1,h2,h3) { font-family:var(--home-display); font-weight:500; line-height:1.12; letter-spacing:-.045em; text-wrap:balance; }
.home-page em { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; }
.home-page h2 { font-size:clamp(32px,3.3vw,48px); }
.home-page h3 { font-size:23px; }
.home-page a { color:inherit; text-decoration:none; }
.home-page :is(button,input,select) { font:inherit; }
.home-page :is(button,select,summary) { cursor:pointer; }
.home-page button:disabled { opacity:.45; cursor:default; }
.home-page :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--home-purple)!important; outline-offset:4px; }
.home-page :is(a,button,summary,select) { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.home-page .wrap { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.home-page .section { padding-block:104px; }
.home-page .muted { color:var(--home-copy); }
.home-page .sr-only,.home-page .skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.home-page .skip:focus { position:fixed; top:10px; left:10px; padding:12px 20px; background:#fff; z-index:1000; }
.home-page .eyebrow { display:flex; align-items:center; gap:12px; color:var(--home-copy)!important; font:600 11px/1.6 var(--home-display); letter-spacing:.1em; text-transform:uppercase; }
.home-page .chapter { display:grid; place-items:center; width:30px; height:30px; border:1px solid #cbc0dc; border-radius:50%; color:var(--home-purple); font-size:10px; letter-spacing:0; }
.home-page .text-link { display:inline-flex; align-items:center; gap:18px; color:var(--home-purple); font-weight:600; font-size:15px; line-height:1.4; }
.home-page .text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.home-page .text-link>span:last-child:not(:first-child) { font-size:22px; font-weight:400; }
.home-page .button { display:inline-flex; justify-content:center; align-items:center; gap:24px; padding:14px 23px; min-height:50px; border:1px solid var(--home-line); border-radius:8px!important; background:#fff; color:var(--home-ink); font-size:15px; font-weight:600; line-height:1.4; }
.home-page .button:hover { border-color:#9c89ba; background:#f6f2fc; }
.home-page .button.primary { background:var(--home-purple)!important; border-color:var(--home-purple)!important; color:#fff!important; box-shadow:none!important; }
.home-page .button.primary:hover { background:#573996!important; }
/* Header */
.home-page .site-header { background:var(--home-paper); border-bottom:1px solid var(--home-line); }
.home-page .nav-row { min-height:90px; display:flex; align-items:center; gap:40px; position:relative; }
.home-page .brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; font:700 24px/1 var(--home-display); letter-spacing:-1.1px; }
.home-page .brand img { object-fit:contain; }
.home-page .brand sup { font-size:9px; align-self:flex-start; margin:3px 0 0 -8px; letter-spacing:0; }
.home-page .nav-row nav { display:flex; gap:26px; margin-left:auto; font-size:14px; color:#514b60; }
.home-page .nav-row nav a:hover { color:var(--home-purple); }
.home-page .nav-actions { display:flex; align-items:center; gap:22px; }
.home-page .languages { display:flex; gap:2px; }
.home-page .languages button { background:transparent; border:0; border-radius:6px; padding:6px 8px; min-height:36px; font-size:12px; color:#655b74; }
.home-page .languages button[aria-pressed=true] { color:#30243f; background:#ebe5f1; font-weight:700; }
.home-page .nav-login { border:1px solid #cfc6d9; padding:9px 17px; border-radius:7px!important; font-size:14px; font-weight:600; }
.home-page #home-menu-toggle { display:none; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--home-line); background:transparent; border-radius:7px; }
/* Opening composition */
.home-page .hero { display:grid; grid-template-columns:minmax(0,1.23fr) minmax(0,.86fr); align-items:center; gap:62px; padding-block:82px 92px; }
.home-page .hero::before { content:none; }
.home-page .hero-intro { min-width:0; }
.home-page .status-dot { width:7px; height:7px; border-radius:50%; background:#8f66e5; flex-shrink:0; }
.home-page .hero h1 { font-size:clamp(43px,4.7vw,68px); line-height:1.065; margin:24px 0 28px; max-width:690px; }
.home-page .hero h1 em { display:block; color:var(--home-purple); margin-top:10px; font-size:1.01em; line-height:1.08; }
.home-page .hero-lead { max-width:520px; color:var(--home-copy); font-size:18px; line-height:1.65; }
.home-page .hero-search-area { position:relative; max-width:550px; margin-top:30px; }
.home-page .search-form { display:flex; align-items:center; gap:13px; padding:7px 8px 7px 18px; min-height:64px; border:1px solid #cfc5dc; border-radius:10px; background:#fff; box-shadow:0 5px 18px #38244704; }
.home-page .search-form:focus-within { border-color:var(--home-purple); box-shadow:0 0 0 3px #6d4db311; }
.home-page .search-form svg { color:#72647f; flex-shrink:0; }
.home-page .search-form input { background:transparent; border:0; min-width:0; width:100%; padding:9px 0; outline:none; font-size:16px; color:var(--home-ink); }
.home-page .search-form input::placeholder { color:#706778; opacity:1; }
.home-page .search-form button { width:46px; height:46px; flex-shrink:0; border:0; border-radius:7px; color:#fff; background:var(--home-purple); font-size:25px; }
.home-page .search-form button:hover { background:#573996; }
.home-page .search-results { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:30; border:1px solid var(--home-line); background:#fff; border-radius:10px; box-shadow:0 20px 55px #29253514; max-height:350px; overflow:auto; padding:8px; }
.home-page .search-results p { padding:12px; }
.home-page .search-result { display:block; padding:12px; border-radius:7px; font-weight:600; }
.home-page .search-result:hover { background:#f0ebf8; }
.home-page .search-result small { display:block; color:var(--home-copy); font-size:12px; font-weight:400; }
.home-page .hero-links { display:flex; align-items:center; gap:30px; flex-wrap:wrap; margin-top:22px; }
.home-page .subtle-link { color:#514b60; font-size:14px; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#b2a5c2; }
.home-page .hero-art { position:relative; align-self:stretch; display:flex; flex-direction:column; min-width:0; border:0; border-radius:0; background:transparent; padding:30px 24px 20px; margin:0; }
.home-page .art-stage { position:relative; display:flex; align-items:center; flex:1; min-height:330px; padding-block:40px 20px; isolation:isolate; }
.home-page .art-disc { position:absolute; z-index:-1; width:88%; aspect-ratio:1; left:6%; border-radius:50%; background:linear-gradient(145deg,#f6dccd 5%,#efe7f5 95%); }
.home-page .hero-art img { position:relative; display:block; width:112%; max-width:none; height:auto; margin-left:-6%; }
.home-page .hero-art figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:20px; padding-top:17px; border-top:0; font-size:12px; color:#594e65; }
.home-page .art-frameworks { font-weight:600; color:#483954; }
/* The platform is the primary entry; the public observatory remains searchable. */
.home-page .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px 26px; margin-top:30px; }
.home-page .hero-observatory-link { margin-top:24px; max-width:480px; color:var(--home-copy); font-size:14px; line-height:1.7; }
.home-page .hero-observatory-link a { color:var(--home-purple); text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.home-page .platform-section { border-top:1px solid var(--home-line); }
.home-page .platform-section .section-heading em { color:var(--home-purple); }
.home-page .capabilities-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-page .capability { --tile:#f1ecf8; --tile-ink:#66469d; padding:28px; border:1px solid #e4dfe9; border-radius:16px; background:#fffefa; min-width:0; }
.home-page .capability--blue { --tile:#e3eff4; --tile-ink:#31667e; }
.home-page .capability--peach { --tile:#f8e5d9; --tile-ink:#925334; }
.home-page .capability-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; color:var(--tile-ink); background:var(--tile); margin-bottom:25px; }
.home-page .capability-icon svg { width:24px; height:24px; }
.home-page .capability h3 { font-size:21px; letter-spacing:-.035em; line-height:1.25; margin-bottom:12px; }
.home-page .capability p { color:var(--home-copy); font-size:16px; line-height:1.65; max-width:360px; }
.home-page .capability--night { background:#30283e; border-color:#30283e; color:#fbf6ff; --tile:#50425f; --tile-ink:#f6d5c2; }
.home-page .capability--night p { color:#e0d7e9; }
.home-page .observatory-search { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.home-page .observatory-search>p { font-weight:600; font-size:17px; }
.home-page .observatory-search .hero-search-area { flex:1; width:100%; margin-top:0; }
/* Numbers: explicit dark labels and supporting text, never inherited inverted text. */
.home-page .stats-section { background:#f1eee7; color:var(--home-ink); border-block:1px solid #e3ded4; padding:38px 0 26px; }
.home-page .section-kicker { display:flex; justify-content:space-between; align-items:center; gap:24px; color:var(--home-ink); }
.home-page .section-kicker h2 { font-family:'Source Sans 3',sans-serif; font-size:20px; font-weight:600; letter-spacing:-.015em; }
.home-page #data-updated { font-size:12px; color:#5c554c; }
.home-page .stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:32px; }
.home-page .stats-grid>div { padding:0 28px; border-left:1px solid #d7cec0; background:transparent; border-radius:0; min-width:0; }
.home-page .stats-grid>div:first-child { padding-left:0; border-left:0; }
.home-page .stats-grid strong { display:block; color:#302637; font:500 clamp(38px,4.4vw,61px)/1.12 var(--home-display); letter-spacing:-.065em; font-variant-numeric:tabular-nums; }
.home-page .stats-grid>div>span { display:block; color:#3c3444; font-size:16px; font-weight:600; line-height:1.35; margin-top:12px; }
.home-page .stats-grid small { display:block; color:#5b5262; font-size:13px; line-height:1.5; margin-top:6px; }
.home-page .stats-details { margin-top:26px; font-size:13px; color:#4e4555; }
.home-page .stats-details summary { width:fit-content; font-size:13px; color:#4e4555; text-underline-offset:4px; }
.home-page .stats-details summary:hover { text-decoration:underline; }
.home-page #extra-stats { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.home-page .stats-details p { max-width:1000px; line-height:1.65; margin-top:14px; }
/* Live rankings */
.home-page .section-heading { display:flex; justify-content:space-between; align-items:end; gap:55px; margin-bottom:40px; }
.home-page .section-heading>div { flex:1; }
.home-page .section-heading h2 { margin-top:20px; max-width:650px; }
.home-page .section-heading>p { width:340px; max-width:100%; color:var(--home-copy); font-size:16px; line-height:1.65; }
.home-page .ranking-card { display:grid; grid-template-columns:310px minmax(0,1fr); grid-template-areas:'side results' 'footer footer'; border:1px solid #dcd4e4; border-radius:18px; background:#fff; box-shadow:0 16px 42px #33204405; overflow:hidden; }
.home-page .ranking-sidebar { grid-area:side; background:#f1ecf7; padding:26px; border-right:1px solid #dfd6e8; }
.home-page .ranking-card-label { display:flex; align-items:center; justify-content:space-between; font-size:15px; font-weight:600; color:#483955; margin-bottom:20px; }
.home-page .info-link { display:grid; place-items:center; width:25px; height:25px; border:1px solid #b8a9c8; border-radius:50%; font:14px/1 Georgia,serif; color:#624b79; }
.home-page .ranking-filters { display:grid; gap:17px; }
.home-page .ranking-filters label { display:grid; gap:7px; min-width:0; }
.home-page .ranking-filters label>span { color:#584966; font-size:12px; font-weight:600; }
.home-page :is(.ranking-filters,.ranking-context) select { min-width:0; max-width:100%; width:100%; min-height:44px; border:1px solid #d3c8df; background:#fff; color:#392f46; padding:9px 10px; border-radius:7px; font-size:14px; text-overflow:ellipsis; }
.home-page .ranking-context { margin-top:22px; }
.home-page .context-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:11px; color:#625570; margin-top:10px; }
.home-page .context-line select { margin-top:4px; }
.home-page .ranking-results { grid-area:results; padding:24px 30px 20px; min-width:0; display:flex; flex-direction:column; }
.home-page .ranking-table-heading { display:flex; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid #e5dfee; font:500 10px/1.5 var(--home-display); text-transform:uppercase; letter-spacing:.09em; color:#62576c; }
.home-page .ranking-content { min-height:310px; flex:1; }
.home-page .ranking-content[aria-busy=true] { opacity:.6; }
.home-page .ranking-row { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:17px; align-items:center; padding:19px 0; border-bottom:1px solid #eee9f1; }
.home-page .ranking-row:last-child { border-bottom:0; }
.home-page .ranking-row:hover h3 { color:var(--home-purple); text-decoration:underline; text-underline-offset:4px; }
.home-page .ranking-row .rank { font-size:12px; font-family:var(--home-display); color:#6b5a7c; border:1px solid #e2d9eb; border-radius:50%; width:29px; height:29px; display:grid; place-items:center; }
.home-page .ranking-row h3 { font-size:17px; font-weight:600; letter-spacing:-.015em; line-height:1.35; overflow-wrap:anywhere; }
.home-page .row-meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px 10px; margin-top:8px; font-size:11px; color:#665b72; }
.home-page .pill { display:inline-flex; align-items:center; border-radius:4px; background:#ede7f5; color:#634b7b; padding:2px 6px; font-size:10px; font-weight:600; line-height:1.5; }
.home-page .pill.verified { background:#e9f3ed; color:#285f47; }
.home-page .pill.community { background:#f4e8da; color:#845928; }
.home-page .score-cell { text-align:right; white-space:nowrap; }
.home-page .score-cell strong { font:500 28px/1 var(--home-display); letter-spacing:-.05em; color:#4c376a; }
.home-page .score-cell small { font-size:10px; color:#665b72; }
.home-page .score-badge { display:block; width:54px; height:auto; max-height:17px; object-fit:contain; margin:8px 0 0 auto; }
.home-page .ranking-footnote { font-size:10px; color:#6b6174; line-height:1.6; padding-top:12px; }
.home-page .ranking-footer { grid-area:footer; display:flex; justify-content:space-between; align-items:center; gap:20px; background:#fff; border-top:1px solid #e1d9e8; padding:18px 26px; }
.home-page .rotation-controls { display:flex; align-items:center; gap:8px; }
.home-page #rotation-count { font-size:12px; color:#65596f; margin-right:8px; }
.home-page .rotation-controls button { display:grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid #dbd2e4; border-radius:7px; color:#554360; background:#fff; font-size:16px; }
.home-page .rotation-controls button:hover:not(:disabled) { background:#f0ebf8; }
.home-page .empty-state { display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; padding:30px 20px; min-height:300px; }
.home-page .empty-mark { font-size:32px; color:var(--home-purple); margin-bottom:14px; }
.home-page .empty-state h3 { font-size:21px; margin-bottom:10px; }
.home-page .empty-state p { max-width:420px; color:var(--home-copy); font-size:15px; line-height:1.6; }
.home-page .research-note { display:flex; align-items:flex-start; gap:18px; max-width:900px; margin:28px 0 0; color:#655b70; font-size:13px; line-height:1.7; }
.home-page .research-symbol { color:#8f66b9; font-size:29px; line-height:1.2; }
/* Findings, kept readable as sources rotate. */
.home-page .findings-section { background:#f1edf5; border-block:1px solid #e5deeb; }
.home-page .findings-section .section-heading em { color:#705580; }
.home-page .attention-strip { display:grid; grid-template-columns:310px minmax(0,1fr); gap:52px; align-items:start; }
.home-page .attention-intro h3 { margin-bottom:16px; }
.home-page .attention-intro p { font-size:15px; color:var(--home-copy); line-height:1.7; margin-bottom:22px; }
.home-page .signal-item { display:block; padding:25px 0; border-bottom:1px solid #d9cfdf; }
.home-page .signal-item:first-child { padding-top:0; }
.home-page .signal-item strong { font:600 18px/1.4 var(--home-display); letter-spacing:-.025em; margin-right:10px; }
.home-page .signal-item p { font-size:17px; line-height:1.6; color:#51475d; margin-top:12px; }
.home-page .signal-item:hover strong { color:var(--home-purple); text-decoration:underline; text-underline-offset:5px; }
.home-page .insights-details { margin-top:42px; border-top:1px solid #d9cfdf; padding-top:20px; }
.home-page .insights-details>summary { color:#5a4968; font-size:14px; }
.home-page .insights-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:24px; }
.home-page .insight { padding:26px; border:1px solid #e0d7e8; border-radius:10px; background:#faf8fc; }
.home-page .insight-heading { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.home-page .insight-heading h3 { font-size:19px; }
.home-page .section-icon { color:var(--home-purple); font-size:22px; }
.home-page .insight-body,.home-page .insight-item p { font-size:15px; line-height:1.65; }
.home-page .insight-item { display:block; padding-block:16px; border-bottom:1px solid #e5dfee; }
.home-page .insight-item:first-child { padding-top:0; }
.home-page .delta { float:right; color:#256348; font-weight:600; }
/* Real dashboard capture, kept complete and readable at its portrait ratio. */
.home-page .dashboard-showcase { position:relative; isolation:isolate; background:#292334; color:#f6f1fb; overflow:hidden; }
.home-page .dashboard-showcase::before { content:''; position:absolute; z-index:-1; width:1000px; height:1000px; right:-200px; top:50px; border-radius:50%; background:radial-gradient(circle,#8663a455,transparent 68%); }
.home-page .workspace-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr); align-items:center; gap:70px; }
.home-page .workspace-story { padding-block:12px; }
.home-page .workspace-story h2 { color:#f9f5fd; margin:22px 0 25px; font-size:clamp(42px,4.3vw,62px); }
.home-page .workspace-story em { color:#e5c4ee; }
.home-page .dashboard-showcase .eyebrow { color:#d1c1e0!important; }
.home-page .showcase-description { font-size:18px; color:#d5cddd; line-height:1.7; margin-bottom:24px; max-width:490px; }
.home-page .workspace-highlights { list-style:none; margin:32px 0 34px; padding:0; }
.home-page .workspace-highlights li { display:flex; gap:17px; padding:22px 0; border-top:1px solid #5b4c67; }
.home-page .workspace-highlights li>span { flex-shrink:0; display:grid; place-items:center; align-self:flex-start; width:30px; height:30px; color:#f2d3c0; border:1px solid #847087; border-radius:50%; font:500 10px/1 var(--home-display); }
.home-page .workspace-highlights h3 { font-size:18px; letter-spacing:-.02em; line-height:1.3; color:#fbf6ff; margin:3px 0 9px; }
.home-page .workspace-highlights p { font-size:15px; color:#d5cddd; line-height:1.65; }
.home-page .dashboard-showcase .button.primary { background:#e5d6f6!important; border-color:#e5d6f6!important; color:#32233f!important; }
.home-page .dashboard-showcase .button.primary:hover { background:#f3eafb!important; }
.home-page .dashboard-showcase :is(a,button):focus-visible { outline-color:#f9b499!important; }
.home-page .dashboard-figure { position:relative; min-width:0; margin:0; }
.home-page .dashboard-figure::before { content:''; position:absolute; z-index:-1; inset:12px -12px 64px 16px; background:linear-gradient(145deg,#c5b0e3,#e1bba6); transform:rotate(2deg); border-radius:18px; opacity:.85; }
.home-page .dashboard-frame { position:relative; border-radius:12px; background:#fff; border:1px solid #b6a5c5; overflow:hidden; box-shadow:0 25px 70px #1008194d; }
.home-page .dashboard-frame-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:42px; padding:0 18px; background:#f1edf5; border-bottom:1px solid #e2dbe9; font-size:11px; color:#695872; }
.home-page .frame-dots { display:flex; gap:6px; min-width:75px; }
.home-page .frame-dots i { width:7px; height:7px; border-radius:50%; background:#b19bd0; }
.home-page .frame-dots i:first-child { background:#dea78f; }
.home-page .frame-dots i:nth-child(2) { background:#c9b9df; }
.home-page .frame-label { min-width:75px; text-align:right; }
.home-page .dashboard-image-link { display:block; cursor:zoom-in; }
.home-page .dashboard-image-link img { width:100%; height:auto; display:block; }
.home-page .dashboard-figure figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:25px; color:#d5cddd; font-size:12px; }
.home-page .dashboard-figure figcaption .text-link { color:#eadbf7; font-size:12px; }
/* Latest publications and organization entry */
.home-page .activity-layout { display:grid; grid-template-columns:1fr 1.25fr; gap:100px; }
.home-page .activity-layout h2 { margin:20px 0 22px; }
.home-page .activity-layout>div>p:not(.eyebrow) { max-width:340px; color:var(--home-copy); font-size:17px; margin-bottom:24px; }
.home-page .activity-list { border-top:1px solid var(--home-line); }
.home-page .activity-item { position:relative; display:block; padding:22px 115px 22px 0; border-bottom:1px solid var(--home-line); font-size:14px; color:var(--home-copy); }
.home-page .activity-item strong { display:inline-block; font-family:var(--home-display); font-size:17px; font-weight:500; color:var(--home-ink); margin-bottom:6px; }
.home-page .activity-item:hover strong { color:var(--home-purple); text-decoration:underline; text-underline-offset:4px; }
.home-page .activity-item time { position:absolute; right:0; top:27px; font-size:12px; color:#6d6377; }
.home-page .claim-section { padding-bottom:85px; }
.home-page .business-card { display:flex; justify-content:space-between; align-items:center; gap:55px; padding:42px; background:#ede5d9; border:1px solid #dfd3c3; border-radius:14px; }
.home-page .business-card h2 { font-size:32px; margin:13px 0 15px; }
.home-page .business-card p:not(.eyebrow) { font-size:16px; color:#594f43; max-width:690px; }
.home-page .business-card>.button { flex-shrink:0; border-color:#cdbda8; background:transparent; }
/* Footer */
.home-page .site-footer { border-top:1px solid #dfd9e7; background:#f0edf3; padding:44px 0 26px; }
.home-page .footer-row { display:flex; align-items:center; gap:35px; padding-bottom:35px; }
.home-page .footer-row p { color:#62596c; font-size:15px; }
.home-page .back-top { display:grid; place-items:center; margin-left:auto; width:44px; height:44px; border:1px solid #cfc4db; border-radius:50%; font-size:22px; }
.home-page .footer-bottom { display:flex; justify-content:space-between; gap:24px; padding-top:22px; border-top:1px solid #dbd3e3; color:#63596d; font-size:12px; }
.home-page .footer-bottom nav { display:flex; gap:24px; flex-wrap:wrap; }
.home-page .footer-bottom a:hover { text-decoration:underline; }
.home-page .is-changing { animation:home-reveal .4s ease both; }
@keyframes home-reveal { from { opacity:.25; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1600px) { .home-page .hero { gap:90px; } }
@media(max-width:1100px) {
 .home-page .capability { padding:24px; }.home-page .workspace-layout { gap:42px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
 .home-page .wrap { width:calc(100% - 64px); }
 .home-page .nav-row { gap:24px; }.home-page .nav-row nav { gap:18px; }.home-page .nav-actions { gap:16px; }
 .home-page .hero { gap:40px; padding-block:65px; }.home-page .hero h1 { font-size:52px; }.home-page .hero-art { padding:24px 18px 18px; }.home-page .art-stage { min-height:280px; }
 .home-page .stats-grid>div { padding-inline:22px; }.home-page .stats-grid strong { font-size:46px; }
 .home-page .ranking-card { grid-template-columns:270px minmax(0,1fr); }.home-page .ranking-sidebar { padding:24px; }.home-page .ranking-results { padding:24px; }
 .home-page .attention-strip { grid-template-columns:260px minmax(0,1fr); gap:36px; }.home-page .activity-layout { gap:60px; }
 .home-page .business-card { gap:35px; padding:32px; }.home-page .business-card>.button { max-width:245px; }
}
@media(max-width:900px) {
 .home-page .capabilities-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-page .capability:last-child { grid-column:1/-1; }.home-page .capability:last-child p { max-width:560px; }
 .home-page .workspace-layout { grid-template-columns:1fr; gap:40px; }.home-page .workspace-story { max-width:650px; }.home-page .workspace-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.home-page .workspace-highlights li { display:block; padding-block:18px 0; }.home-page .workspace-highlights li>span { margin-bottom:15px; }.home-page .dashboard-figure { width:min(100%,680px); justify-self:center; }
 .home-page .observatory-search { align-items:flex-start; flex-direction:column; gap:14px; }.home-page .observatory-search .hero-search-area { max-width:none; }
 .home-page .nav-row { min-height:76px; }.home-page .nav-actions { margin-left:auto; }.home-page #home-menu-toggle { display:inline-flex; }
 .home-page .nav-row nav { display:none; position:absolute; z-index:50; top:calc(100% - 1px); right:0; left:0; padding:20px; border:1px solid var(--home-line); border-radius:0 0 12px 12px; background:var(--home-paper); box-shadow:0 18px 25px #2925350c; margin:0; }
 .home-page .nav-row nav.is-open { display:flex; flex-direction:column; gap:4px; }.home-page .nav-row nav a { padding:10px; }
 .home-page .hero { gap:30px; }.home-page .hero h1 { font-size:43px; }.home-page .hero-lead { font-size:16px; }.home-page .hero .eyebrow { font-size:9px; }.home-page .art-stage { min-height:230px; }.home-page .hero-art figcaption { font-size:11px; }.home-page .hero-links { gap:18px; }.home-page .hero-links .text-link { font-size:14px; }.home-page .subtle-link { font-size:12px; }
 .home-page .section { padding-block:76px; }.home-page .section-heading { gap:30px; }.home-page .section-heading>p { width:290px; font-size:15px; }
 .home-page .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; }.home-page .stats-grid>div:nth-child(3) { border:0; padding-left:0; }
 .home-page .stats-grid strong { font-size:49px; }.home-page .section-kicker { align-items:start; }.home-page #data-updated { text-align:right; }
 .home-page .ranking-card { grid-template-columns:230px minmax(0,1fr); }.home-page .ranking-sidebar { padding:20px; }.home-page .ranking-results { padding:20px; }.home-page .ranking-row { gap:10px; }.home-page .ranking-row h3 { font-size:15px; }.home-page .row-meta { font-size:10px; gap:5px; }
 .home-page .attention-strip { grid-template-columns:220px minmax(0,1fr); gap:30px; }.home-page .signal-item strong { display:block; margin-bottom:8px; }.home-page .signal-item p { font-size:16px; }.home-page .showcase-description { font-size:16px; }
 .home-page .activity-layout { gap:40px; }.home-page .activity-item { padding-right:0; }.home-page .activity-item time { position:static; display:block; margin-top:8px; }
 .home-page .business-card { flex-direction:column; align-items:start; gap:22px; }.home-page .business-card>.button { max-width:none; }
}
@media(max-width:640px) {
 .home-page .capabilities-grid { grid-template-columns:1fr; gap:12px; }.home-page .capability { padding:24px; display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:16px; }.home-page .capability-icon { width:42px; height:42px; margin:0; grid-row:1/3; }.home-page .capability h3 { font-size:20px; margin-top:9px; margin-bottom:12px; }.home-page .capability p { grid-column:2; font-size:15px; }.home-page .capability:last-child { grid-column:auto; }
 .home-page .workspace-layout { gap:32px; }.home-page .workspace-highlights { display:block; margin-block:25px; }.home-page .workspace-highlights li { display:flex; padding:20px 0; }.home-page .workspace-highlights li>span { margin-bottom:0; }.home-page .workspace-story h2 { font-size:44px; }.home-page .hero-actions { gap:20px; }.home-page .hero-actions .text-link { font-size:14px; gap:10px; }
 .home-page .wrap { width:calc(100% - 40px); }.home-page .nav-row { min-height:72px; gap:10px; }.home-page .brand { font-size:21px; gap:7px; }.home-page .brand img { width:26px; height:26px; }.home-page .nav-actions { gap:9px; }.home-page .nav-login { padding:8px 10px; font-size:12px; }.home-page .languages button { padding:5px; font-size:10px; }.home-page #home-menu-toggle { width:34px; height:36px; }
 .home-page .hero { grid-template-columns:1fr; padding:45px 0 48px; gap:36px; }.home-page .hero h1 { font-size:clamp(41px,9.8vw,59px); margin-block:22px; max-width:560px; }.home-page .hero .eyebrow { font-size:9px; gap:8px; }.home-page .hero-lead { max-width:500px; font-size:17px; }.home-page .hero h1 em { margin-top:8px; }.home-page .hero-search-area { margin-top:24px; max-width:none; }
 .home-page .search-form { min-height:60px; padding-left:13px; gap:10px; }.home-page .search-form button { width:42px; height:42px; }.home-page .hero-links { justify-content:space-between; gap:14px; }.home-page .hero-links .text-link { gap:9px; }.home-page .subtle-link { font-size:13px; }
 .home-page .hero-art { max-width:100%; width:100%; padding:18px 22px; }.home-page .art-stage { min-height:0; height:240px; padding:10px 0; justify-content:center; }.home-page .art-disc { width:215px; left:calc(50% - 107px); }.home-page .hero-art img { width:290px; max-width:100%; margin:0; }.home-page .hero-art figcaption { margin-top:10px; padding-top:14px; font-size:11px; }
 .home-page .stats-section { padding:28px 0; }.home-page .section-kicker { display:block; }.home-page .section-kicker h2 { font-size:19px; max-width:290px; }.home-page #data-updated { display:block; text-align:left; margin-top:10px; }.home-page .stats-grid { margin-top:27px; gap:25px 0; }.home-page .stats-grid>div { padding-inline:16px; }.home-page .stats-grid strong { font-size:43px; }.home-page .stats-grid>div>span { font-size:15px; margin-top:8px; }.home-page .stats-grid small { font-size:12px; }
 .home-page .section { padding-block:60px; }.home-page .section-heading { display:block; margin-bottom:28px; }.home-page .section-heading h2 { font-size:35px; margin-top:16px; }.home-page .section-heading>p { margin-top:20px; width:auto; max-width:440px; font-size:16px; }
 .home-page .ranking-card { display:block; border-radius:13px; }.home-page .ranking-sidebar { border:0; border-bottom:1px solid #dfd6e8; padding:22px; }.home-page .ranking-card-label { margin-bottom:15px; }.home-page .ranking-filters { grid-template-columns:1fr 1fr; gap:14px; }.home-page .ranking-filters label:nth-child(2) { grid-column:1/-1; grid-row:2; }.home-page .ranking-context { margin-top:16px; }.home-page .ranking-results { padding:20px; }.home-page .ranking-row { gap:12px; padding-block:18px; }.home-page .ranking-row h3 { font-size:16px; }.home-page .ranking-row .rank { width:26px; height:26px; }.home-page .score-cell strong { font-size:25px; }.home-page .score-badge { width:48px; }.home-page .row-meta { gap:5px 8px; font-size:10px; }.home-page .ranking-content { min-height:310px; }
 .home-page .ranking-footer { flex-wrap:wrap; gap:18px; padding:19px 20px; }.home-page .ranking-footer .text-link { font-size:14px; }.home-page .rotation-controls { margin-left:auto; }.home-page .research-note { gap:12px; font-size:12px; margin-top:24px; }
 .home-page .attention-strip { grid-template-columns:1fr; gap:28px; }.home-page .attention-intro { padding-bottom:24px; border-bottom:1px solid #d9cfdf; }.home-page .signal-item strong { display:inline; font-size:17px; }.home-page .signal-item>.pill { display:inline-block; margin-top:6px; }.home-page .signal-item p { font-size:16px; }.home-page .insights-grid { grid-template-columns:1fr; gap:16px; }.home-page .insight { padding:22px; }.home-page .showcase-description { font-size:17px; }.home-page .dashboard-figure { margin:18px 0 0; }.home-page .dashboard-figure::before { transform:rotate(-3deg); inset:0 8px 75px; border-radius:10px; }.home-page .dashboard-frame { border-radius:8px; }.home-page .dashboard-frame-bar { min-height:32px; padding-inline:10px; font-size:9px; gap:10px; }.home-page .frame-dots { min-width:35px; gap:4px; }.home-page .frame-dots i { width:5px; height:5px; }.home-page .frame-label { display:none; }.home-page .dashboard-figure figcaption { gap:14px; align-items:start; font-size:11px; margin-top:20px; }.home-page .dashboard-figure figcaption .text-link { font-size:11px; gap:8px; white-space:nowrap; }
 .home-page .activity-layout { grid-template-columns:1fr; gap:30px; }.home-page .activity-layout h2 { font-size:39px; }.home-page .activity-layout>div>p:not(.eyebrow) { max-width:450px; }.home-page .activity-item { padding-block:19px; }.home-page .claim-section { padding-bottom:55px; }.home-page .business-card { padding:27px 24px; gap:24px; }.home-page .business-card h2 { font-size:29px; }.home-page .business-card p:not(.eyebrow) { font-size:15px; }.home-page .business-card>.button { font-size:14px; gap:16px; padding:13px 18px; }
 .home-page .site-footer { padding-top:32px; }.home-page .footer-row { flex-wrap:wrap; gap:18px; padding-bottom:25px; }.home-page .footer-row p { order:3; width:100%; font-size:14px; }.home-page .footer-bottom { flex-direction:column-reverse; gap:20px; padding-top:24px; }.home-page .footer-bottom nav { gap:22px; }
}
@media(max-width:360px) {
 .home-page .wrap { width:calc(100% - 32px); }.home-page .nav-actions { gap:6px; }.home-page .nav-login { font-size:11px; padding:8px; }.home-page .brand { font-size:19px; gap:5px; }.home-page .brand img { width:23px; height:23px; }.home-page .brand sup { font-size:7px; }.home-page .languages button { padding:4px; }.home-page .hero .eyebrow { font-size:8px; }.home-page .hero h1 { font-size:39px; }.home-page .hero-links { gap:15px; }.home-page .subtle-link { font-size:12px; }.home-page .stats-grid strong { font-size:37px; }.home-page .stats-grid>div { padding-inline:12px; }.home-page .stats-grid>div>span { font-size:14px; }.home-page .ranking-sidebar,.home-page .ranking-results { padding:18px; }.home-page .ranking-row { grid-template-columns:24px minmax(0,1fr) auto; gap:8px; }.home-page .ranking-row h3 { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.home-page * { animation:none!important; transition:none!important; } }
@media print { .home-page { background:#fff!important; }.home-page .site-header,.home-page .rotation-controls,.home-page .search-form { display:none; }.home-page .wrap { width:100%; }.home-page .section { padding-block:28px; }.home-page .dashboard-showcase { background:#fff; color:#292535; }.home-page .dashboard-showcase :is(h2,p,em,.eyebrow) { color:#292535!important; } }
