/* V17 / Scientific publishing palette.
 * Visual-only layer. No generated text, layout replacement, font downloads, or JS changes.
 * Role-based color scale: canvas / surface / selected / border / action / text.
 */
:root {
  --fs-canvas: #ffffff;
  --fs-surface: #f4f7fc;
  --fs-section: #edf3fb;
  --fs-selected: #e7efff;
  --fs-border: #dce5f1;
  --fs-border-strong: #b5c9eb;
  --fs-action: #2563eb;
  --fs-action-hover: #1d4ed8;
  --fs-heading: #172c49;
  --fs-copy: #52667d;
  --fs-secondary: #62748a;
  --fs-deep: #142b49;
  --fs-card-shadow: 0 10px 30px -23px rgba(26,55,99,.28);
  --blue: var(--fs-action);
  --blue-dark: var(--fs-action-hover);
  --ink: var(--fs-heading);
  --text: var(--fs-copy);
  --muted: var(--fs-secondary);
  --line: var(--fs-border);
  --surface: var(--fs-surface);
  --navy: var(--fs-deep);
}
body { background: var(--fs-canvas); }
.site-header {
  background: rgba(255,255,255,.96);
  border-color: #e1e8f2;
  box-shadow: 0 3px 16px -14px rgba(23,44,73,.26);
}
.desktop-nav, .header-contact { color: var(--fs-copy); }
.language-switch { background: #eff3fa; border-color: #dbe4f1; }
.language-switch button { color: #5c6e87; }
.language-switch button.is-active, .language-switch button[aria-pressed=true] {
  color: var(--fs-action); background: white; box-shadow: 0 1px 3px rgba(25,53,91,.1);
}
.btn-primary { box-shadow: 0 4px 12px -5px rgba(37,99,235,.42); }
.btn-primary:hover { box-shadow: 0 6px 15px -6px rgba(37,99,235,.48); }
.btn-secondary { color: #244773; border-color: #cad8eb; background: #fff; }
.btn-secondary:hover { background: #f0f5ff; border-color: #9eb8e4; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible {
  outline-color: #719cf2;
}
/* A calm light-blue field makes the white evidence sheet the primary visual. */
.hero-section {
  background: radial-gradient(ellipse at 83% 45%, #e8f0fd 0, transparent 54%),
              linear-gradient(105deg, #f9fbff, #f1f5fc);
  border-bottom-color: #dce6f4;
}
.hero-copy .hero-research-label {
  background: #edf3ff; border-color: #cdddf8; color: #315e9d;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.hero-copy .hero-description { color: var(--fs-copy); }
.hero-security .security-icon { background: #e4edfc; color: #396bb1; }
.hero-security h3 { color: #4d6380; }
.hero-report-card {
  background: #fff; border-color: #ccdcef;
  box-shadow: 0 20px 48px -24px rgba(33,68,121,.25), 0 1px 3px rgba(33,68,121,.035);
}
.mini-report-top, .hero-findings { border-color: #e2eaf4; }
.image-label, .hero-findings>div, .hero-findings small { color: #60738c; }
.hero-note strong { color: #4c6381; }
.hero-note>span { color: #4674af; }
/* The only large dark band echoes the footer. */
.stats-band { background: linear-gradient(108deg, #142b49, #1b3a61); }
.stat { border-left-color: #45617f; }
.stat-number>span { color: #bed1ec; }
.stat h3 { color: #dce7f7; }
/* Quiet section tint; one white logo ribbon, never individual logo boxes. */
.publisher-proof {
  background: linear-gradient(180deg,#edf3fc 0%,#f8faff 34%,#fff 65%,#f5f8fd 100%);
  border-bottom-color: #dfe8f5;
  padding-block: 36px 34px;
}
.publisher-heading { margin-bottom: 19px; }
.publisher-heading h2 { color: #203e63; }
.logo-marquee { min-height: 78px; }
.logo-marquee-group { gap: 50px; padding-block: 5px; }
.logo-marquee-group li { height: 66px; max-width: 195px; }
.logo-marquee-group img {
  max-height: 48px; max-width: 190px; height: auto;
  filter: none; opacity: 1; object-fit: contain;
}
.logo-marquee-group img[src*="elsevier-color"],
.logo-marquee-group img[data-inline-src*="elsevier-color"] { max-height: 62px; }
.logo-marquee-group img[src*="iop-color"],
.logo-marquee-group img[data-inline-src*="iop-color"] { max-width: 164px; }
/* Scientific examples are noninteractive. No zoom hints or hover lift. */
.image-types-section { background: white; }
.section-heading h2, .faq-heading h2 { color: var(--fs-heading); }
.section-heading p, .faq-heading p { color: var(--fs-copy); }
.analysis-scope strong { background: #f0f5fc; color: #42638c; border-color: #dce6f4; }
.category-card, .category-card:hover, .category-card:active {
  border-color: #d8e3f2; box-shadow: none; background: #fff;
}
.category-image { background: #f4f7fc; border-color: #e1e9f4; }
.category-copy h3 { color: #233d5e; }
.category-copy p, .type-strip-label, .fs15-illustration-note { color: #61738a; }
.workflow-section { background: #edf3fb; border-color: #dce6f4; }
.trust-section, .fs13-partners { background: white; }
.fs13-partner strong { color: #385470; }
.credential-card { background: #f5f8fd; border-color: #dbe6f5; }
.credential-copy>p { color: var(--fs-copy); }
.credential-tags span { background: #f8f3e9; border-color: #e9dfca; color: #82692f; }
.testimonials-section { background: #eef4fb; border-color: #dce6f4; }
#testimonials .testimonials-heading h2 { color: #203e63; }
#testimonials .testimonial-card {
  background: #fff; border-color: #d9e4f3; box-shadow: var(--fs-card-shadow);
}
.testimonial-card h3 { color: #243c5b; }
.testimonial-card header p { color: #63768f; }
#testimonials .testimonial-card blockquote { color: #4e637f; }
.testimonial-stars { color: #ad8433; }
.service-shell { border-color: #d6e2f1; box-shadow: var(--fs-card-shadow); }
.service-tabs { background: #edf3fb; border-color: #d9e4f4; }
.service-tabs button { color: #536e8c; }
.service-tabs button.active { background: #fff; color: #2257bd; border-color: #c1d3ee; }
.service-content p, .service-points { color: #5a708a; }
.faq-section { background: #f5f8fd; border-color: #e0e8f3; }
.faq-list details { border-color: #dce5f2; }
.faq-list summary { color: #284766; }
.faq-list details[open] summary { color: #2459b7; }
.faq-list details p { color: #536981; }
.support-footer { background: #142b49; }
.support-footer-bottom { border-color: #36516e; color: #b8c9e1; }
.support-brand-block>p { color: #c2d2e7; }
.support-contact-title { color: #d5e6ff; }
.support-channel { border-color: #36516e; }
.support-channel.corporate strong { color: #b8d4ff; }
.support-channel.wechat strong { color: #a8dfd2; }
.support-channel.qq strong { color: #d5c5f4; }
.floating-support { color: #2257bd; background: #fff; border-color: #c6d8f2; box-shadow: 0 7px 22px -10px #15376060; }
@media(max-width:759px) {
  .publisher-proof { padding-block: 30px 28px; }
  .publisher-heading { margin-bottom: 15px; }
  .logo-marquee { min-height: 64px; }
  .logo-marquee-group { gap: 33px; padding-right: 33px; }
  .logo-marquee-group li { height: 54px; min-width: 92px; max-width: 159px; }
  .logo-marquee-group img { max-height: 39px; max-width: 155px; }
  .logo-marquee-group img[src*="elsevier-color"],
  .logo-marquee-group img[data-inline-src*="elsevier-color"] { max-height: 50px; }
  .logo-marquee-group img[src*="iop-color"],
  .logo-marquee-group img[data-inline-src*="iop-color"] { max-width: 142px; }
}
@media print {
  .hero-section, .publisher-proof, .workflow-section, .testimonials-section, .faq-section { background:white; }
}
