/* Shared public masthead. Home alignment + regulatory brand proportions. */
body .site-header.site-header {
  box-sizing:border-box; display:grid; position:relative; z-index:20;
  grid-template-columns:minmax(210px,1fr) auto minmax(260px,1fr);
  align-items:center; gap:28px; min-height:69px; height:auto;
  padding:0 clamp(18px,3vw,46px); margin:0;
  border:0; border-bottom:1px solid #dedbd5; background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
.site-header .site-brand {
  display:flex; align-items:center; gap:12px; min-width:0; margin:0;
  color:#272727; text-decoration:none; white-space:nowrap;
  font-family:inherit; font-size:23px; font-weight:650; letter-spacing:2px;
}
.site-header .site-brand-mark {
  display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px;
  margin:0; padding:0; background:#ad242b; color:#fff;
  font:26px/1 Georgia,"Songti SC",serif; letter-spacing:0;
}
.site-header .site-brand-name { display:block; line-height:1.2; }
.site-header .site-brand-name small {
  display:block; margin-top:5px; color:#777; font-size:10px; line-height:1.3;
  letter-spacing:1px; font-weight:400;
}
.site-header .site-nav {
  display:flex; grid-column:2; grid-row:1; align-items:stretch; gap:28px;
  width:auto; height:68px; margin:0; padding:0; border:0; overflow:visible;
}
.site-header .site-nav a {
  display:grid; place-items:center; min-width:0; padding:0; margin:0;
  border:0; border-bottom:3px solid transparent; border-radius:0;
  color:#272727; font:400 14px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  white-space:nowrap; text-decoration:none;
}
.site-header .site-nav a.active,
.site-header .site-nav a[aria-current="page"],
.site-header .site-nav a:hover { color:#ad242b; border-bottom-color:#ad242b; }
.site-header .site-nav a.active { font-weight:600; }
.site-header a:focus-visible { outline:2px solid #ad242b; outline-offset:3px; }
.site-header + nav[aria-label="发现与检索"] {
  display:flex; flex-wrap:wrap; gap:20px; margin:0;
  padding:12px clamp(18px,3vw,46px); font:400 12px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:#fff; color:#777; border-bottom:1px solid #e5e5e0;
}
.site-header .site-meta {
  grid-column:3; grid-row:1; display:flex; justify-content:flex-end; align-items:center;
  gap:18px; min-width:0; color:#292724; font:400 13px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
@media(max-width:1100px) {
  body .site-header.site-header { grid-template-columns:1fr auto; gap:0 18px; padding-top:12px; }
  .site-header .site-nav { grid-column:1/-1; grid-row:2; height:44px; justify-content:center; margin-top:10px; }
  .site-header .site-meta { grid-column:2; grid-row:1; gap:10px; }
  .site-header .site-meta span:first-child,.site-header .site-meta span:last-child { display:inline; }
}
@media(max-width:620px) {
  body .site-header.site-header { padding:12px 14px 0; column-gap:10px; }
  .site-header .site-brand { font-size:20px; gap:10px; letter-spacing:1px; }
  .site-header .site-brand-mark { flex-basis:34px; width:34px; height:34px; font-size:22px; }
  .site-header .site-brand-name small { font-size:8px; margin-top:4px; letter-spacing:0; }
  .site-header .site-meta { flex-wrap:wrap; gap:3px 7px; max-width:135px; font-size:10px; }
  .site-header .site-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; width:calc(100% + 28px); margin-inline:-14px; height:44px; }
  .site-header .site-nav a { font-size:12px; padding:0 2px; }
}
/* The home keeps its mobile content, but no longer has a second, different logo. */
.home-page .mobile-briefing-header { display:none; }

/* Public module mastheads: homepage palette, left title and compact right search.
   Scoped to module surfaces; homepage and all business/data rules stay intact. */
body.academic-page {--module-accent:#1148a5;--module-deep:#0a347c;--module-soft:#edf3ff;}
body.procurement-page {--module-accent:#0b4b3c;--module-deep:#06372d;--module-soft:#eef6f2;}
body.product-v3 {--module-accent:#a66f10;--module-deep:#784d08;--module-soft:#fff6df;}
body:has(.shell > .hero) {--module-accent:#b90f16;--module-deep:#930b10;--module-soft:#fbefef;--red:#b90f16;}
body.academic-page,body.procurement-page,body.product-v3 {
  background:#f6f6f4;
}
body:has(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) .site-nav a.active {
  color:var(--module-accent);border-bottom-color:var(--module-accent);
}
body :is(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) {
  box-sizing:border-box; display:grid;
  grid-template-columns:minmax(0,1fr) clamp(280px,32vw,405px);
  grid-template-rows:92px 40px; align-items:center;
  column-gap:clamp(40px,8vw,160px); row-gap:20px;
  min-height:200px; margin:0; padding:28px clamp(18px,3vw,46px) 20px;
  background:var(--module-accent); color:#fff;
}
body :is(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) > :first-child {grid-column:1;grid-row:1;min-width:0;}
body :is(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) h1 {
  margin:0 0 12px; font:700 36px/1.25 "Songti SC",STSong,serif; letter-spacing:1px; color:#fff;
}
body :is(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) > :first-child > p {
  margin:0; font-size:14px; line-height:1.7; color:#fff;
}
body .shell > .hero .eyebrow {display:none;}
body :is(.academic-search,.procurement-search,.practice-hero .module-search,.hero-search) {
  grid-column:2; grid-row:1; width:100%; max-width:405px; min-width:0;
  margin:0; justify-self:end; border-radius:0;
}
body :is(.academic-search,.procurement-search,.practice-hero .module-search),body .hero-search > div {
  display:flex; height:44px; background:#fff; border:1px solid #fff; border-radius:0; overflow:visible;
}
body :is(.academic-search,.procurement-search,.practice-hero .module-search,.hero-search) input {
  flex:1; width:100%; min-width:0; border:0; padding:0 12px; border-radius:0;
  background:#fff; color:#272727; font-size:13px; outline-offset:3px;
  height:100%; min-height:0;
}
body :is(.academic-search,.procurement-search,.practice-hero .module-search,.hero-search) input::placeholder {color:#6b6b6b;opacity:1;}
body :is(.academic-search,.procurement-search,.practice-hero .module-search,.hero-search) button {
  flex:0 0 70px; width:70px; padding:0; border:0; border-left:1px solid #ddd;
  border-radius:0; background:#fff; color:var(--module-accent); font:600 13px/1.4 sans-serif; white-space:nowrap;
  height:100%; min-height:0;
}
body :is(.academic-search,.procurement-search,.practice-hero .module-search,.hero-search) button:hover {background:var(--module-soft);}
body :is(.academic-search,.procurement-search,.practice-hero .module-search,.hero-search) :focus-visible {outline:2px solid #272727;outline-offset:2px;}
body .hero-search label,body .hero-search small {color:#fff;}
body .hero-search label {font-size:12px;}
body .hero-search small {font-size:10px;}
body :is(.research-observation,.procurement-kpis,.practice-hero .hero-stat,.regulatory-kpis) {
  display:flex; grid-column:1/-1; grid-row:2; align-items:center; flex-wrap:wrap;
  gap:8px 28px; padding:12px 0 0; margin:0; border:0; border-top:1px solid #ffffff55;
  color:#fff; font-size:12px;
}
body :is(.research-observation,.practice-hero .hero-stat) :is(p,span,strong,small) {
  display:inline; margin:0; color:#fff; font:400 12px/1.5 sans-serif;
}
body :is(.research-observation,.practice-hero .hero-stat) strong {font-size:18px;font-weight:600;}
body .procurement-kpis span {display:flex;align-items:baseline;gap:12px;padding:0;border:0;color:#fff;font-size:12px;}
body .procurement-kpis strong,body .procurement-kpis span:last-child strong {margin:0;color:#fff;font:600 18px/1.5 sans-serif;}
/* Regulatory uses the same full-width title band, preserving its three entries. */
body .shell:has(> .hero) {max-width:none;padding:0;}
body .shell > .breadcrumb {display:none;}
body .shell > .module-tabs {margin:24px clamp(18px,3vw,46px);}
body .shell > .workspace {margin:0 clamp(18px,3vw,46px);}
body .module-tabs > button.active {background:var(--module-accent);border-bottom-color:var(--module-deep);}
body .module-tabs > button.active :is(.module-number,.module-name,.module-count,small) {color:#fff;}
body.product-v3 .record-mark {border-color:var(--module-soft);background:var(--module-soft);color:var(--module-deep);}
@media(max-width:760px) {
  body :is(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) {
    grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto;
    min-height:0; padding:24px 18px 18px; gap:20px;
  }
  body :is(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) h1 {font-size:29px;}
  body :is(.academic-hero,.procurement-hero,.practice-hero,.shell > .hero) > :first-child > p {font-size:12px;}
  body :is(.academic-search,.procurement-search,.practice-hero .module-search,.hero-search) {grid-column:1;grid-row:2;max-width:none;}
  body :is(.research-observation,.procurement-kpis,.practice-hero .hero-stat,.regulatory-kpis) {grid-row:3;gap:8px 18px;}
  body .procurement-kpis {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  body .procurement-kpis span {justify-content:space-between;}
  body .shell > .module-tabs {margin:18px;}
  body .shell > .workspace {margin:0 18px;}
}

/* Equal search labels and metrics baseline on each public module. */
body .module-search-area {grid-column:2;grid-row:1;width:100%;max-width:405px;min-width:0;justify-self:end;}
body .module-search-caption,body .hero-search label {display:block;margin:0 0 8px;color:#fff;font:400 12px/1.4 sans-serif;}
body .regulatory-kpis span {display:flex;align-items:baseline;gap:12px;}
body .regulatory-kpis strong {font:600 18px/1.5 sans-serif;}
body .regulatory-kpis small {font:400 12px/1.5 sans-serif;}
body :is(.research-observation,.procurement-kpis,.practice-hero .hero-stat,.regulatory-kpis) {align-self:stretch;}
@media(max-width:760px) {
  body .module-search-area {grid-column:1;grid-row:2;max-width:none;}
  body .hero-search label {display:block;}
}
