/* QRankX / 研究刊物式界面。此层统一旧页面的色彩与文字层级。 */
:root{
  --bg:#F7F6F2;
  --paper:#FFFFFF;
  --card:#FFFFFF;
  --ink:#20231F;
  --navy:#20231F;
  --muted:#62665E;
  --faint:#6C6E66;
  --line:#E8E5DD;
  --line-2:#F0EEE8;
  --accent:#65745B;
  --accent-2:#4B5D43;
  --accent-bg:#EDF0E9;
  --fresh:#65745B;
  --ok:#65745B;
  --danger:#A64B3C;
  --gold:#92713F;
  --c-comp:#65745B;
  --c-growth:#65745B;
  --c-sustain:#65745B;
  --c-mgmt:#65745B;
  --c-stab:#65745B;
  --c-match:#65745B;
  --shadow:none;
}
html{scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.75}
::selection{background:#DCE3D7;color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}
.site-header{background:rgba(247,246,242,.98);border-bottom:1px solid var(--line);box-shadow:none}
.header-inner{height:68px;gap:34px}
.site-header .brand-mark{width:43px;height:43px}
.brand-type strong{font-family:inherit;font-weight:700;letter-spacing:-.04em}
.brand-type em{font-family:Inter,Arial,Helvetica,sans-serif;letter-spacing:0}
.site-header .brand-type strong{font-size:23px}
.site-header .brand-type em{font-size:12px;margin-top:3px}
.brand-type em span{color:var(--accent)}
.main-nav{gap:29px}
.main-nav a{padding:21px 0;color:var(--muted);font-size:14px;font-weight:500}
.main-nav a.active,.main-nav a:hover{color:var(--ink);font-weight:600}
.main-nav a.active:after{height:2px;background:var(--accent)}
.header-cta{min-height:40px;border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:var(--bg);padding:8px 17px}
.header-cta:hover{background:transparent;color:var(--ink)}
.mobile-nav{display:none}

/* 首屏是一张可操作的企业观察页，而非宣传照片。 */
.ed-cover{min-height:640px;max-height:none;background:var(--bg);padding-top:50px;padding-bottom:72px}
.ed-cover-meta{color:var(--faint);font-size:13px}
.ed-cover-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(315px,.8fr);gap:clamp(52px,8vw,142px);align-items:center;flex:1;padding-top:56px}
.ed-cover-copy{padding-bottom:14px}
.ed-cover h1{margin:0;padding:0;max-width:13em;font-family:inherit;font-size:clamp(56px,4.6vw,64px);font-weight:700;letter-spacing:-.035em;line-height:1.25;text-wrap:balance}
.ed-cover-copy>p{max-width:44em;margin-top:26px;color:var(--muted);font-size:18px;line-height:1.8}
.ed-cover-copy>p+p{margin-top:12px}
.ed-cover-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:32px}
.ed-cover-action{min-width:0;min-height:48px;padding:12px 18px;gap:30px;border-radius:2px;background:var(--ink);color:var(--bg);font-size:15px}
.ed-cover-action:hover{background:var(--accent-2);color:#fff}
.ed-cover-action span{font-size:19px}
.ed-cover-secondary{font-size:15px;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.ed-cover-secondary:hover{color:var(--accent-2)}
.ed-cover-dossier{background:var(--paper);border:1px solid var(--line);padding:30px 32px 25px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.ed-dossier-heading{padding-bottom:22px;border-bottom:1px solid var(--line)}
.ed-dossier-heading span{color:var(--accent-2);font-size:12px;font-weight:600;letter-spacing:.02em}
.ed-dossier-heading h2{margin:12px 0 0;font-size:23px;font-weight:600;line-height:1.4;letter-spacing:-.025em}
.ed-cover-dossier>a{display:grid;grid-template-columns:38px minmax(0,1fr) 17px;gap:12px;align-items:center;min-height:74px;border-bottom:1px solid var(--line);color:var(--ink)}
.ed-cover-dossier>a:hover{color:var(--accent-2)}
.ed-cover-dossier>a span:first-child{font-size:12px;color:var(--faint)}
.ed-cover-dossier>a strong{font-size:16px;font-weight:600}
.ed-cover-dossier>a span:last-child{font-size:18px}
.ed-cover-dossier>p{margin:22px 0 0;color:var(--faint);font-size:13px;line-height:1.6}

/* 出版式层级：标题、正文、数字和来源各司其职。 */
.ed-section-label{color:var(--accent-2);font-size:13px}
.ed-opening{background:#EEEDE7;padding-block:78px}
.ed-figures{gap:60px}
.ed-figures strong{font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(54px,5vw,76px);font-weight:600;letter-spacing:-.055em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.ed-figures span{margin-top:11px;color:var(--muted);font-size:14px}
.ed-opening-copy{max-width:36em}
.ed-opening-copy h2{margin:0;color:var(--ink);font-family:inherit;font-size:clamp(23px,2.1vw,29px);font-weight:650;letter-spacing:-.025em;line-height:1.45}
.ed-opening-copy p{margin:13px 0 0;color:var(--muted);font-family:inherit;font-size:17px;line-height:1.8}
.ed-statement{padding-block:105px;background:var(--bg)}
.ed-statement>.ed-section-label,.ed-index-heading>.ed-section-label,.ed-explore>div>.ed-section-label{display:none}
.ed-statement h2,.ed-index-heading h2,.ed-explore h2{font-family:inherit;font-weight:650;letter-spacing:-.035em}
.ed-statement h2{font-size:clamp(27px,2.7vw,38px);line-height:1.4}
.ed-statement p{margin-top:22px;font-size:16px;line-height:1.9;max-width:36em}
.ed-statement a,.ed-explore a{color:var(--accent-2);border-color:var(--accent);font-size:15px}
.ed-index{background:var(--paper);padding-block:94px}
.ed-index-heading{grid-template-columns:1fr;gap:0;margin-bottom:35px}
.ed-index-heading h2{font-size:clamp(28px,2.7vw,38px);line-height:1.4}
.ed-index-row{grid-template-columns:52px minmax(220px,.9fr) minmax(220px,1fr) 24px;min-height:94px;padding:18px 0;gap:20px}
.ed-index-number{font-family:Inter,Arial,Helvetica,sans-serif;font-size:13px;color:var(--accent-2);font-variant-numeric:tabular-nums}
.ed-index-row strong{font-family:inherit;font-size:clamp(20px,1.85vw,27px);font-weight:600;letter-spacing:-.025em}
.ed-index-description{color:var(--muted);font-size:14px}
.ed-index-arrow{font-size:21px}
.ed-footnote{color:var(--faint);font-size:13px}
.ed-explore{background:var(--ink);color:var(--bg);padding-block:90px}
.ed-explore h2{margin-top:0;font-size:clamp(29px,3vw,43px);line-height:1.42}
.ed-explore p{color:#E6E8E1;font-size:16px;line-height:1.85}
.ed-explore a{color:var(--bg);border-color:#879080}
.ed-explore a:hover{color:#CBD8C5}

/* 专题目录与检索页保持同一阅读节奏。 */
.ed-evaluation-cover{background:var(--bg);padding-block:66px 52px}
.ed-evaluation-cover h1{margin:0;max-width:17em;font-family:inherit;font-size:clamp(39px,4vw,56px);font-weight:700;letter-spacing:-.035em;line-height:1.3}
.ed-evaluation-cover p{max-width:43em;margin-top:25px;font-size:17px;line-height:1.85}
.ed-evaluation-layout{padding-block:54px 100px}
.ed-evaluation-heading{align-items:baseline}
.ed-evaluation-heading h1{margin:0;color:var(--ink);font-family:inherit;font-size:clamp(32px,3vw,40px);font-weight:700;line-height:1.35;letter-spacing:-.03em}
.ed-ranking-row{grid-template-columns:34px minmax(220px,1fr) minmax(130px,.65fr) auto;gap:18px;padding:26px 0}
.ed-ranking-name h2{font-family:inherit;font-size:clamp(20px,1.75vw,26px);font-weight:600;letter-spacing:-.02em}
.ed-ranking-name p{font-size:14px}
.ed-ranking-metric{color:var(--muted);font-size:13px}
.ed-ranking-row button{border-color:var(--line);color:var(--ink);border-radius:2px;min-height:44px}
.ed-ranking-row button:hover,.ed-ranking-row button:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.ed-evaluation-aside h2{font-family:inherit;font-size:21px}
.ed-search button,.directory-search button,.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.ed-search button:hover,.directory-search button:hover,.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff}

/* 榜单中的结果占据版面，控件才使用独立容器。 */
.ranking-hero,.salary-trial-head,.benefits-head,.topic-head,.detail-hero{background:#EFF1EC;background-image:none;color:var(--ink);box-shadow:none}
.ranking-hero{min-height:0;padding-block:48px}
.salary-trial-head{padding-block:44px}
.ranking-hero h1,.salary-trial-head h1,.topic-head h1,.benefits-head h1,.detail-hero h1,.directory-intro h1,.page-title{font-family:inherit;font-size:clamp(32px,3.4vw,47px);font-weight:700;line-height:1.3;letter-spacing:-.03em;color:var(--ink)}
.ranking-hero p,.ranking-hero .crumb,.ranking-hero .crumb a,.ranking-hero summary,.salary-trial-head .crumb,.salary-trial-head .crumb a,.salary-trial-head p{color:var(--muted)}
.trial-facts span{background:#FFFFFFA8;border-color:var(--line);color:var(--ink)}
.ranking-hero .hero-edition{background:var(--paper);color:var(--muted)}
.card,.salary-trial-card,.ranking-quick-search,.benefit-controls,.topic-controls{background:var(--paper);border-color:var(--line);box-shadow:none}
.topic-company,.benefit-company,.directory-company{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.topic-company:first-child,.benefit-company:first-child,.directory-company:first-child{border-top:1px solid var(--line)}
.topic-company+.topic-company,.benefit-company+.benefit-company{border-top:0}
.topic-company-heading h2,.benefit-company h2,.directory-name h2{font-family:inherit;font-size:18px;font-weight:600}
.app.route-companies{max-width:none;padding:0}
.directory-filter{background:var(--bg);border-bottom:1px solid var(--line)}
.directory-results{max-width:880px}
.directory-intro p{font-size:16px;line-height:1.8}
.frow-label{color:var(--ink);font-size:13px}
.fchip{color:var(--muted);font-size:13px;border-radius:0}
.fchip:hover{background:transparent;color:var(--accent-2)}
.fchip.active{background:transparent;color:var(--accent-2);box-shadow:inset 0 -1px var(--accent-2);border-radius:0}
.filter-expand,.directory-tags .tags-toggle{color:var(--accent-2)}
.filter-hint{font-size:12px;color:var(--faint)}
.directory-tags .tag-chip{background:#ECEEE8;color:var(--muted);font-size:12px}
.directory-summary,.directory-metrics,.directory-metrics b{color:var(--muted)}
.rank-table thead th,.salary-trial-table thead th{background:#F0F0EB;color:var(--muted)!important;font-size:13px}
.salary-trial-table tbody td{font-size:13px}
.rank-badge.r1,.rank-badge.r2,.rank-badge.r3{background:#E4E9DF;color:var(--accent-2)}
.benefits-body,.topic-body{max-width:1160px;margin:0 auto;padding:30px 20px 72px}
.unified-rank-table{min-width:1090px}
.unified-rank-table th:nth-child(2){width:auto}
.unified-rank-table .rank-badge-empty{color:var(--faint)}
.unified-rank-table .model-marker{color:var(--muted);font-size:10px;font-weight:600;margin-left:3px;vertical-align:super}
.unified-rank-table .trial-source{min-width:170px}
.unified-rank-table .benefit-evidence-list,.unified-rank-table .topic-evidence-list{margin-top:10px}
.unified-rank-table .benefit-evidence,.unified-rank-table .topic-evidence{padding:9px;background:var(--paper);border:1px solid var(--line)}
.unified-rank-table .benefit-evidence-head{display:block}
.unified-rank-table .benefit-evidence-head span{text-align:left;display:block;min-width:0;margin-top:3px}
@media(max-width:620px){.benefits-body,.topic-body{padding:18px 16px 48px}.salary-trial-card .table-wrap::before{content:'左右滑动查看完整指标 →';display:block;color:var(--muted);font-size:11px;padding:0 0 10px}}
.topic-score strong,.benefit-score strong,.salary-trial-table .score-cell b{color:var(--ink);font-variant-numeric:tabular-nums}
.topic-rank{background:#E9EDE6;color:var(--accent-2)}
.benefit-status,.trial-status,.badge-high,.badge-mid,.badge-cond,.badge-personal,.badge-core{background:var(--accent-bg);color:var(--accent-2)}
.badge-red,.badge-risk{background:#F5E9E6;color:var(--danger)}
.trial-warning,.match-tip{background:#F1F1EA;border-color:var(--line);color:var(--muted)}
.trial-toolbar input,.trial-toolbar select,.benefit-controls input,.benefit-controls select,.directory-search,.ed-search input{background:var(--paper);border-color:var(--line);color:var(--ink)}
.fchip,.tag-chip,.benefit-signals span{border-radius:2px}
.fchip.active,.topic-switch a[aria-current=page]{background:var(--accent-bg);border-color:#C9D2C2;color:var(--accent-2)}
.formula-box,.schema-table th,.benefit-evidence,.directory-evidence{background:#F3F3EE;border-color:var(--line);color:var(--ink)}
.mdl-card,.meth-card{border-color:var(--line);border-radius:2px;box-shadow:none}
.mdl-card[style]{border-top-color:var(--accent)!important}
.route-indicators .card.card-pad{background:transparent;border:0;padding:24px 0}
.route-indicators .method-intro p,.route-indicators .classification-note p,.route-indicators .method-references p{max-width:75ch;font-size:15px;line-height:1.9}
.route-indicators .method-intro h2,.route-indicators .classification-note h2,.route-indicators .method-references h2{font-size:25px;line-height:1.4}
.framework-notes .framework-section p{max-width:76ch;font-size:15px;line-height:1.9}
.framework-cite{color:var(--accent-2);text-decoration-color:#AAB9A3}
.source-grid .card,.ranking-method-grid article{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0}
.site-footer{background:#ECEBE5;border-top:1px solid var(--line);color:var(--ink);padding:60px 0 26px}
.editorial-footer-brand .brand-mark{width:48px;height:48px}
.editorial-footer-brand .brand-type strong{font-size:clamp(36px,4vw,52px)}
.editorial-footer-brand .brand-type em{font-size:clamp(15px,1.6vw,21px);margin-top:5px}
.editorial-footer-brand p{font-size:15px}
.site-footer .footer-bottom{margin-top:60px;border-color:#D6D7CF}
.site-footer .footer-legal{font-size:12px;color:var(--muted)}
.site-footer .footer-legal a{color:var(--accent-2)}

@media(max-width:1000px){
  .ed-cover-grid{gap:52px;grid-template-columns:minmax(0,1fr) minmax(295px,.8fr)}
  .ed-ranking-row{grid-template-columns:34px minmax(0,1fr) auto}
  .ed-ranking-metric{display:none}
}
@media(max-width:760px){
  html{scroll-padding-top:70px}
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand cta menu";gap:10px;height:66px;min-height:66px;padding-top:0;padding-bottom:0}
  .main-nav{display:none}
  .header-cta{grid-area:cta;min-height:40px;padding:8px 12px;font-size:12px}
  .mobile-nav{display:block;grid-area:menu;position:relative;z-index:60}
  .mobile-nav summary{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);list-style:none;cursor:pointer;color:var(--ink);font-size:13px;font-weight:600}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav[open] summary{background:var(--ink);border-color:var(--ink);color:var(--bg)}
  .mobile-nav nav{position:absolute;right:0;top:51px;width:min(280px,calc(100vw - 32px));padding:9px 19px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 25px rgba(32,35,31,.1)}
  .mobile-nav nav a{display:block;padding:12px 3px;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px}
  .mobile-nav nav a:last-child{border-bottom:0}
  .mobile-nav nav a.active{color:var(--accent-2);font-weight:700}
  .ed-cover{min-height:0;padding:32px 22px 56px}
  .ed-cover-grid{grid-template-columns:1fr;gap:42px;padding-top:66px}
  .ed-cover h1{font-size:clamp(38px,7vw,48px)}
  .ed-cover-copy>p{font-size:16px;margin-top:22px}
  .ed-cover-copy>p+p{margin-top:11px}
  .ed-cover-actions{margin-top:25px}
  .ed-cover-dossier{padding:24px}
  .ed-opening{grid-template-columns:1fr;gap:35px;padding-block:70px}
  .ed-opening-copy h2{font-size:25px}
  .ed-opening-copy p{font-size:16px}
  .ed-statement,.ed-index,.ed-explore{padding-block:76px}
  .ed-statement h2,.ed-index-heading h2,.ed-explore h2{font-size:clamp(28px,5vw,36px)}
  .ed-index-heading{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
  .ed-index-row{grid-template-columns:35px minmax(0,1fr) 22px;gap:10px;min-height:0}
  .ed-index-row strong{font-size:22px}
  .ed-index-description{grid-column:2;grid-row:2;font-size:13px}
  .ed-index-arrow{grid-column:3;grid-row:1}
  .ed-evaluation-cover{padding-block:54px 38px}
  .ed-evaluation-cover h1{font-size:clamp(36px,6vw,48px)}
  .ed-evaluation-cover p{font-size:16px}
  .ed-evaluation-layout{padding-block:42px 82px}
  .ed-evaluation-heading h1{font-size:30px}
  .ed-ranking-row{grid-template-columns:30px minmax(0,1fr);gap:10px}
  .ed-ranking-row button{grid-column:2;justify-self:start;margin-top:5px}
  .ed-evaluation-heading{align-items:start;display:block}
  .ed-evaluation-heading p{margin-top:8px}
  .ranking-hero,.salary-trial-head{padding-block:36px}
  .directory-filter{padding:24px 18px 20px}
  .frow-label{font-size:12px}
  .fchip{font-size:13px;min-height:36px;padding:6px 8px}
  .filter-expand{font-size:12px;min-height:36px}
  .route-indicators .card.card-pad{padding:20px 0}
  .site-footer .editorial-footer-top{gap:34px}
}
@media(max-width:440px){
  .site-header .brand-mark{width:38px;height:38px}
  .site-header .brand-type strong{font-size:20px}
  .site-header .brand-type em{font-size:11px}
  .header-inner{gap:7px}
  .header-cta{padding:7px 9px}
  .ed-cover-grid{padding-top:46px}
  .ed-cover h1{font-size:clamp(34px,8.8vw,39px)}
  .ed-figures{gap:34px}
  .ed-figures strong{font-size:54px}
  .ed-cover-dossier>a{grid-template-columns:34px minmax(0,1fr) 16px;gap:9px}
  .ed-cover-dossier>a strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ed-cover-action,.header-cta{transition:none}}

/* 已发布专题共用的季度刊头：版次与榜单名称同层，数据区保持原有结构。 */
.ranking-publication-head{
  min-height:280px;
  padding:0;
  color:#fff;
  background:linear-gradient(90deg,rgba(23,35,45,.91) 0%,rgba(23,35,45,.72) 53%,rgba(23,35,45,.18) 100%),url('../assets/ranking-banner.png') center 48%/cover;
}
.ranking-publication-inner{max-width:1160px;margin:0 auto;padding:27px 24px 46px}
.ranking-publication-head .crumb{font-size:13px;color:#e6edf0;margin:0 0 39px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.24)}
.ranking-publication-head .crumb a{color:#e6edf0}
.ranking-publication-title{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.ranking-publication-head h1{font-size:clamp(32px,3.5vw,48px);font-weight:650;line-height:1.25;letter-spacing:-.025em;color:#fff;margin:0}
.ranking-publication-head p{font-size:15px;line-height:1.7;color:#eff2f1;max-width:750px;margin:19px 0 0}
.ranking-issue{display:inline-flex;align-items:center;position:relative}
.ranking-issue select{height:44px;min-width:132px;padding:8px 33px 8px 13px;border:1px solid #e4e7e3;border-radius:5px;background:#fff;color:#20231f;font-family:inherit;font-size:16px;font-weight:600;line-height:1.2;cursor:pointer}
.ranking-issue select:hover{border-color:#aeb9a8}
.ranking-issue select:focus-visible{outline:3px solid #bed1af;outline-offset:3px}
.ranking-publication-head .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ranking-topic-nav{display:flex;gap:26px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:24px;scrollbar-width:none}
.ranking-topic-nav::-webkit-scrollbar{display:none}
.ranking-topic-nav a{flex:0 0 auto;color:var(--muted);font-size:13px;padding:0 0 15px;border-bottom:2px solid transparent;text-decoration:none;white-space:nowrap}
.ranking-topic-nav a:hover,.ranking-topic-nav a:focus-visible{color:var(--ink)}
.ranking-topic-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}
@media(max-width:620px){
  .ranking-publication-head{min-height:0;background-position:58% center}
  .ranking-publication-inner{padding:24px 20px 34px}
  .ranking-publication-head .crumb{margin-bottom:28px}
  .ranking-publication-title{gap:14px}
  .ranking-publication-head h1{font-size:clamp(29px,8vw,37px)}
  .ranking-publication-head p{font-size:14px;margin-top:16px}
  .ranking-issue select{height:40px;font-size:14px;min-width:125px}
  .ranking-topic-nav{gap:20px;margin-bottom:20px}
  .ranking-topic-nav a{font-size:12px;padding-bottom:12px}
}
