/* AISRUI final visual system
   Loaded after legacy and page-level styles so one coherent layer wins. */

:root {
  --ui-ink: #193b3a;
  --ui-copy: #355956;
  --ui-muted: #5b716d;
  --ui-primary: #137d6c;
  --ui-primary-dark: #0b574e;
  --ui-accent: #b4532c;
  --ui-accent-soft: #f1c7b5;
  --ui-paper: #f7f6ef;
  --ui-surface: #fffef8;
  --ui-soft: #e5f1eb;
  --ui-soft-2: #f4eadf;
  --ui-line: #cfe0d8;
  --ui-dark: #143e3a;
  --ui-shadow: 0 18px 50px rgba(17, 77, 69, .10);
  --ui-radius: 14px;
  --as-ink: var(--ui-ink);
  --as-muted: var(--ui-copy);
  --as-green: var(--ui-primary);
  --as-mint: #a9d4c2;
  --as-paper: var(--ui-paper);
  --as-line: var(--ui-line);
  --as-dark: var(--ui-dark);
}

html {
  scroll-behavior: smooth;
  background: var(--ui-paper);
}

html body {
  color: var(--ui-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7;
  letter-spacing: 0;
  background: var(--ui-paper) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body strong, body b {
  color: var(--ui-ink);
  font-family: inherit !important;
  letter-spacing: -.025em;
}

body p { color: var(--ui-copy); }
body a { text-decoration: none; }
.as-shell { width: min(1120px, calc(100% - 48px)); }

/* Header */
.as-topbar {
  height: 38px !important;
  color: #dce6f0 !important;
  background: var(--ui-dark) !important;
  border: 0 !important;
}
.as-topbar-inner { height: 38px !important; }
.as-topbar p, .as-topbar a, .as-topbar-inner span {
  color: #e5edf5 !important;
  font-size: 14px !important;
  letter-spacing: .04em;
}
.as-nav-wrap {
  height: 92px !important;
  background: rgba(255, 254, 250, .98) !important;
  border-bottom: 1px solid var(--ui-line) !important;
}
.as-navbar { height: 92px !important; gap: 30px !important; }
.as-brand { gap: 13px !important; }
.as-brand img {
  width: 45px !important;
  height: 55px !important;
  filter: none !important;
  mix-blend-mode: multiply;
}
.as-brand strong { color: var(--ui-primary-dark) !important; font-size: 23px !important; letter-spacing: .13em !important; }
.as-brand em { color: #728198 !important; font-size: 9px !important; letter-spacing: .2em !important; }
.as-nav { gap: 27px !important; }
.as-nav > a, .as-nav-group > button, .as-nav-dropdown > summary {
  color: #26374d !important;
  font-size: 17px !important;
  font-weight: 650 !important;
}
.as-nav > a::after, .as-nav-group > button::after { background: var(--ui-primary) !important; }
.as-search-entry {
  height: 44px !important;
  padding: 0 14px !important;
  color: var(--ui-primary-dark) !important;
  background: #edf2f7 !important;
  border: 1px solid #ced8e5 !important;
  border-radius: 9px !important;
}
.as-search-entry span { font-size: 16px !important; }
.as-search-entry:hover { color: #fff !important; background: var(--ui-primary) !important; border-color: var(--ui-primary) !important; }
.as-nav-cta {
  min-height: 48px !important;
  padding: 0 19px !important;
  color: #fff !important;
  font-size: 16px !important;
  background: var(--ui-primary) !important;
  border: 1px solid var(--ui-primary) !important;
  border-radius: 9px !important;
  box-shadow: 0 9px 22px rgba(70, 111, 159, .18) !important;
}
.as-nav-cta:hover { background: var(--ui-primary-dark) !important; }
.as-header.is-scrolled .as-nav-wrap { box-shadow: 0 10px 35px rgba(31, 47, 70, .11) !important; }
.as-header.is-scrolled { padding-bottom: 92px; }
.as-header.is-scrolled .as-nav-wrap { position: fixed !important; top: 0 !important; }
@media (min-width: 901px) {
  .as-nav-dropdown > .as-mega { top: 130px !important; }
  .as-header.is-scrolled .as-nav-dropdown > .as-mega { top: 92px !important; }
}

/* Navigation panels */
.as-mega {
  color: var(--ui-ink) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 0 0 var(--ui-radius) var(--ui-radius) !important;
  box-shadow: 0 26px 70px rgba(34, 53, 79, .16) !important;
}
.as-mega-cap-head {
  background: var(--ui-soft) !important;
  border-bottom: 1px solid var(--ui-line) !important;
}
.as-mega-cap-head span, .as-mega-intro > span { color: var(--ui-accent) !important; font-size: 14px !important; }
.as-mega-cap-head strong, .as-mega-intro strong { color: var(--ui-ink) !important; }
.as-mega-cap-head p, .as-mega-intro p { color: var(--ui-copy) !important; font-size: 15px !important; }
.as-mega-cap-head > a { color: #fff !important; background: var(--ui-primary) !important; }
.as-mega-directory .as-mega-group-title {
  color: var(--ui-ink) !important;
  font-size: 17px !important;
  border-bottom-color: #c8d3df !important;
}
.as-mega-group-title span { color: var(--ui-accent) !important; font-size: 13px !important; }
.as-mega-directory section > a { color: #394c64 !important; font-size: 16px !important; }
.as-mega-directory section > a:hover { color: var(--ui-primary-dark) !important; background: #eef3f8 !important; }
.as-mega-intro { border-right-color: var(--ui-line) !important; }
.as-mega-intro > a { color: var(--ui-primary) !important; font-size: 16px !important; }
.as-mega-links a { border-color: var(--ui-line) !important; }
.as-mega-links a:hover { background: #eef3f8 !important; }
.as-mega-links b { color: var(--ui-ink) !important; font-size: 17px !important; }
.as-mega-links span { color: var(--ui-copy) !important; font-size: 15px !important; }

/* Homepage hero */
.home-new { background: var(--ui-paper) !important; }
.home-new-hero {
  padding: 76px 0 0 !important;
  color: var(--ui-ink) !important;
  background:
    radial-gradient(circle at 78% 10%, rgba(88, 129, 179, .17), transparent 28%),
    linear-gradient(135deg, #e8eef5 0%, #f7f3ed 66%, #fbf8f2 100%) !important;
  border-bottom: 1px solid var(--ui-line) !important;
}
.home-new-hero-grid { grid-template-columns: minmax(0, 1fr) 320px !important; gap: 70px !important; align-items: center !important; }
.home-new-kicker, .home-section-head > div > span {
  color: var(--ui-accent) !important;
  font: 800 13px/1.4 inherit !important;
  letter-spacing: .14em !important;
}
.home-new-copy h1 {
  max-width: 790px !important;
  margin: 20px 0 24px !important;
  color: var(--ui-ink) !important;
  font-size: clamp(56px, 5.5vw, 78px) !important;
  line-height: 1.07 !important;
  letter-spacing: -.05em !important;
}
.home-new-copy h1 em { color: var(--ui-primary) !important; font-style: normal !important; }
.home-new-copy > p { color: var(--ui-copy) !important; font-size: 18px !important; line-height: 1.8 !important; }
.home-new-actions { gap: 16px !important; margin-top: 32px !important; }
.home-new-actions a:first-child {
  min-height: 52px !important;
  padding: 0 21px !important;
  color: #fff !important;
  background: var(--ui-primary) !important;
  border-radius: 9px !important;
  box-shadow: 0 12px 26px rgba(70, 111, 159, .2) !important;
}
.home-new-actions a:last-child { color: var(--ui-primary-dark) !important; font-size: 16px !important; font-weight: 700 !important; }
.home-new-panel {
  overflow: hidden;
  background: rgba(255, 254, 250, .88) !important;
  border: 1px solid rgba(116, 136, 163, .26) !important;
  border-radius: var(--ui-radius) !important;
  box-shadow: var(--ui-shadow) !important;
}
.home-new-panel > div {
  padding: 24px 26px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ui-line) !important;
}
.home-new-panel > div:last-child { border-bottom: 0 !important; }
.home-new-panel span { color: #34475f !important; font-size: 17px !important; font-weight: 750 !important; }
.home-new-panel small { color: #465a72 !important; font-size: 16px !important; }
.home-new-panel strong { color: var(--ui-primary-dark) !important; font-size: 40px !important; }
.home-new-quick {
  min-height: 86px !important;
  margin-top: 60px !important;
  gap: 14px !important;
  border-top: 1px solid rgba(102, 122, 148, .2) !important;
}
.home-new-quick > span { color: #34465e !important; font-size: 16px !important; font-weight: 800 !important; letter-spacing: .04em !important; }
.home-new-quick a {
  padding: 9px 15px !important;
  color: #304861 !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  background: rgba(255, 254, 250, .7) !important;
  border: 1px solid #c8d3df !important;
}
.home-new-quick a:hover { color: #fff !important; background: var(--ui-primary) !important; border-color: var(--ui-primary) !important; }

/* Homepage sections and cards */
.home-cap-map, .home-featured, .home-all-sheets { padding: 92px 0 !important; }
.home-cap-map { background: #fbfaf7 !important; }
.home-section-head { gap: 70px !important; margin-bottom: 44px !important; }
.home-section-head h2 {
  margin-top: 13px !important;
  color: var(--ui-ink) !important;
  font-size: clamp(40px, 4.3vw, 58px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.045em !important;
}
.home-section-head > p { color: var(--ui-copy) !important; font-size: 17px !important; line-height: 1.85 !important; }
.home-cap-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 15px !important;
  border: 0 !important;
}
.home-cap-grid > a {
  min-height: 270px !important;
  padding: 27px !important;
  color: inherit !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius) !important;
  box-shadow: 0 8px 24px rgba(39, 58, 85, .045) !important;
}
.home-cap-grid > a:hover {
  background: #f0f4f9 !important;
  border-color: #aebed1 !important;
  box-shadow: var(--ui-shadow) !important;
  transform: translateY(-4px);
}
.home-cap-grid > a > span { color: var(--ui-accent) !important; font-size: 14px !important; }
.home-cap-grid > a > strong { margin: 39px 0 9px !important; color: var(--ui-ink) !important; font-size: 26px !important; }
.home-cap-grid > a > em { color: var(--ui-primary) !important; font-size: 15px !important; font-weight: 750 !important; }
.home-cap-grid > a > p { color: var(--ui-copy) !important; font-size: 16px !important; line-height: 1.75 !important; }

.home-featured { color: var(--ui-ink) !important; background: var(--ui-soft) !important; }
.home-section-head-light h2 { color: var(--ui-ink) !important; }
.home-section-head-light > a { color: var(--ui-primary-dark) !important; font-size: 16px !important; }
.home-feature-grid {
  grid-template-columns: 1.65fr 1fr 1fr !important;
  grid-template-rows: repeat(2, 230px) !important;
  gap: 15px !important;
  border: 0 !important;
}
.home-feature-grid > a {
  padding: 27px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 254, 250, .9) !important;
  border: 1px solid #d0d9e4 !important;
  border-radius: var(--ui-radius) !important;
  box-shadow: 0 8px 24px rgba(39, 58, 85, .05) !important;
}
.home-feature-grid > a:hover { background: #fff !important; border-color: #aebed1 !important; transform: translateY(-3px); }
.home-feature-grid > a > span { color: var(--ui-accent) !important; font-size: 15px !important; }
.home-feature-grid > a > h3 { margin: 42px 0 9px !important; color: var(--ui-ink) !important; font-size: 25px !important; }
.home-feature-grid > a > p { color: var(--ui-copy) !important; font-size: 16px !important; }
.home-feature-grid > a > b { color: var(--ui-primary) !important; font-size: 22px !important; }
.home-feature-grid .home-feature-main {
  padding: 35px !important;
  color: #fff !important;
  background: linear-gradient(145deg, var(--ui-primary-dark), #446b98) !important;
  border-color: transparent !important;
  box-shadow: 0 18px 38px rgba(43, 76, 117, .2) !important;
}
.home-feature-grid > a.home-feature-main > span {
  color: #ffd2b3 !important;
  font-size: 16px !important;
}
.home-feature-grid > a.home-feature-main > h3 {
  margin-top: 58px !important;
  color: #fff !important;
  font-size: 43px !important;
  font-weight: 650 !important;
}
.home-feature-grid > a.home-feature-main > p {
  max-width: 510px !important;
  color: #f0f5fb !important;
  font-size: 17px !important;
}
.home-feature-grid > a.home-feature-main > b {
  color: #fff !important;
  font-size: 17px !important;
}
.home-feature-grid > a.home-feature-main:hover {
  color: #fff !important;
  background: linear-gradient(145deg, #315887, #527fb1) !important;
  border-color: transparent !important;
}

.home-all-sheets { background: var(--ui-surface) !important; }
.home-sheet-directory { gap: 22px !important; }
.home-sheet-directory > section {
  padding: 22px !important;
  background: #f7f8fa !important;
  border: 1px solid #e0e5eb !important;
  border-radius: 12px !important;
}
.home-sheet-directory h3 { margin-bottom: 12px !important; padding-bottom: 14px !important; color: var(--ui-ink) !important; font-size: 20px !important; border-bottom: 2px solid #c6d1df !important; }
.home-sheet-directory h3 span { color: var(--ui-accent) !important; font-size: 14px !important; }
.home-sheet-directory a { min-height: 48px !important; padding: 11px 0 !important; color: #34475f !important; font-size: 17px !important; border-bottom-color: #e1e6ec !important; }
.home-sheet-directory a:hover { color: var(--ui-primary) !important; }
.home-sheet-directory a em { color: #53677f !important; font-size: 15px !important; }

/* Shared sections */
.as-proof, .as-process { padding: 88px 0 !important; color: var(--ui-ink) !important; }
.as-proof { background: #dfe7f0 !important; }
.as-process { background: #f1eee8 !important; }
.as-section-head span, .as-section-head-light span { color: var(--ui-accent) !important; font-size: 14px !important; }
.as-section-head h2, .as-section-head-light h2 { color: var(--ui-ink) !important; font-size: 40px !important; }
.as-section-head > p, .as-section-head-light > p { color: var(--ui-copy) !important; font-size: 16px !important; }
.as-process-grid, .as-proof-grid { gap: 12px !important; border: 0 !important; }
.as-process-grid li, .as-proof-grid article {
  min-height: 225px !important;
  padding: 27px !important;
  background: rgba(255, 254, 250, .9) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 12px !important;
}
.as-process-grid li > span, .as-proof-grid article > span { color: var(--ui-accent) !important; font-size: 14px !important; }
.as-process-grid strong, .as-proof-grid h3 { margin-top: 43px !important; color: var(--ui-ink) !important; font-size: 21px !important; }
.as-process-grid p, .as-proof-grid p { color: var(--ui-copy) !important; font-size: 16px !important; line-height: 1.8 !important; }

/* Capability center */
.sheet-index, .sheet-service-page { color: var(--ui-ink) !important; background: var(--ui-paper) !important; }
.sheet-index-hero, .sheet-hero {
  color: var(--ui-ink) !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(93, 132, 181, .17), transparent 27%),
    linear-gradient(135deg, #e7edf4, #f7f2eb) !important;
  border-bottom: 1px solid var(--ui-line) !important;
}
.sheet-index-hero { padding: 86px 0 78px !important; }
.sheet-index-hero > div > span, .sheet-kicker, .sheet-section-head span { color: var(--ui-accent) !important; font-size: 15px !important; }
.sheet-index-hero h1, .sheet-hero h1 { color: var(--ui-ink) !important; font-size: clamp(52px, 6vw, 76px) !important; line-height: 1.08 !important; }
.sheet-index-hero p, .sheet-hero-grid > div > p { color: var(--ui-copy) !important; font-size: 18px !important; }
.sheet-index-hero > div > div { color: var(--ui-copy) !important; }
.sheet-index-hero strong { color: var(--ui-primary-dark) !important; font-size: 38px !important; }
.sheet-index-nav { top: 92px !important; background: rgba(255, 254, 250, .96) !important; border-color: var(--ui-line) !important; box-shadow: 0 7px 22px rgba(38, 57, 84, .05); }
.sheet-index-nav span { color: #52657d !important; font-size: 15px !important; }
.sheet-index-nav a { color: #2f425a !important; font-size: 16px !important; }
.sheet-index-nav a:hover { color: var(--ui-primary) !important; }
.sheet-group { border-color: var(--ui-line) !important; }
.sheet-group > header > span { color: var(--ui-accent) !important; }
.sheet-group h2 { color: var(--ui-ink) !important; }
.sheet-group header p { color: var(--ui-copy) !important; font-size: 16px !important; }
.sheet-card {
  padding: 28px !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-line) !important;
  border-radius: var(--ui-radius) !important;
}
.sheet-card:hover { border-color: #a9b9cc !important; box-shadow: var(--ui-shadow) !important; }
.sheet-card > div { color: #52657d !important; font-size: 15px !important; }
.sheet-card em, .sheet-card b { color: var(--ui-primary) !important; font-size: 15px !important; }
.sheet-card h3 { color: var(--ui-ink) !important; font-size: 25px !important; }
.sheet-card p { color: var(--ui-copy) !important; font-size: 17px !important; }

/* Capability details and tables */
.sheet-hero { padding: 42px 0 72px !important; }
.sheet-breadcrumb { color: #50637b !important; font-size: 16px !important; }
.sheet-breadcrumb a { color: var(--ui-primary-dark) !important; }
.sheet-actions a { color: var(--ui-primary-dark) !important; font-size: 16px !important; font-weight: 700 !important; }
.sheet-actions > a:not(.sheet-primary) { color: #2b4c75 !important; }
.sheet-actions .sheet-primary { color: #fff !important; background: var(--ui-primary) !important; border-radius: 9px !important; }
.sheet-summary {
  color: var(--ui-ink) !important;
  background: rgba(255, 254, 250, .84) !important;
  border: 1px solid #cbd6e2 !important;
  box-shadow: var(--ui-shadow) !important;
}
.sheet-summary > span, .sheet-summary > p, .sheet-summary dt { color: #40546d !important; font-size: 16px !important; }
.sheet-summary > strong { color: var(--ui-primary-dark) !important; }
.sheet-summary dd { color: var(--ui-ink) !important; font-size: 16px !important; }
.sheet-summary dl div { border-color: var(--ui-line) !important; }
.sheet-service-strip {
  margin-bottom: 30px;
  overflow: hidden;
  background: #eef3f8;
  border: 1px solid #cbd6e2;
  border-radius: 13px;
  box-shadow: 0 8px 24px rgba(38, 57, 84, .04);
}
.sheet-service-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.sheet-service-strip article {
  min-width: 0;
  padding: 17px 19px 15px;
  border-right: 1px solid #d6dfe9;
}
.sheet-service-strip article:last-child { border-right: 0; }
.sheet-service-strip article > span {
  display: block;
  color: #536981;
  font-size: 14px;
  font-weight: 750;
}
.sheet-service-strip article > strong {
  display: block;
  margin-top: 7px;
  color: var(--ui-primary-dark);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.sheet-service-strip details {
  margin-top: 7px;
  color: #4b5e75;
  font-size: 14px;
}
.sheet-service-strip summary {
  width: max-content;
  color: var(--ui-primary);
  cursor: pointer;
  font-weight: 650;
}
.sheet-service-strip details p {
  margin: 8px 0 0;
  color: #4b5e75;
  font-size: 14px;
  line-height: 1.65;
}
.sheet-projects { padding: 36px 0 82px !important; background: var(--ui-surface) !important; }
.sheet-section-head h2 { color: var(--ui-ink) !important; }
.sheet-section-head > p { color: var(--ui-copy) !important; font-size: 16px !important; }
.sheet-facet-panel { background: #eef2f7 !important; border-color: var(--ui-line) !important; }
.sheet-facet-buttons button { color: #354a63 !important; font-size: 15px !important; border-color: #cdd7e3 !important; }
.sheet-facet-buttons button:hover, .sheet-facet-buttons button.is-active { color: #fff !important; background: var(--ui-primary) !important; border-color: var(--ui-primary) !important; }
.sheet-facet-buttons em { color: var(--ui-primary-dark) !important; font-size: 13px !important; background: #dfe8f2 !important; }
.sheet-facet-buttons small { color: #465a72 !important; font-size: 14px !important; }
.sheet-subfilter > span { color: #40546d !important; font-size: 14px !important; }
.sheet-subfilter select, .sheet-toolbar input { color: var(--ui-ink) !important; font-size: 16px !important; }
.sheet-toolbar label { background: #f6f8fa !important; border-color: #cfd8e3 !important; }
.sheet-toolbar > span { color: #53657b !important; font-size: 15px !important; }
.sheet-toolbar strong { color: var(--ui-primary) !important; }
.sheet-table-wrap { border-color: #ccd6e2 !important; box-shadow: 0 8px 25px rgba(38, 57, 84, .04); }
.sheet-table { font-size: 16px !important; }
.sheet-table th { color: #fff !important; font-size: 15px !important; background: var(--ui-primary-dark) !important; }
.sheet-table td { color: #32465f !important; font-size: 16px !important; border-color: #e2e7ed !important; }
.sheet-table tr:nth-child(even) td { background: #f7f8fa !important; }
.sheet-table tr:hover td { background: #edf2f7 !important; }
.sheet-table--compound { min-width: 760px; table-layout: fixed; }
.sheet-table--compound .sheet-col-index { width: 86px; }
.sheet-table--compound .sheet-col-chinese { width: 22%; }
.sheet-table--compound .sheet-col-english { width: auto; }
.sheet-table--compound .sheet-col-abbreviation { width: 15%; }
.sheet-table--compound .sheet-col-cas { width: 17%; }
.sheet-data-notes { background: #f8f0e7 !important; border-left-color: var(--ui-accent) !important; }
.sheet-data-notes strong { color: #66472f !important; }
.sheet-data-notes p { color: #694a35 !important; font-size: 15px !important; }
.sheet-related { background: var(--ui-soft) !important; }
.sheet-section-head > a, .sheet-related-grid span { color: var(--ui-primary) !important; }
.sheet-related-grid a { background: var(--ui-surface) !important; border-color: #ccd6e1 !important; }
.sheet-related-grid strong { color: var(--ui-ink) !important; }
.sheet-related-grid p { color: var(--ui-copy) !important; font-size: 16px !important; }

/* Generic and editorial pages */
.as-page-intro, .as-about-hero, .method-hero, .contact-hero, .search-hero,
.flow-hero, .guide-hero {
  color: var(--ui-ink) !important;
  background:
    radial-gradient(circle at 82% 10%, rgba(91, 130, 177, .16), transparent 28%),
    linear-gradient(135deg, #e7edf4, #f6f1e9) !important;
  border-bottom: 1px solid var(--ui-line) !important;
}
.as-page-intro nav, .as-about-hero nav, .method-hero nav, .flow-hero nav, .guide-hero nav { color: #50637b !important; font-size: 16px !important; }
.as-page-intro nav a, .as-about-hero nav a, .method-hero nav a, .flow-hero nav a, .guide-hero nav a { color: var(--ui-primary-dark) !important; }
.as-page-kicker, .method-kicker, .flow-kicker, .guide-kicker, .contact-hero > div > span, .search-hero > div > span { color: var(--ui-accent) !important; font-size: 14px !important; }
.as-about-hero .as-page-kicker { color: var(--ui-accent) !important; }
.as-page-intro h1, .as-about-hero h1, .method-hero h1, .contact-hero h1, .search-hero h1, .flow-hero h1, .guide-hero h1 { color: var(--ui-ink) !important; }
.as-page-intro p, .as-about-hero p, .method-hero p, .contact-hero p, .search-hero p, .flow-hero p, .guide-hero p { color: var(--ui-copy) !important; }
.as-about-story, .flow-prep, .guide-principles, .method-framework, .indicator-logic, .flow-notes, .guide-checklist { background: var(--ui-surface) !important; }
.as-values, .about-scope, .about-audience, .flow-stages, .guide-categories, .indicator-directory { background: var(--ui-soft) !important; }
.as-values-grid, .as-support-grid, .guide-principle-grid, .indicator-question-grid { gap: 14px !important; border: 0 !important; }
.as-values-grid article, .as-support-grid > a, .guide-principle-grid article, .indicator-question-grid article,
.guide-category-grid article, .indicator-directory-grid article {
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 12px !important;
}
.as-values-grid span, .as-support-grid span, .guide-principle-grid span, .indicator-question-grid span,
.guide-category-grid article > span, .indicator-directory-grid article > span { color: var(--ui-accent) !important; font-size: 14px !important; }
.as-values-grid p, .as-support-grid p, .guide-principle-grid p, .indicator-question-grid p,
.guide-category-grid p, .indicator-directory-grid p { color: var(--ui-copy) !important; font-size: 16px !important; }
.as-support-grid b { color: var(--ui-primary) !important; }
.guide-category-grid a, .indicator-directory-grid a { color: var(--ui-primary-dark) !important; background: #edf2f7 !important; font-size: 14px !important; }
.about-facts strong, .about-audience-grid article > span, .about-scope-grid span { color: var(--ui-accent) !important; }
.as-about-story span, .as-about-lab-copy > span, .about-audience-grid article > span,
.about-scope-grid span, .about-cta span { color: var(--ui-accent) !important; font-size: 13px !important; }
.flow-stage-list em { color: var(--ui-accent) !important; font-size: 13px !important; }
.as-about-lab-copy { color: var(--ui-ink) !important; background: var(--ui-soft) !important; }
.as-about-lab-copy h2 { color: var(--ui-ink) !important; }
.as-about-lab-copy p { color: var(--ui-copy) !important; }
.about-cta { background: linear-gradient(135deg, #e1e8f1, #f0eae1) !important; }
.about-cta a:last-child, .about-hero-actions a:first-child { color: #fff !important; background: var(--ui-primary) !important; border-color: var(--ui-primary) !important; }
.about-hero-actions a, .about-cta a { color: var(--ui-primary-dark) !important; border-color: #aebdce !important; }
.contact-card { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: 0 8px 28px rgba(38, 57, 84, .05) !important; }
.contact-card > span { color: var(--ui-accent) !important; font-size: 14px !important; }
.contact-lines a, .contact-lines div { color: var(--ui-ink) !important; border-color: var(--ui-line) !important; }
.contact-lines span { color: #4b6079 !important; font-size: 15px !important; }
.contact-card p, .contact-card li { color: var(--ui-copy) !important; font-size: 16px !important; }
.search-box { border: 1px solid #cbd6e2 !important; box-shadow: 0 16px 38px rgba(38, 57, 84, .11) !important; }
.search-box input { color: var(--ui-ink) !important; }
.search-results { background: var(--ui-paper) !important; }
.search-summary span, .search-summary p { color: var(--ui-copy) !important; font-size: 16px !important; }
.search-summary strong { color: var(--ui-primary-dark) !important; }
.search-card { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
.search-card:hover { border-color: #a9b9cb !important; box-shadow: var(--ui-shadow) !important; }
.search-card > span { color: var(--ui-accent) !important; font-size: 13px !important; }
.search-card h2, .search-card b { color: var(--ui-ink) !important; }
.search-card p { color: var(--ui-copy) !important; font-size: 16px !important; }
.search-card em { color: var(--ui-primary) !important; }
.article-page { max-width: 900px !important; margin-top: 68px !important; }
.article-page .article-breadcrumb { color: #65758a !important; font-size: 14px !important; }
.article-page .article-breadcrumb a { color: var(--ui-primary) !important; }
.article-page .article-card { background: var(--ui-surface) !important; border: 1px solid var(--ui-line); box-shadow: var(--ui-shadow) !important; }
.article-page .article-title { color: var(--ui-ink) !important; font-size: 32px !important; line-height: 1.45 !important; }
.article-page .article-date { color: #65758a !important; font-size: 14px !important; }
.article-page .article-date::before { background: var(--ui-accent) !important; }
.article-page .article-content { color: var(--ui-copy) !important; font-size: 16px !important; }
.article-page .back-btn { color: var(--ui-primary) !important; border-color: var(--ui-primary) !important; }
.article-page .back-btn:hover { color: #fff !important; background: var(--ui-primary) !important; }
.method-article > section { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
.method-article > section > span, .method-steps b { color: var(--ui-accent) !important; font-size: 14px !important; }
.method-article p, .method-steps p { color: var(--ui-copy) !important; font-size: 16px !important; }
.method-side { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
.method-side > span { color: #4b6079 !important; font-size: 14px !important; }
.method-side > a { color: #354a63 !important; font-size: 16px !important; }
.method-side .method-consult, .method-article #submission > a { color: #fff !important; background: var(--ui-primary) !important; }
.method-cards > div, .method-checks li { color: var(--ui-copy) !important; background: #edf2f7 !important; }
.method-checks li:before { color: var(--ui-primary) !important; }
.sheet-related-grid > a:nth-child(n+7) { display: none; }

/* Legacy service content */
#main-content > .container { color: var(--ui-ink) !important; }
.intro-quote { color: #3e5066 !important; font-size: 16px !important; background: #edf2f7 !important; border-left-color: var(--ui-primary) !important; }
.env-item-tag span { color: #3d526b !important; font-size: 14px !important; background: var(--ui-surface) !important; border-color: #cad5e1 !important; }
.service-cat-title { color: var(--ui-ink) !important; border-color: var(--ui-line) !important; }
.cat-num { color: #fff !important; font-size: 13px !important; background: var(--ui-primary) !important; }
.service-cat-desc { color: var(--ui-copy) !important; font-size: 16px !important; }
.table, .table-service { color: #32465f !important; font-size: 16px !important; border-color: var(--ui-line) !important; }
.table th, .table-service th { color: #fff !important; font-size: 15px !important; background: var(--ui-primary-dark) !important; }
.table td, .table-service td { color: #32465f !important; font-size: 16px !important; border-color: #e2e7ed !important; }
.app-card, .pkg-card { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; border-radius: 12px !important; box-shadow: 0 7px 22px rgba(38, 57, 84, .04) !important; }

/* Footer */
.as-footer {
  color: #d8e2ec !important;
  background: var(--ui-dark) !important;
}
.as-footer-lead { border-color: rgba(255, 255, 255, .15) !important; }
.as-footer-lead > div > span { color: #d7b59c !important; font-size: 13px !important; }
.as-footer-lead h2 { color: #fff !important; font-size: 39px !important; }
.as-footer-lead > a { color: #fff !important; background: #527ba9 !important; }
.as-footer .as-brand-light strong, .as-footer-col > strong { color: #fff !important; }
.as-footer .as-brand-light em { color: #bac8d8 !important; }
.as-footer-brand > p, .as-footer-col > a, .as-footer-contact > p { color: #d3dde7 !important; font-size: 16px !important; }
.as-footer-col > strong { font-size: 16px !important; border-bottom-color: rgba(255, 255, 255, .15) !important; }
.as-footer-col > a:hover { color: #fff !important; }
.as-footer-phone { color: #fff !important; }
.as-footer-bottom { border-color: rgba(255, 255, 255, .15) !important; }
.as-footer-bottom p, .as-footer-bottom a { color: #c2cfdd !important; font-size: 14px !important; }

/* Consultation dock: always expanded and fixed at the left center */
.service-dock {
  position: fixed !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  width: 184px !important;
  max-height: calc(100vh - 24px) !important;
  overflow: hidden !important;
  background: var(--ui-surface) !important;
  border: 1px solid #cbd6e3 !important;
  border-radius: 0 13px 13px 0 !important;
  box-shadow: 0 14px 38px rgba(38, 57, 84, .16) !important;
  transform: translateY(-50%) !important;
  transition: none !important;
}
.service-dock:hover, .service-dock:focus-within { width: 184px !important; }
.service-dock-head {
  width: 184px !important;
  height: 60px !important;
  padding: 0 13px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--ui-primary-dark), #527ba9) !important;
}
.service-dock-head i { flex: 0 0 36px !important; }
.service-dock-head strong { color: #fff !important; font-size: 18px !important; opacity: 1; transition: none; }
.service-dock:hover .service-dock-head strong, .service-dock:focus-within .service-dock-head strong { opacity: 1; }
.service-dock-list {
  width: 184px !important;
  max-height: calc(100vh - 84px);
  padding: 10px 9px !important;
  gap: 5px !important;
  overflow-x: hidden;
  overflow-y: auto;
  opacity: 1;
  transition: none;
}
.service-dock:hover .service-dock-list, .service-dock:focus-within .service-dock-list { max-height: 510px; padding: 10px 9px !important; opacity: 1; }
.service-dock-list a { color: #3d5877 !important; background: #edf2f7 !important; }
.service-dock-list i { color: #fff !important; background: #7897b9 !important; }
.service-dock-list span { font-size: 16px !important; }
.service-dock-list a:hover { color: #fff !important; background: var(--ui-primary) !important; }

/* Responsive */
@media (max-width: 1100px) {
  .as-nav { gap: 16px !important; }
  .as-nav > a, .as-nav-group > button, .as-nav-dropdown > summary { font-size: 16px !important; }
  .home-cap-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .home-sheet-directory { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 900px) {
  .as-shell { width: calc(100% - 36px) !important; }
  .as-topbar { display: none !important; }
  .as-nav-wrap, .as-navbar { height: 74px !important; }
  .as-header.is-scrolled { padding-bottom: 74px; }
  .as-brand span { display: flex !important; }
  .as-brand img { width: 34px !important; height: 42px !important; }
  .as-brand strong { font-size: 19px !important; }
  .as-brand em { font-size: 8px !important; }
  .as-menu-toggle { display: flex !important; margin-left: auto; background: #edf2f7 !important; }
  .as-menu-toggle span { background: var(--ui-primary-dark) !important; }
  .as-nav { top: 74px !important; height: calc(100vh - 74px) !important; background: var(--ui-surface) !important; }
  .as-nav > a, .as-nav-group > button, .as-nav-dropdown > summary { color: var(--ui-ink) !important; font-size: 16px !important; border-color: var(--ui-line) !important; }
  .as-nav-dropdown > .as-mega { background: #f4f6f9 !important; border-radius: 0 !important; }
  .as-mega-directory { grid-template-columns: 1fr !important; }
  .as-mega-directory section { border-color: var(--ui-line) !important; }
  .home-new-hero { padding-top: 58px !important; }
  .home-new-hero-grid { grid-template-columns: 1fr !important; gap: 38px !important; }
  .home-new-panel { grid-template-columns: repeat(3, 1fr) !important; }
  .home-new-panel > div { min-width: 0; border-right: 1px solid var(--ui-line) !important; border-bottom: 0 !important; }
  .home-new-panel > div:last-child { border-right: 0 !important; }
  .home-new-quick { margin-top: 45px !important; }
  .home-section-head { grid-template-columns: 1fr !important; gap: 20px !important; }
  .home-feature-grid { grid-template-columns: 1fr 1fr !important; grid-template-rows: auto !important; }
  .home-feature-grid .home-feature-main { grid-column: 1 / -1 !important; min-height: 350px !important; }
  .sheet-index-nav { top: 74px !important; }
  .sheet-service-strip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sheet-service-strip article { border-bottom: 1px solid #d6dfe9; }
  .sheet-service-strip article:nth-child(2n) { border-right: 0; }
  .sheet-service-strip article:nth-last-child(-n + 2) { border-bottom: 0; }
  .service-dock {
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 184px !important;
    transform: translateY(-50%) !important;
  }
  .service-dock:hover, .service-dock:focus-within { width: 184px !important; }
  .service-dock-head { width: 184px !important; height: 54px !important; }
  .service-dock-head strong { font-size: 17px !important; opacity: 1; }
  .service-dock-list { display: grid !important; width: 184px !important; }
}

@media (max-width: 640px) {
  html body { font-size: 16px !important; }
  .as-shell { width: calc(100% - 32px) !important; }
  .as-brand strong { font-size: 18px !important; }
  .home-new-copy h1 { font-size: 45px !important; line-height: 1.08 !important; letter-spacing: -.045em !important; }
  .home-new-copy > p { font-size: 16px !important; }
  .home-new-actions { align-items: stretch !important; flex-direction: column !important; }
  .home-new-actions a:first-child { justify-content: space-between !important; }
  .home-new-panel { grid-template-columns: 1fr !important; }
  .home-new-panel > div { grid-template-columns: 1fr auto !important; border-right: 0 !important; border-bottom: 1px solid var(--ui-line) !important; }
  .home-new-panel strong { font-size: 35px !important; }
  .home-new-quick { min-height: 78px !important; margin-top: 36px !important; }
  .home-cap-map, .home-featured, .home-all-sheets { padding: 68px 0 !important; }
  .home-section-head h2 { font-size: 38px !important; }
  .home-section-head > p { font-size: 16px !important; }
  .home-cap-grid, .home-feature-grid, .home-sheet-directory { grid-template-columns: 1fr !important; }
  .home-cap-grid > a { min-height: 235px !important; }
  .home-feature-grid .home-feature-main { grid-column: auto !important; min-height: 330px !important; }
  .home-feature-main > h3 { font-size: 37px !important; }
  .home-sheet-directory > section { padding: 19px !important; }
  .sheet-index-hero { padding: 65px 0 58px !important; }
  .sheet-index-hero h1, .sheet-hero h1 { font-size: 43px !important; }
  .sheet-index-hero p, .sheet-hero-grid > div > p { font-size: 16px !important; }
  .sheet-card-grid, .sheet-related-grid { grid-template-columns: 1fr !important; }
  .sheet-projects { padding: 24px 0 60px !important; }
  .sheet-service-strip { margin-bottom: 24px; }
  .sheet-service-strip-grid { grid-template-columns: 1fr; }
  .sheet-service-strip article { padding: 14px 16px; border-right: 0; border-bottom: 1px solid #d6dfe9; }
  .sheet-service-strip article:nth-last-child(-n + 2) { border-bottom: 1px solid #d6dfe9; }
  .sheet-service-strip article:last-child { border-bottom: 0; }
  .sheet-mobile-list span { color: #4b6079 !important; font-size: 14px !important; }
  .sheet-mobile-list p { color: #2f435c !important; font-size: 16px !important; }
  .as-page-intro h1, .as-about-hero h1, .method-hero h1, .contact-hero h1, .search-hero h1, .flow-hero h1, .guide-hero h1 { font-size: 40px !important; }
  .as-footer-lead h2 { font-size: 31px !important; }
  .as-footer-grid { grid-template-columns: 1fr !important; }
  .service-dock { top: 50% !important; right: auto !important; bottom: auto !important; left: 0 !important; width: 184px !important; border-radius: 0 13px 13px 0 !important; transform: translateY(-50%) !important; }
  .service-dock:hover, .service-dock:focus-within, .service-dock-head { width: 184px !important; }
}

/* Responsive corrections: keep content clear on phones and compact screens. */
.as-page-intro {
  position: relative;
  padding: 30px 0 34px !important;
  overflow: hidden;
}
.as-page-intro nav {
  margin-bottom: 15px !important;
}
.as-page-intro .as-page-kicker {
  display: inline-flex;
  margin-bottom: 7px !important;
  align-items: center;
  gap: 9px;
}
.as-page-intro .as-page-kicker::before,
.home-new-kicker::before {
  width: 24px;
  height: 2px;
  content: "";
  background: var(--ui-accent);
  border-radius: 999px;
}
.as-page-intro h1 {
  max-width: 980px !important;
  font-size: clamp(36px, 3.8vw, 50px) !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.as-page-intro p {
  margin-top: 9px !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
}

.home-new-hero {
  position: relative;
  padding-top: 48px !important;
  overflow: hidden;
}
.home-new-hero::before,
.as-page-intro::before {
  position: absolute;
  top: -130px;
  right: 5vw;
  width: 250px;
  height: 250px;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(70, 111, 159, .13);
  border-radius: 50%;
  box-shadow:
    0 0 0 48px rgba(70, 111, 159, .035),
    0 0 0 96px rgba(70, 111, 159, .02);
}
.home-new-hero > .as-shell,
.as-page-intro > .as-shell {
  position: relative;
  z-index: 1;
}
.home-new-kicker {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
}
.home-new-copy h1 {
  font-size: clamp(50px, 4.7vw, 64px) !important;
}
.home-new-quick {
  min-height: 68px !important;
  margin-top: 32px !important;
}

/* Legacy service pages: neutralize the old card padding and make banners truly full width. */
#main-content > .container {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 48px 0 76px !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#main-content > .container > .row {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
#main-content > .container > .row > .text-center:first-child,
#main-content > .container .col-lg-9 > .text-center:first-child,
.page-banner-wrap {
  width: 100vw !important;
  height: 300px !important;
  margin-top: -48px !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 36px !important;
  margin-left: calc(50% - 50vw) !important;
}
#main-content > .container > .row > .text-center:first-child img,
#main-content > .container .col-lg-9 > .text-center:first-child img,
.page-banner {
  width: 100% !important;
  height: 300px !important;
  object-fit: cover !important;
}

/* A full service list remains available on wide screens. Compact screens get a clear,
   unobtrusive entry; the Baidu chat bubble remains available at the opposite side. */
@media (max-width: 1559px) {
  .service-dock,
  .service-dock:hover,
  .service-dock:focus-within {
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 56px !important;
    height: 138px !important;
    max-height: 138px !important;
    border-radius: 0 12px 12px 0 !important;
    transform: translateY(-50%) !important;
  }
  .service-dock-head {
    width: 56px !important;
    height: 138px !important;
    padding: 10px 0 !important;
    flex-direction: column;
    justify-content: center;
    gap: 9px !important;
  }
  .service-dock-head i {
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
  }
  .service-dock-head strong {
    display: block !important;
    font-size: 15px !important;
    line-height: 1 !important;
    letter-spacing: .12em;
    writing-mode: vertical-rl;
  }
  .service-dock-list,
  .service-dock:hover .service-dock-list,
  .service-dock:focus-within .service-dock-list {
    display: none !important;
  }
}

/* Density and legibility pass
   Keep the blue visual system, bring core content above the fold, and make
   supporting copy comfortable on both compact desktops and phones. */
:root {
  --ui-ink: #1b304a;
  --ui-copy: #334a63;
  --ui-muted: #455c74;
  --ui-line: #cbd6e2;
}

html body {
  line-height: 1.65;
}

body p {
  color: var(--ui-copy);
}

/* Shorter, calmer hero areas. */
.home-new-hero {
  padding-top: 44px !important;
}
.home-new-hero-grid {
  gap: 48px !important;
}
.home-new-copy h1 {
  max-width: 760px !important;
  margin: 16px 0 18px !important;
  font-size: clamp(48px, 4.7vw, 64px) !important;
  line-height: 1.09 !important;
}
.home-new-copy > p {
  max-width: 720px;
  color: var(--ui-copy) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}
.home-new-actions {
  margin-top: 26px !important;
}
.home-new-panel > div {
  padding: 19px 22px !important;
}
.home-new-panel span {
  font-size: 16px !important;
}
.home-new-panel small {
  color: #40566f !important;
  font-size: 15px !important;
}
.home-new-panel strong {
  font-size: 36px !important;
}
.home-new-quick {
  min-height: 64px !important;
  margin-top: 28px !important;
}

.sheet-index-hero {
  padding: 56px 0 52px !important;
}
.sheet-hero {
  padding: 28px 0 46px !important;
}
.method-hero,
.contact-hero,
.search-hero,
.flow-hero,
.guide-hero,
.as-about-hero {
  padding-top: 44px !important;
  padding-bottom: 50px !important;
}
.sheet-index-hero h1,
.sheet-hero h1 {
  font-size: clamp(44px, 4.8vw, 60px) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
}
.method-hero h1,
.contact-hero h1,
.search-hero h1,
.flow-hero h1,
.guide-hero h1,
.as-about-hero h1 {
  font-size: clamp(42px, 4.6vw, 58px) !important;
  line-height: 1.12 !important;
  text-wrap: balance;
}
.sheet-breadcrumb,
.method-hero nav,
.flow-hero nav,
.guide-hero nav,
.as-about-hero nav {
  margin-bottom: 22px !important;
}
.sheet-index-hero p,
.sheet-hero-grid > div > p,
.method-hero p,
.contact-hero p,
.search-hero p,
.flow-hero p,
.guide-hero p,
.as-about-hero p,
.as-page-intro p {
  color: var(--ui-copy) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

/* Bring lists and tables closer to the page title. */
.sheet-hero-grid {
  gap: 48px !important;
}
.sheet-hero h1 {
  margin: 14px 0 16px !important;
}
.sheet-actions {
  margin-top: 25px !important;
}
.sheet-summary {
  padding: 22px !important;
}
.sheet-summary > strong {
  margin-top: 8px !important;
  font-size: 54px !important;
}
.sheet-summary > p {
  margin: 6px 0 17px !important;
}
.sheet-projects {
  padding: 26px 0 64px !important;
}
.sheet-service-strip {
  margin-bottom: 20px !important;
  border-color: #c5d1de !important;
}
.sheet-service-strip article {
  padding: 13px 16px 12px !important;
}
.sheet-service-strip article > span,
.sheet-service-strip details,
.sheet-service-strip details p {
  color: #435a72 !important;
  font-size: 14px !important;
}
.sheet-service-strip article > strong {
  margin-top: 5px !important;
  color: #294c75 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}
.sheet-section-head {
  margin-bottom: 22px !important;
}
.sheet-section-head h2 {
  font-size: clamp(30px, 3.3vw, 40px) !important;
  line-height: 1.2 !important;
}
.sheet-section-head > p {
  color: var(--ui-copy) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.sheet-facet-panel {
  margin-bottom: 14px !important;
  padding: 14px !important;
}
.sheet-toolbar {
  margin-bottom: 13px !important;
}
.sheet-table-wrap {
  border-color: #becbda !important;
  box-shadow: 0 10px 28px rgba(38, 57, 84, .07) !important;
}
.sheet-table th {
  padding: 13px 16px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}
.sheet-table td {
  padding: 12px 16px !important;
  color: #2f455e !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Clearer card hierarchy without oversized empty cards. */
.home-cap-map,
.home-featured,
.home-all-sheets {
  padding: 72px 0 !important;
}
.home-section-head {
  gap: 48px !important;
  margin-bottom: 32px !important;
}
.home-section-head h2 {
  font-size: clamp(36px, 3.9vw, 50px) !important;
  line-height: 1.16 !important;
}
.home-section-head > p {
  color: var(--ui-copy) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}
.home-cap-grid > a {
  min-height: 230px !important;
  padding: 23px !important;
  border-color: #c9d4e0 !important;
}
.home-cap-grid > a > strong {
  margin: 28px 0 8px !important;
  font-size: 24px !important;
}
.home-cap-grid > a > p {
  color: #344b64 !important;
  line-height: 1.65 !important;
}
.home-feature-grid {
  grid-template-rows: repeat(2, 205px) !important;
}
.home-feature-grid > a {
  padding: 23px !important;
  border-color: #c6d2df !important;
}
.home-feature-grid > a > h3 {
  margin: 32px 0 8px !important;
  font-size: 24px !important;
}
.home-feature-grid > a > p {
  color: #344b64 !important;
  line-height: 1.62 !important;
}
.home-feature-grid .home-feature-main {
  padding: 28px !important;
}
.home-feature-grid > a.home-feature-main > h3 {
  margin-top: 39px !important;
  font-size: 38px !important;
}
.home-sheet-directory > section {
  border-color: #cbd5e1 !important;
}
.home-sheet-directory a {
  color: #2f455e !important;
}
.home-sheet-directory a em {
  color: #455d76 !important;
}

.as-proof,
.as-process {
  padding: 68px 0 !important;
}
.as-process-grid li,
.as-proof-grid article {
  min-height: 190px !important;
  padding: 23px !important;
  border-color: #c7d2de !important;
}
.as-process-grid strong,
.as-proof-grid h3 {
  margin-top: 30px !important;
}
.as-process-grid p,
.as-proof-grid p,
.as-values-grid p,
.as-support-grid p,
.guide-principle-grid p,
.indicator-question-grid p,
.guide-category-grid p,
.indicator-directory-grid p {
  color: #344b63 !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
}
.sheet-card {
  min-height: 235px !important;
  padding: 24px !important;
  border-color: #c8d3df !important;
}
.sheet-card h3 {
  margin: 24px 0 10px !important;
  font-size: 23px !important;
}
.sheet-card p {
  color: #344b63 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.sheet-card b {
  padding-top: 22px !important;
}

.as-about-story,
.as-values,
.about-scope,
.about-audience,
.flow-prep,
.guide-principles,
.method-framework,
.indicator-logic,
.flow-notes,
.guide-checklist,
.flow-stages,
.guide-categories,
.indicator-directory {
  padding: 70px 0 !important;
}

/* Legacy tables remain dense enough to scan but no longer look faint. */
.intro-quote,
.service-cat-desc {
  color: #334a63 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.table th,
.table-service th {
  padding: 12px 14px !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  background: var(--ui-primary-dark) !important;
}
.table td,
.table-service td {
  padding: 12px 14px !important;
  color: #2f455e !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

@media (max-width: 1100px) {
  .home-new-hero {
    padding-top: 38px !important;
  }
  .home-new-hero-grid {
    gap: 34px !important;
  }
  .home-new-copy h1 {
    font-size: clamp(44px, 5.2vw, 56px) !important;
  }
  .sheet-hero-grid {
    grid-template-columns: minmax(0, 1fr) 290px !important;
    gap: 32px !important;
  }
  .home-cap-map,
  .home-featured,
  .home-all-sheets,
  .as-proof,
  .as-process {
    padding: 60px 0 !important;
  }
}

@media (max-width: 900px) {
  .home-new-hero {
    padding-top: 30px !important;
  }
  .home-new-copy h1 {
    font-size: clamp(38px, 6.4vw, 48px) !important;
  }
  .sheet-index-hero,
  .sheet-hero,
  .method-hero,
  .contact-hero,
  .search-hero,
  .flow-hero,
  .guide-hero,
  .as-about-hero {
    padding-top: 32px !important;
    padding-bottom: 38px !important;
  }
  .sheet-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .sheet-summary {
    width: 100% !important;
    max-width: none !important;
  }
  .sheet-projects {
    padding: 22px 0 54px !important;
  }
  .sheet-service-strip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .home-feature-grid {
    grid-template-rows: auto !important;
  }
  .home-feature-grid .home-feature-main {
    min-height: 300px !important;
  }
  .as-about-story,
  .as-values,
  .about-scope,
  .about-audience,
  .flow-prep,
  .guide-principles,
  .method-framework,
  .indicator-logic,
  .flow-notes,
  .guide-checklist,
  .flow-stages,
  .guide-categories,
  .indicator-directory {
    padding: 56px 0 !important;
  }
}

@media (max-width: 640px) {
  html body {
    font-size: 16px !important;
  }
  .home-new-hero {
    padding-top: 22px !important;
  }
  .home-new-copy h1 {
    margin: 10px 0 14px !important;
    font-size: clamp(34px, 9.2vw, 39px) !important;
  }
  .home-new-copy > p,
  .as-page-intro p,
  .sheet-index-hero p,
  .sheet-hero-grid > div > p,
  .method-hero p,
  .contact-hero p,
  .search-hero p,
  .flow-hero p,
  .guide-hero p,
  .as-about-hero p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  .home-new-quick {
    min-height: 54px !important;
    margin-top: 16px !important;
    padding: 8px 0 !important;
  }
  .home-new-quick > span,
  .home-new-quick a {
    font-size: 15px !important;
  }
  .sheet-index-hero,
  .sheet-hero,
  .method-hero,
  .contact-hero,
  .search-hero,
  .flow-hero,
  .guide-hero,
  .as-about-hero {
    padding-top: 24px !important;
    padding-bottom: 28px !important;
  }
  .sheet-index-hero h1,
  .sheet-hero h1,
  .method-hero h1,
  .contact-hero h1,
  .search-hero h1,
  .flow-hero h1,
  .guide-hero h1,
  .as-about-hero h1 {
    font-size: clamp(32px, 8.8vw, 38px) !important;
    line-height: 1.15 !important;
  }
  .sheet-breadcrumb,
  .method-hero nav,
  .flow-hero nav,
  .guide-hero nav,
  .as-about-hero nav {
    margin-bottom: 15px !important;
    font-size: 14px !important;
  }
  .sheet-actions {
    margin-top: 20px !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 13px !important;
  }
  .sheet-actions .sheet-primary {
    padding: 12px 15px !important;
  }
  .sheet-summary {
    display: grid;
    padding: 16px 18px !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 14px;
  }
  .sheet-summary > strong {
    margin: 0 !important;
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 42px !important;
  }
  .sheet-summary > p {
    margin: 0 !important;
  }
  .sheet-summary dl {
    margin-top: 8px !important;
    grid-column: 1 / -1;
  }
  .sheet-service-strip {
    margin-bottom: 17px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .sheet-service-strip-grid {
    display: flex !important;
    width: max-content !important;
    min-width: 100%;
  }
  .sheet-service-strip article {
    width: min(78vw, 280px);
    padding: 12px 14px !important;
    flex: none;
    border-right: 1px solid #d6dfe9 !important;
    border-bottom: 0 !important;
    scroll-snap-align: start;
  }
  .sheet-service-strip article:last-child {
    border-right: 0 !important;
  }
  .sheet-section-head {
    margin-bottom: 17px !important;
    gap: 12px !important;
  }
  .sheet-section-head h2 {
    font-size: 29px !important;
  }
  .sheet-facet-panel {
    padding: 11px !important;
  }
  .sheet-toolbar {
    gap: 10px !important;
  }
  .sheet-mobile-list {
    gap: 10px !important;
  }
  .sheet-mobile-list article {
    padding: 15px !important;
    border-color: #cbd6e2 !important;
  }
  .sheet-mobile-list article div {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .sheet-mobile-list span {
    color: #455c74 !important;
    font-size: 13px !important;
  }
  .sheet-mobile-list p {
    color: #263e58 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  .home-cap-map,
  .home-featured,
  .home-all-sheets,
  .as-proof,
  .as-process {
    padding: 48px 0 !important;
  }
  .home-section-head {
    margin-bottom: 24px !important;
    gap: 14px !important;
  }
  .home-section-head h2 {
    font-size: 34px !important;
  }
  .home-cap-grid > a,
  .sheet-card,
  .as-process-grid li,
  .as-proof-grid article {
    min-height: 0 !important;
    padding: 19px !important;
  }
  .home-cap-grid > a > strong,
  .sheet-card h3,
  .as-process-grid strong,
  .as-proof-grid h3 {
    margin-top: 20px !important;
  }
  .home-feature-grid .home-feature-main {
    min-height: 270px !important;
  }
  .home-feature-grid > a.home-feature-main > h3 {
    margin-top: 32px !important;
    font-size: 32px !important;
  }
  .as-about-story,
  .as-values,
  .about-scope,
  .about-audience,
  .flow-prep,
  .guide-principles,
  .method-framework,
  .indicator-logic,
  .flow-notes,
  .guide-checklist,
  .flow-stages,
  .guide-categories,
  .indicator-directory {
    padding: 48px 0 !important;
  }
  #main-content > .container {
    padding-top: 24px !important;
  }
  #main-content > .container > .row > .text-center:first-child,
  #main-content > .container .col-lg-9 > .text-center:first-child,
  .page-banner-wrap,
  #main-content > .container > .row > .text-center:first-child img,
  #main-content > .container .col-lg-9 > .text-center:first-child img,
  .page-banner {
    height: 150px !important;
  }
  #main-content > .container > .row > .text-center:first-child,
  #main-content > .container .col-lg-9 > .text-center:first-child,
  .page-banner-wrap {
    margin-top: -24px !important;
    margin-bottom: 20px !important;
  }
  .table th,
  .table-service th,
  .table td,
  .table-service td {
    padding: 10px 12px !important;
    font-size: 15px !important;
  }
}

@media (max-width: 1279px) {
  .service-dock,
  .service-dock:hover,
  .service-dock:focus-within {
    top: auto !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    width: 136px !important;
    height: 50px !important;
    max-height: 50px !important;
    border-radius: 10px !important;
    transform: none !important;
  }
  .service-dock-head {
    width: 136px !important;
    height: 50px !important;
    padding: 0 12px !important;
    flex-direction: row;
    justify-content: flex-start;
    gap: 9px !important;
  }
  .service-dock-head i {
    flex-basis: 30px !important;
    width: 30px !important;
    height: 30px !important;
  }
  .service-dock-head strong {
    font-size: 16px !important;
    letter-spacing: 0;
    writing-mode: horizontal-tb;
  }
  body.as-menu-open .service-dock {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .as-nav {
    height: calc(100vh - 74px) !important;
    height: calc(100dvh - 74px) !important;
    overscroll-behavior: contain;
  }
  .as-page-intro {
    padding: 25px 0 29px !important;
  }
  .as-page-intro nav {
    margin-bottom: 13px !important;
  }
  .as-page-intro h1 {
    font-size: clamp(34px, 5.8vw, 44px) !important;
  }
  .home-new-hero {
    padding-top: 36px !important;
  }
  .home-new-hero-grid {
    gap: 24px !important;
  }
  .home-new-copy h1 {
    font-size: clamp(42px, 6.6vw, 54px) !important;
  }
  .home-new-quick {
    min-height: 62px !important;
    margin-top: 22px !important;
  }
  #main-content > .container {
    width: calc(100% - 36px) !important;
    padding: 38px 0 62px !important;
  }
  #main-content > .container > .row > .text-center:first-child,
  #main-content > .container .col-lg-9 > .text-center:first-child,
  .page-banner-wrap {
    height: 220px !important;
    margin-top: -38px !important;
    margin-bottom: 30px !important;
  }
  #main-content > .container > .row > .text-center:first-child img,
  #main-content > .container .col-lg-9 > .text-center:first-child img,
  .page-banner {
    height: 220px !important;
  }
}

@media (max-width: 640px) {
  .as-page-intro {
    padding: 19px 0 23px !important;
  }
  .as-page-intro nav {
    margin-bottom: 11px !important;
    font-size: 14px !important;
  }
  .as-page-intro .as-page-kicker {
    display: none !important;
  }
  .as-page-intro h1 {
    font-size: clamp(30px, 8.5vw, 35px) !important;
    line-height: 1.16 !important;
  }
  .as-page-intro p {
    margin-top: 8px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }
  .home-new-hero {
    padding-top: 25px !important;
  }
  .home-new-copy h1 {
    margin: 12px 0 16px !important;
    font-size: clamp(36px, 9.8vw, 41px) !important;
    line-height: 1.1 !important;
  }
  .home-new-copy > p {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }
  .home-new-actions {
    margin-top: 22px !important;
    gap: 12px !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: wrap;
  }
  .home-new-actions a:first-child {
    min-height: 48px !important;
    padding: 0 14px !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-size: 14px !important;
  }
  .home-new-actions a:last-child {
    font-size: 14px !important;
    white-space: nowrap;
  }
  .home-new-panel {
    display: none !important;
  }
  .home-new-panel > div {
    display: flex !important;
    min-width: 0;
    padding: 14px 6px !important;
    align-items: center;
    flex-direction: column;
    gap: 5px !important;
    text-align: center;
    border-right: 1px solid var(--ui-line) !important;
    border-bottom: 0 !important;
  }
  .home-new-panel > div:last-child {
    border-right: 0 !important;
  }
  .home-new-panel span {
    font-size: 13px !important;
  }
  .home-new-panel strong {
    order: 2;
    font-size: 28px !important;
  }
  .home-new-panel small {
    display: none !important;
  }
  .home-new-quick {
    min-height: 58px !important;
    margin-top: 18px !important;
    gap: 9px !important;
  }
  .home-new-quick > span,
  .home-new-quick a {
    font-size: 14px !important;
  }
  .sheet-index-hero,
  .sheet-hero,
  .method-hero,
  .contact-hero,
  .search-hero,
  .flow-hero,
  .guide-hero,
  .as-about-hero {
    padding-top: 28px !important;
    padding-bottom: 32px !important;
  }
  .sheet-index-hero h1,
  .sheet-hero h1,
  .method-hero h1,
  .contact-hero h1,
  .search-hero h1,
  .flow-hero h1,
  .guide-hero h1,
  .as-about-hero h1 {
    font-size: clamp(34px, 9.5vw, 40px) !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  #main-content > .container {
    width: calc(100% - 32px) !important;
    padding: 30px 0 54px !important;
  }
  #main-content > .container > .row > .text-center:first-child,
  #main-content > .container .col-lg-9 > .text-center:first-child,
  .page-banner-wrap {
    height: 180px !important;
    margin-top: -30px !important;
    margin-bottom: 24px !important;
  }
  #main-content > .container > .row > .text-center:first-child img,
  #main-content > .container .col-lg-9 > .text-center:first-child img,
  .page-banner {
    height: 180px !important;
  }
  #main-content > .container .table,
  #main-content > .container .table-service {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* Final compact-screen priority pass.
   Kept after the dock repair so layout refinements win without changing the
   consultation dock's responsive position or visibility. */
@media (max-width: 900px) {
  .home-new-hero {
    padding-top: 30px !important;
  }
  .home-new-copy h1 {
    font-size: clamp(38px, 6.4vw, 48px) !important;
  }
}

@media (max-width: 640px) {
  .home-new-hero {
    padding-top: 22px !important;
  }
  .home-new-copy h1 {
    margin: 10px 0 14px !important;
    font-size: clamp(34px, 9.2vw, 39px) !important;
  }
  .home-new-copy > p,
  .as-page-intro p,
  .sheet-index-hero p,
  .sheet-hero-grid > div > p,
  .method-hero p,
  .contact-hero p,
  .search-hero p,
  .flow-hero p,
  .guide-hero p,
  .as-about-hero p {
    color: var(--ui-copy) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  .home-new-quick {
    min-height: 54px !important;
    margin-top: 16px !important;
  }
  .home-new-quick > span,
  .home-new-quick a {
    font-size: 15px !important;
  }
  .sheet-index-hero,
  .sheet-hero,
  .method-hero,
  .contact-hero,
  .search-hero,
  .flow-hero,
  .guide-hero,
  .as-about-hero {
    padding-top: 24px !important;
    padding-bottom: 28px !important;
  }
  .sheet-index-hero h1,
  .sheet-hero h1,
  .method-hero h1,
  .contact-hero h1,
  .search-hero h1,
  .flow-hero h1,
  .guide-hero h1,
  .as-about-hero h1 {
    font-size: clamp(32px, 8.8vw, 38px) !important;
  }
  #main-content > .container {
    padding-top: 24px !important;
  }
  #main-content > .container > .row > .text-center:first-child,
  #main-content > .container .col-lg-9 > .text-center:first-child,
  .page-banner-wrap,
  #main-content > .container > .row > .text-center:first-child img,
  #main-content > .container .col-lg-9 > .text-center:first-child img,
  .page-banner {
    height: 150px !important;
  }
  #main-content > .container > .row > .text-center:first-child,
  #main-content > .container .col-lg-9 > .text-center:first-child,
  .page-banner-wrap {
    margin-top: -24px !important;
    margin-bottom: 20px !important;
  }
}

/* Service overview cards: purpose first, details easy to scan. */
.sheet-service-strip {
  overflow: hidden !important;
  background: linear-gradient(180deg, #f1f5f9 0%, #eaf0f6 100%) !important;
  border-color: #bdcad8 !important;
  box-shadow: 0 10px 28px rgba(38, 57, 84, .07) !important;
}
.sheet-service-strip-grid {
  display: flex !important;
  min-width: 0;
  counter-reset: service-overview;
  align-items: stretch;
}
.sheet-service-strip article {
  position: relative;
  min-width: 0;
  min-height: 124px;
  padding: 15px 16px 14px !important;
  flex: 1 1 0;
  counter-increment: service-overview;
  background: rgba(255, 255, 255, .72);
  border-right: 1px solid #cbd6e2 !important;
  border-bottom: 0 !important;
  transition: background-color .2s ease, box-shadow .2s ease;
}
.sheet-service-strip article:hover {
  z-index: 1;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 20px rgba(38, 57, 84, .08);
}
.sheet-service-strip article:last-child {
  border-right: 0 !important;
}
.sheet-service-strip article > span {
  display: flex;
  margin: 0;
  color: #486079 !important;
  font-size: 14px !important;
  font-weight: 750;
  line-height: 1.35;
  align-items: center;
  gap: 8px;
}
.sheet-service-strip article > span::before {
  display: inline-flex;
  width: 28px;
  height: 22px;
  content: "0" counter(service-overview);
  color: #365d88;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  background: #dce7f2;
  border: 1px solid #c4d2e1;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.sheet-service-strip article > strong {
  display: block;
  margin-top: 11px !important;
  color: #263f5d !important;
  font-size: 15px !important;
  font-weight: 720;
  line-height: 1.5 !important;
}
.sheet-service-strip details {
  margin-top: 8px !important;
}
.sheet-service-strip summary {
  display: inline-flex;
  min-height: 28px;
  padding: 4px 9px;
  color: #365f8d !important;
  font-size: 13px;
  background: rgba(226, 235, 245, .82);
  border-radius: 6px;
  align-items: center;
}
.sheet-service-strip summary:hover {
  color: #fff !important;
  background: var(--ui-primary) !important;
}
.sheet-service-strip summary:focus-visible {
  outline: 2px solid var(--ui-primary);
  outline-offset: 2px;
}

/* When the new purpose item is present, give the first of five cards more room. */
.sheet-service-strip article:first-child:nth-last-child(5) {
  flex: 1.62 1 0;
  background:
    radial-gradient(circle at 92% 12%, rgba(110, 151, 197, .24), transparent 38%),
    linear-gradient(135deg, #dce8f4 0%, #edf3f8 100%);
  box-shadow: inset 4px 0 0 var(--ui-primary);
}
.sheet-service-strip article:first-child:nth-last-child(5):hover {
  background:
    radial-gradient(circle at 92% 12%, rgba(110, 151, 197, .3), transparent 38%),
    linear-gradient(135deg, #d7e5f2 0%, #f1f6fa 100%);
}
.sheet-service-strip article:first-child:nth-last-child(5) > span {
  color: #294f79 !important;
}
.sheet-service-strip article:first-child:nth-last-child(5) > span::before {
  color: #fff;
  background: var(--ui-primary);
  border-color: var(--ui-primary);
}
.sheet-service-strip article:first-child:nth-last-child(5) > strong {
  color: #1f3f64 !important;
  font-size: 16px !important;
  line-height: 1.52 !important;
}

@media (max-width: 900px) {
  .sheet-service-strip {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #9eb2c8 transparent;
    -webkit-overflow-scrolling: touch;
  }
  .sheet-service-strip-grid {
    width: max-content !important;
    min-width: 100%;
  }
  .sheet-service-strip article,
  .sheet-service-strip article:first-child:nth-last-child(5) {
    width: clamp(250px, 35vw, 310px);
    min-height: 116px;
    flex: none;
    scroll-snap-align: start;
  }
  .sheet-service-strip article:first-child:nth-last-child(5) {
    width: clamp(285px, 42vw, 350px);
  }
}

@media (max-width: 640px) {
  .sheet-service-strip {
    margin-bottom: 16px !important;
  }
  .sheet-service-strip article,
  .sheet-service-strip article:first-child:nth-last-child(5) {
    width: min(76vw, 280px);
    min-height: 112px;
    padding: 13px 14px !important;
  }
  .sheet-service-strip article:first-child:nth-last-child(5) {
    width: min(84vw, 310px);
  }
  .sheet-service-strip article > strong {
    margin-top: 9px !important;
  }
}

/* Project pages: keep the banner informative, but let the project list reach the
   first screen on common laptops. */
.sheet-hero {
  padding-top: 14px !important;
  padding-bottom: 18px !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(72, 119, 173, .11) 0 92px, transparent 93px),
    linear-gradient(125deg, #f3f6fa 0%, #e8eff7 100%) !important;
}
.sheet-breadcrumb {
  margin-bottom: 8px !important;
}
.sheet-hero-grid {
  gap: 32px !important;
}
.sheet-hero h1 {
  margin: 9px 0 10px !important;
  font-size: clamp(38px, 4.1vw, 50px) !important;
  line-height: 1.12 !important;
}
.sheet-hero-grid > div > p {
  font-size: 16px !important;
  line-height: 1.62 !important;
}
.sheet-actions {
  margin-top: 12px !important;
}
.sheet-actions a {
  min-height: 40px !important;
}
.sheet-summary {
  padding: 17px 19px !important;
}
.sheet-summary > strong {
  margin-top: 4px !important;
  font-size: 44px !important;
}
.sheet-summary > p {
  margin: 2px 0 10px !important;
}
.sheet-summary dl {
  margin-top: 8px !important;
}
.sheet-projects {
  padding-top: 20px !important;
}
.sheet-service-strip {
  margin-bottom: 14px !important;
}
.sheet-service-strip article {
  padding: 9px 13px !important;
}
.sheet-service-strip article > strong {
  font-size: 14px !important;
}
.sheet-service-strip details {
  display: none !important;
}
.sheet-section-head {
  margin-bottom: 14px !important;
}
.sheet-section-head h2 {
  font-size: clamp(28px, 3vw, 36px) !important;
}
.sheet-facet-panel {
  margin-bottom: 10px !important;
  padding: 10px !important;
}
.sheet-toolbar {
  margin-bottom: 10px !important;
}
.sheet-toolbar label {
  min-height: 48px !important;
}

@media (max-width: 900px) {
  .sheet-hero {
    padding-top: 16px !important;
    padding-bottom: 20px !important;
  }
  .sheet-hero-grid {
    gap: 18px !important;
  }
}

@media (max-width: 640px) {
  .sheet-hero {
    padding-top: 14px !important;
    padding-bottom: 18px !important;
    background:
      radial-gradient(circle at 100% 0, rgba(72, 119, 173, .10) 0 76px, transparent 77px),
      linear-gradient(125deg, #f3f6fa 0%, #e8eff7 100%) !important;
  }
  .sheet-hero h1 {
    margin: 7px 0 9px !important;
    font-size: clamp(30px, 8.2vw, 35px) !important;
  }
  .sheet-summary {
    display: none !important;
  }
  .sheet-projects {
    padding-top: 16px !important;
  }
  .sheet-section-head h2 {
    font-size: 27px !important;
  }
  .sheet-facet-panel {
    padding: 8px !important;
    overflow: hidden;
  }
  .sheet-facet-buttons {
    display: flex !important;
    max-width: 100%;
    padding-bottom: 2px;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .sheet-facet-buttons::-webkit-scrollbar {
    display: none;
  }
  .sheet-facet-buttons button {
    min-height: 42px !important;
    padding: 8px 12px !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .sheet-facet-buttons button small {
    display: none !important;
  }
}

/* Keep the photographic homepage feature after earlier legacy layout rules. */
.home-feature-grid > a.home-feature-main {
  display: grid !important;
  min-height: 410px !important;
  padding: 0 !important;
  grid-template-columns: minmax(250px, .92fr) minmax(240px, 1.08fr) !important;
  grid-template-rows: 1fr !important;
  align-items: stretch !important;
  flex-direction: initial !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 44px rgba(28, 75, 64, .1) !important;
}
.home-feature-grid > a.home-feature-main:hover {
  box-shadow: 0 20px 50px rgba(28, 75, 64, .14) !important;
}

@media (max-width: 900px) {
  .home-feature-grid > a.home-feature-main {
    min-height: 330px !important;
    padding: 0 !important;
    grid-template-columns: minmax(240px, .9fr) minmax(260px, 1.1fr) !important;
  }
}

@media (max-width: 640px) {
  .home-feature-grid > a.home-feature-main {
    min-height: 0 !important;
    padding: 0 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 158px !important;
    border-radius: 13px !important;
  }
}

/* The capability guides are indexable navigation, not another oversized hero. */
.sheet-index-guides {
  padding: 52px 0 28px;
  background: #f6f9f7;
  border-bottom: 1px solid #dce7e1;
}
.sheet-index-guides .sheet-section-head {
  margin-bottom: 24px;
}
.capability-guide-grid .sheet-card {
  min-height: 240px;
}
@media (max-width: 640px) {
  .sheet-index-guides {
    padding: 34px 0 18px;
  }
  .capability-guide-grid .sheet-card {
    min-height: 0;
  }
}

/* Keep the capability directory fully visible on laptop screens. The former
   two-row grid inherited the tallest group in each row and left large blank
   areas, so the menu needed an internal scroll. Balanced columns keep every
   link while using the available height efficiently. */
@media (min-width: 1280px) {
  .as-nav-capability > .as-mega-all {
    width: min(1280px, calc(100vw - 48px)) !important;
  }
  .as-nav-capability .as-mega-cap-head {
    padding: 12px 22px !important;
    align-items: center !important;
  }
  .as-nav-capability .as-mega-cap-head span {
    font-size: 11px !important;
  }
  .as-nav-capability .as-mega-cap-head strong {
    margin: 3px 0 0 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
  }
  .as-nav-capability .as-mega-cap-head p {
    display: none !important;
  }
  .as-nav-capability .as-mega-cap-head > a {
    min-width: 170px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  .as-nav-capability .as-mega-directory {
    display: block !important;
    padding: 8px 22px 8px !important;
    column-count: 4;
    column-gap: 24px !important;
    column-fill: balance;
  }
  .as-nav-capability .as-mega-directory > section {
    display: inline-flex !important;
    width: 100%;
    margin: 0 0 6px;
    gap: 3px !important;
    vertical-align: top;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
  }
  .as-nav-capability .as-mega-directory .as-mega-group-title {
    margin: 0 0 3px !important;
    padding: 0 0 7px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .as-nav-capability .as-mega-directory section > a:not(.as-mega-group-title) {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
}

/* Laptop layout: keep the full consultation directory visible and reserve a
   real content gutter for it. The page narrows and shifts as one layout instead
   of allowing a fixed panel to sit on top of headings and data. */
@media (min-width: 1280px) and (max-width: 1559px) {
  :root {
    --laptop-content-left: max(184px, calc((100vw - 1120px) / 2));
    --laptop-content-width: min(1120px, calc(100vw - 216px));
  }
  .service-dock,
  .service-dock:hover,
  .service-dock:focus-within {
    top: 142px !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 160px !important;
    height: auto !important;
    max-height: calc(100vh - 154px) !important;
    border-radius: 0 14px 14px 0 !important;
    transform: none !important;
  }
  .service-dock-head {
    width: 160px !important;
    height: 54px !important;
    padding: 0 11px !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 9px !important;
  }
  .service-dock-head i {
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
  }
  .service-dock-head strong {
    display: block !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    writing-mode: horizontal-tb !important;
  }
  .service-dock-list,
  .service-dock:hover .service-dock-list,
  .service-dock:focus-within .service-dock-list {
    display: grid !important;
    width: 160px !important;
    max-height: calc(100vh - 220px) !important;
    padding: 8px 7px !important;
    gap: 4px !important;
    overflow-y: auto !important;
    opacity: 1 !important;
    scrollbar-width: thin;
  }
  .service-dock-list a {
    min-height: 38px !important;
    padding: 3px 7px 3px 3px !important;
    gap: 7px !important;
  }
  .service-dock-list i {
    width: 30px !important;
    height: 30px !important;
  }
  .service-dock-list span {
    font-size: 15px !important;
    white-space: nowrap;
  }

  #main-content .as-shell,
  body > .as-proof .as-shell,
  body > .as-process .as-shell,
  body > .as-footer .as-shell,
  #main-content > .container {
    width: var(--laptop-content-width) !important;
    margin-right: auto !important;
    margin-left: var(--laptop-content-left) !important;
  }

  /* Legacy pages use viewport-wide banners inside their content container.
     Pull those banners back to the viewport edge after the content gutter is
     reserved, otherwise their right edge extends beyond the screen. */
  #main-content > .container > .row > .text-center:first-child,
  #main-content > .container .col-lg-9 > .text-center:first-child,
  .page-banner-wrap {
    margin-right: 0 !important;
    margin-left: calc(0px - var(--laptop-content-left)) !important;
  }

  /* A few older templates contain a Bootstrap container inside the page
     container. Make the inner layer follow the responsive content width. */
  #main-content > .container .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

/* Context images for the sampling, method and service-support pages. */
.guide-hero-layout,
.flow-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 410px);
  align-items: center;
  gap: 46px;
}
.guide-hero-layout > div,
.flow-hero-layout > div {
  min-width: 0;
}
.guide-hero-media,
.support-hub-media {
  margin: 0;
  overflow: hidden;
  background: #dfeae5;
  border: 1px solid #bdd7cc;
  border-radius: 17px;
}
.guide-hero-media {
  height: 250px;
  box-shadow: 0 18px 42px rgba(34, 82, 70, .12);
}
.guide-hero-media img,
.support-hub-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.support-hub-media {
  height: 250px;
  margin-bottom: 28px;
}
.support-hub-media img {
  object-position: 52% 54%;
}

@media (max-width: 900px) {
  .guide-hero-layout,
  .flow-hero-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 28px;
  }
  .guide-hero-media {
    height: 188px;
  }
}

@media (max-width: 640px) {
  .guide-hero-layout,
  .flow-hero-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .guide-hero-media {
    height: 112px;
    border-radius: 12px;
    box-shadow: none;
  }
  .support-hub-media {
    height: 150px;
    margin-bottom: 18px;
    border-radius: 12px;
  }
}

/* 2026-07 contextual photography: one useful image per section, not a card wall. */
.sheet-hero-media,
.sheet-group-media,
.home-feature-photo {
  margin: 0;
  overflow: hidden;
  background: #dfeae5;
}
.sheet-hero-media img,
.sheet-group-media img,
.home-feature-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--media-focus, 50% 50%);
}

/* Every project page uses the photograph that matches its research direction. */
.sheet-hero-media {
  position: relative;
  height: 224px;
  border: 1px solid rgba(113, 158, 143, .34);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(34, 82, 70, .13);
}
.sheet-hero-media::after {
  position: absolute;
  inset: 42% 0 0;
  content: "";
  background: linear-gradient(180deg, transparent, rgba(9, 43, 37, .76));
  pointer-events: none;
}
.sheet-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 15px;
  left: 18px;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  color: #fff;
}
.sheet-hero-media figcaption span {
  color: rgba(255, 255, 255, .82);
  font-size: 13px;
  font-weight: 650;
}
.sheet-hero-media figcaption strong {
  color: #fff !important;
  font-size: 16px;
  font-weight: 760;
  white-space: nowrap;
}
@media (min-width: 901px) {
  .sheet-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
    align-items: center !important;
  }
}

/* Direction images make the long capability index easier to scan. */
.sheet-group > header {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) minmax(240px, 300px);
  align-items: center !important;
  gap: 18px 22px !important;
}
.sheet-group-media {
  width: 100%;
  height: 126px;
  border: 1px solid #c8ddd4;
  border-radius: 14px;
}

/* The homepage has one photographic focal point; the remaining entries stay concise. */
.home-feature-grid .home-feature-main {
  display: grid !important;
  min-height: 410px !important;
  padding: 0 !important;
  grid-template-columns: minmax(250px, .92fr) minmax(240px, 1.08fr) !important;
  align-items: stretch !important;
  overflow: hidden;
  border-left: 0 !important;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(28, 75, 64, .1) !important;
}
.home-feature-main-copy {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  padding: 32px 30px;
  flex-direction: column;
}
.home-feature-main-copy > span {
  color: var(--ui-accent) !important;
  font-size: 14px !important;
  font-weight: 760;
}
.home-feature-main-copy > h3 {
  margin: 46px 0 14px !important;
  color: #174f47 !important;
  font-size: 38px !important;
  line-height: 1.2 !important;
}
.home-feature-main-copy > p {
  margin: 0 !important;
  color: #365f58 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.home-feature-main-copy > b {
  margin-top: auto;
  padding-top: 26px;
  color: var(--ui-primary-dark) !important;
  font-size: 16px !important;
}
.home-feature-photo {
  min-height: 100%;
}
.home-feature-photo img {
  transition: transform .5s ease;
}
.home-feature-main:hover .home-feature-photo img {
  transform: scale(1.025);
}

.as-about-lab img {
  object-position: 52% 50% !important;
}

@media (max-width: 900px) {
  .sheet-hero-media {
    height: 164px;
    border-radius: 14px;
  }
  .sheet-group > header {
    grid-template-columns: 48px minmax(0, 1fr) 230px;
  }
  .sheet-group-media {
    height: 106px;
  }
  .home-feature-grid .home-feature-main {
    min-height: 330px !important;
    grid-template-columns: minmax(240px, .9fr) minmax(260px, 1.1fr) !important;
  }
  .home-feature-main-copy > h3 {
    margin-top: 30px !important;
    font-size: 34px !important;
  }
}

@media (max-width: 640px) {
  .sheet-hero-media {
    height: 112px;
    border-radius: 12px;
    box-shadow: none;
  }
  .sheet-hero-media figcaption {
    right: 13px;
    bottom: 10px;
    left: 13px;
  }
  .sheet-hero-media figcaption span {
    font-size: 12px;
  }
  .sheet-hero-media figcaption strong {
    font-size: 14px;
  }
  .sheet-group > header {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px 14px !important;
  }
  .sheet-group-media {
    width: 100%;
    height: 102px;
    grid-column: 1 / -1;
    border-radius: 11px;
  }
  .home-feature-grid .home-feature-main {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    border-radius: 13px;
  }
  .home-feature-main-copy {
    min-height: 250px;
    padding: 24px 22px;
  }
  .home-feature-main-copy > h3 {
    margin-top: 28px !important;
    font-size: 31px !important;
  }
  .home-feature-photo {
    height: 158px;
    min-height: 158px;
  }
  .as-about-lab img {
    min-height: 230px !important;
    max-height: 300px;
  }
}

/* Keep the overview cards readable after the first-screen compaction above. */
.sheet-service-strip article {
  padding: 12px 14px !important;
}
.sheet-service-strip article > strong {
  font-size: 15px !important;
}
.sheet-service-strip article:first-child:nth-last-child(5) > strong {
  font-size: 16px !important;
}

@media (max-width: 640px) {
  .sheet-service-strip article,
  .sheet-service-strip article:first-child:nth-last-child(5) {
    padding: 11px 13px !important;
  }
  .sheet-breadcrumb a,
  .sheet-breadcrumb > span {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .sheet-breadcrumb > span:last-child,
  .sheet-breadcrumb > span:nth-last-child(2) {
    display: none !important;
  }
}

/* Editorial overview and de-cardification layer.
   The new overview reads as one continuous section; repeated content uses
   rules and spacing instead of nested rounded cards. */
.sheet-overview {
  display: grid;
  margin: 0 0 16px;
  padding: 23px 25px 22px;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 34px;
  color: var(--ui-ink);
  background:
    linear-gradient(90deg, rgba(70, 111, 159, .07), transparent 34%),
    #f5f8fb;
  border-top: 2px solid #7697ba;
  border-bottom: 1px solid #c7d3df;
}
.sheet-overview-copy {
  min-width: 0;
}
.sheet-overview-copy > span,
.sheet-overview-purpose > span {
  display: block;
  color: #4b6886;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .08em;
}
.sheet-overview-copy > h2,
.sheet-overview-purpose > h2,
.sheet-overview-purpose > strong {
  display: block;
  margin: 7px 0 0;
  color: #203a59;
  font-size: clamp(22px, 2.3vw, 30px);
  font-weight: 720;
  line-height: 1.28;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.sheet-overview-copy > p,
.sheet-overview-purpose > p {
  max-width: 720px;
  margin: 8px 0 0;
  color: #334b64 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.sheet-overview-purpose {
  position: relative;
  padding-left: 17px;
}
.sheet-overview-purpose::before {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  width: 3px;
  content: "";
  background: linear-gradient(180deg, #4e79a9, #a9bfd6);
}
.sheet-overview-meta {
  display: grid;
  margin: 18px 0 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #cbd6e2;
}
.sheet-overview-meta > div {
  min-width: 0;
  padding: 11px 14px 10px 0;
  border-bottom: 1px solid #d6dfe8;
}
.sheet-overview-meta > div:nth-child(2n) {
  padding-right: 0;
  padding-left: 16px;
  border-left: 1px solid #d6dfe8;
}
.sheet-overview-meta dt {
  margin: 0 0 4px;
  color: #596e84;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
}
.sheet-overview-meta dd {
  margin: 0;
  color: #293f58;
  font-size: 15px;
  font-weight: 620;
  line-height: 1.58;
  overflow-wrap: anywhere;
}
.sheet-overview-meta details {
  margin-top: 5px;
  color: #455d76;
  font-size: 14px;
}
.sheet-overview-meta summary {
  width: max-content;
  color: #365f8c;
  cursor: pointer;
  font-weight: 700;
}

.sheet-visual {
  min-width: 0;
  margin: 0;
  padding-left: 30px;
  align-self: stretch;
  border-left: 1px solid #c8d4e0;
}
.sheet-visual figcaption,
.sheet-visual > header {
  display: flex;
  min-height: 36px;
  margin-bottom: 9px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.sheet-visual figcaption strong,
.sheet-visual > header strong,
.sheet-visual > header h3 {
  margin: 0;
  color: #29435f;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.4;
}
.sheet-visual figcaption span,
.sheet-visual figcaption small,
.sheet-visual > header span,
.sheet-visual > header small {
  color: #65798e;
  font-size: 12px;
  line-height: 1.45;
  text-align: right;
}
.sheet-chart {
  position: relative;
  display: flex;
  height: 142px;
  min-height: 142px;
  padding: 14px 9px 23px 27px;
  align-items: flex-end;
  gap: 9px;
  isolation: isolate;
  background:
    repeating-linear-gradient(to top, rgba(99, 127, 158, .13) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(229, 237, 246, .24));
  border-bottom: 1px solid #8fa6be;
  border-left: 1px solid #8fa6be;
  overflow: hidden;
}
.sheet-chart::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0 78%, rgba(70, 111, 159, .045) 78% 100%);
}
.sheet-chart svg,
.sheet-chart canvas {
  width: 100%;
  height: 100%;
}
.sheet-chart [data-value],
.sheet-chart-bar,
.sheet-chart-bars > i,
.sheet-chart-bars > span {
  min-width: 10px;
  height: var(--chart-value, var(--value, 48%));
  flex: 1 1 0;
  background: linear-gradient(180deg, #5e84af, #91acc8);
  border-top: 2px solid #315d8c;
}
.sheet-chart [data-value]:nth-child(2n),
.sheet-chart-bar:nth-child(2n),
.sheet-chart-bars > i:nth-child(2n),
.sheet-chart-bars > span:nth-child(2n) {
  background: linear-gradient(180deg, #7d9cbd, #b1c4d8);
  border-top-color: #5d7fa3;
}
.sheet-chart[data-chart-type="spectrum"] [data-value],
.sheet-chart[data-chart-type="spectrum"] .sheet-chart-bar,
.sheet-chart[data-chart-type="spectrum"] .sheet-chart-bars > i,
.sheet-chart[data-chart-type="spectrum"] .sheet-chart-bars > span {
  min-width: 2px;
  background: #537ba6;
  border-top: 0;
}
.sheet-chart[data-chart-type="trend"] {
  background:
    repeating-linear-gradient(to top, rgba(99, 127, 158, .13) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, rgba(255, 255, 255, .65), rgba(224, 234, 244, .18));
}
.sheet-chart-axis,
.sheet-visual > p,
.sheet-chart-note {
  margin: 7px 0 0;
  color: #65798d !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
.sheet-chart-legend {
  display: flex;
  margin-top: 9px;
  padding-top: 8px;
  gap: 7px 14px;
  flex-wrap: wrap;
  border-top: 1px solid #d3dce6;
}
.sheet-chart-legend > * {
  display: inline-flex;
  color: #526a82;
  font-size: 12px;
  line-height: 1.4;
  align-items: center;
  gap: 6px;
}
.sheet-chart-legend > *::before {
  width: 7px;
  height: 7px;
  content: "";
  background: #5c82ad;
  border-radius: 50%;
  flex: 0 0 auto;
}
.sheet-chart-legend > *:nth-child(2n)::before {
  background: #9ab1c9;
}

/* Shared surfaces: quiet corners and shadows so hierarchy comes from type. */
.home-cap-grid > a,
.home-feature-grid > a,
.home-sheet-directory > section,
.sheet-card,
.sheet-related-grid > a,
.as-process-grid li,
.as-proof-grid article,
.as-values-grid article,
.as-support-grid > a,
.guide-principle-grid article,
.indicator-question-grid article,
.guide-category-grid article,
.indicator-directory-grid article,
.about-audience-grid article,
.about-scope-grid article,
.contact-card,
.search-card,
.method-article > section,
.method-side,
.app-card,
.pkg-card {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Homepage capability map: two editorial columns with ruled rows. */
.home-cap-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 42px !important;
  background: transparent !important;
  border-top: 1px solid #bdcad7 !important;
  border-left: 0 !important;
}
.home-cap-grid > a {
  display: grid !important;
  min-height: 0 !important;
  padding: 22px 0 !important;
  grid-template-columns: 44px minmax(0, 1fr);
  grid-template-areas:
    "number title"
    "number meta"
    "number copy";
  column-gap: 14px;
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #cbd5e0 !important;
  transform: none !important;
}
.home-cap-grid > a:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.home-cap-grid > a > span {
  grid-area: number;
  padding-top: 2px;
  color: #597ba1 !important;
  font-size: 14px !important;
}
.home-cap-grid > a > strong {
  grid-area: title;
  margin: 0 0 4px !important;
  color: #20364f !important;
  font-size: 23px !important;
}
.home-cap-grid > a:hover > strong {
  color: #315f90 !important;
}
.home-cap-grid > a > em {
  grid-area: meta;
  color: #43688e !important;
  font-size: 14px !important;
}
.home-cap-grid > a > p {
  grid-area: copy;
  margin: 8px 0 0 !important;
  color: #40566d !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
}

/* Homepage featured list: one quiet focus panel plus four ruled entries. */
.home-featured {
  background: #eaf0f6 !important;
}
.home-feature-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr) !important;
  grid-template-rows: repeat(4, minmax(102px, auto)) !important;
  gap: 0 38px !important;
  border: 0 !important;
  border-top: 1px solid #b9c8d7 !important;
}
.home-feature-grid > a {
  display: grid;
  min-height: 0 !important;
  padding: 17px 0 !important;
  grid-template-columns: 70px minmax(0, 1fr) 24px;
  grid-template-rows: auto auto;
  column-gap: 12px;
  color: var(--ui-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #c5d1dd !important;
  transform: none !important;
}
.home-feature-grid > a:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.home-feature-grid > a > span {
  grid-row: 1 / span 2;
  grid-column: 1;
  color: #58799e !important;
  font-size: 14px !important;
  align-self: start;
}
.home-feature-grid > a > h3 {
  margin: 0 0 4px !important;
  grid-row: 1;
  grid-column: 2;
  color: #20364f !important;
  font-size: 21px !important;
}
.home-feature-grid > a > p {
  margin: 0 !important;
  grid-row: 2;
  grid-column: 2;
  color: #40566d !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.home-feature-grid > a > b {
  position: static !important;
  grid-row: 1 / span 2;
  grid-column: 3;
  color: #456f9c !important;
  font-size: 20px !important;
  align-self: center;
  justify-self: end;
}
.home-feature-grid .home-feature-main {
  display: flex !important;
  min-height: 100% !important;
  padding: 30px 32px !important;
  grid-row: 1 / -1 !important;
  grid-column: 1 !important;
  align-items: flex-start;
  flex-direction: column;
  color: #1d3550 !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(78, 121, 169, .15), transparent 32%),
    linear-gradient(135deg, #dce7f2, #f0f4f8) !important;
  border: 0 !important;
  border-left: 4px solid #567da7 !important;
  box-shadow: none !important;
}
.home-feature-grid > a.home-feature-main > span {
  color: #4d7096 !important;
  font-size: 14px !important;
}
.home-feature-grid > a.home-feature-main > h3 {
  margin: 42px 0 12px !important;
  color: #1f3b5b !important;
  font-size: 36px !important;
}
.home-feature-grid > a.home-feature-main > p {
  color: #3f5870 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.home-feature-grid > a.home-feature-main > b {
  position: static !important;
  margin-top: auto;
  padding-top: 24px;
  color: #315f8e !important;
  font-size: 16px !important;
  align-self: flex-start;
}
.home-feature-grid > a.home-feature-main:hover {
  background:
    radial-gradient(circle at 88% 10%, rgba(78, 121, 169, .2), transparent 32%),
    linear-gradient(135deg, #d8e5f1, #f3f6f9) !important;
}

.home-sheet-directory {
  gap: 38px 42px !important;
}
.home-sheet-directory > section {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.home-sheet-directory h3 {
  border-bottom: 2px solid #9fb2c6 !important;
}
.home-sheet-directory a {
  border-bottom-color: #d4dce5 !important;
}

/* Repeated grids elsewhere use light dividers instead of floating cards. */
.sheet-card-grid,
.sheet-related-grid,
.as-process-grid,
.as-proof-grid,
.as-values-grid,
.as-support-grid,
.guide-principle-grid,
.indicator-question-grid {
  gap: 0 28px !important;
  border-top: 1px solid #c4d0dc !important;
  border-left: 0 !important;
}
.sheet-card,
.sheet-related-grid > a,
.as-process-grid li,
.as-proof-grid article,
.as-values-grid article,
.as-support-grid > a,
.guide-principle-grid article,
.indicator-question-grid article {
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #ccd6e1 !important;
  transform: none !important;
}
.sheet-card:hover,
.sheet-related-grid > a:hover,
.as-support-grid > a:hover {
  background: rgba(232, 238, 245, .55) !important;
  border-color: #b6c5d4 !important;
  box-shadow: none !important;
  transform: none !important;
}
.sheet-card {
  padding: 23px 0 !important;
}
.sheet-related-grid > a {
  padding: 20px 0 !important;
}
.as-process-grid li,
.as-proof-grid article,
.as-values-grid article,
.as-support-grid > a,
.guide-principle-grid article,
.indicator-question-grid article {
  padding: 23px 0 !important;
}

@media (max-width: 900px) {
  .sheet-overview {
    padding: 21px 22px 20px;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .7fr);
    gap: 24px;
  }
  .sheet-visual {
    padding-left: 22px;
  }
  .sheet-chart {
    height: 126px;
    min-height: 126px;
  }
  .home-feature-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    gap: 0 !important;
  }
  .home-feature-grid .home-feature-main {
    min-height: 280px !important;
    grid-row: auto !important;
    grid-column: auto !important;
  }
}

@media (max-width: 640px) {
  .sheet-overview {
    margin-bottom: 12px;
    padding: 17px 0 15px;
    grid-template-columns: 1fr;
    gap: 15px;
    background: transparent !important;
    border-top-color: #7898ba;
  }
  .sheet-overview-purpose {
    padding-right: 2px;
    padding-left: 14px;
  }
  .sheet-overview-copy > h2,
  .sheet-overview-purpose > h2,
  .sheet-overview-purpose > strong {
    font-size: 22px;
  }
  .sheet-overview-copy > p,
  .sheet-overview-purpose > p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }
  .sheet-overview-meta {
    margin-top: 13px;
  }
  .sheet-overview-meta > div,
  .sheet-overview-meta > div:nth-child(2n) {
    padding: 9px 10px 8px 0;
  }
  .sheet-overview-meta > div:nth-child(2n) {
    padding-right: 0;
    padding-left: 11px;
  }
  .sheet-overview-meta dt {
    font-size: 12px;
  }
  .sheet-overview-meta dd {
    font-size: 14px;
    line-height: 1.48;
  }
  .sheet-overview-meta details {
    display: none;
  }
  .sheet-visual {
    padding: 13px 0 0;
    border-top: 1px solid #cdd7e1;
    border-left: 0;
  }
  .sheet-visual figcaption,
  .sheet-visual > header {
    min-height: 28px;
    margin-bottom: 6px;
  }
  .sheet-chart {
    height: 104px;
    min-height: 104px;
    padding: 10px 7px 18px 22px;
    gap: 6px;
  }
  .sheet-chart-legend {
    margin-top: 7px;
    padding-top: 6px;
    gap: 5px 11px;
  }
  .sheet-chart-legend > *:nth-child(n + 4) {
    display: none;
  }
  .home-cap-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .home-cap-grid > a {
    padding: 19px 0 !important;
  }
  .home-feature-grid .home-feature-main {
    min-height: 245px !important;
    padding: 25px 23px !important;
  }
  .home-feature-grid > a.home-feature-main > h3 {
    margin-top: 32px !important;
    font-size: 30px !important;
  }
  .home-feature-grid > a:not(.home-feature-main) {
    grid-template-columns: 56px minmax(0, 1fr) 20px;
    padding: 15px 0 !important;
  }
  .home-feature-grid > a > h3 {
    font-size: 19px !important;
  }
  .sheet-card-grid,
  .sheet-related-grid,
  .as-process-grid,
  .as-proof-grid,
  .as-values-grid,
  .as-support-grid,
  .guide-principle-grid,
  .indicator-question-grid {
    gap: 0 !important;
  }
}

/* Final DOM alignment for the overview figure. */
.sheet-overview-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #4b6886 !important;
  font-size: 13px !important;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .1em;
}
.sheet-overview-copy > h2 {
  margin: 0;
}
.sheet-visual > header {
  display: grid;
  min-height: 34px;
  margin: 0 0 9px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 8px 11px;
}
.sheet-visual > header > span {
  color: #56718d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .08em;
  white-space: nowrap;
}
.sheet-visual > header > h3 {
  min-width: 0;
  color: #29435f;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.4;
}
.sheet-visual > header > em {
  padding: 3px 7px;
  color: #6a7d90;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
  background: rgba(221, 230, 240, .74);
  border-radius: 2px;
  white-space: nowrap;
}
.sheet-visual > figcaption {
  display: block;
  min-height: 0;
  margin: 7px 0 0;
  color: #63778c;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
.sheet-chart svg {
  display: block;
  overflow: visible;
}
.sheet-chart svg text {
  fill: #61758a;
  font-family: inherit;
  font-size: 11px;
}
.sheet-chart svg path,
.sheet-chart svg line,
.sheet-chart svg polyline {
  vector-effect: non-scaling-stroke;
}
.sheet-visual--chromatogram .sheet-chart,
.sheet-visual--trend .sheet-chart {
  background:
    repeating-linear-gradient(to top, rgba(99, 127, 158, .13) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, rgba(255, 255, 255, .62), rgba(226, 235, 244, .2));
}
.sheet-visual--spectrum .sheet-chart {
  background:
    repeating-linear-gradient(to top, rgba(99, 127, 158, .11) 0 1px, transparent 1px 34px),
    linear-gradient(90deg, rgba(237, 242, 247, .4), rgba(255, 255, 255, .62));
}
.sheet-visual--bars .sheet-chart,
.sheet-visual--composition .sheet-chart {
  background:
    repeating-linear-gradient(to top, rgba(99, 127, 158, .12) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, rgba(241, 245, 249, .35), rgba(222, 232, 242, .2));
}
.sheet-chart-legend > *::before {
  display: none;
}
.sheet-chart-legend > * > i {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: 0 0 auto;
}

/* Hero metrics stay informative without becoming another floating card. */
.sheet-summary {
  padding: 12px 0 12px 23px !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid #afc0d2 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.sheet-summary > span,
.sheet-summary > p,
.sheet-summary dt {
  color: #536a82 !important;
}
.sheet-summary > strong {
  color: #315d8c !important;
}
.sheet-summary dl div {
  border-top-color: #c7d3df !important;
}

.home-new-panel {
  overflow: visible;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #bdcad8 !important;
  border-left: 1px solid #bdcad8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.home-new-panel > div {
  padding: 16px 18px !important;
  background: transparent !important;
  border-right: 1px solid #c6d1dd !important;
  border-bottom: 1px solid #c6d1dd !important;
}
.home-new-panel > div:last-child {
  border-right: 1px solid #c6d1dd !important;
  border-bottom: 1px solid #c6d1dd !important;
}
.home-new-panel strong {
  color: #315d8c !important;
}
.home-new-panel small {
  color: #50677f !important;
}

@media (max-width: 640px) {
  .sheet-visual > header {
    min-height: 26px;
    margin-bottom: 6px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 6px 8px;
  }
  .sheet-visual > header > span,
  .sheet-visual > figcaption {
    font-size: 11px;
  }
  .sheet-visual > header > h3 {
    font-size: 14px;
  }
  .sheet-visual > header > em {
    padding: 2px 5px;
    font-size: 10px;
  }
  .sheet-chart {
    height: 96px;
    min-height: 96px;
  }
  .sheet-visual > figcaption {
    margin-top: 5px;
    line-height: 1.4;
  }
}

/* SVG visual primitives and the actual nested figure header. */
.sheet-visual > header {
  grid-template-columns: minmax(0, 1fr) auto;
}
.sheet-visual > header > div {
  min-width: 0;
}
.sheet-visual > header > div > span {
  display: block;
  margin-bottom: 2px;
  color: #56718d;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .09em;
}
.sheet-visual > header > div > h3 {
  margin: 0;
  color: #29435f;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.35;
}
.sheet-visual > figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 9px;
  align-items: baseline;
}
.sheet-visual > figcaption > strong {
  color: #405f7e;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
  white-space: nowrap;
}
.sheet-visual > figcaption > span {
  color: #687b8e;
  font-size: 11px;
  line-height: 1.45;
}
.sheet-chart-grid line {
  stroke: #d4dee8;
  stroke-width: 1;
}
.sheet-chart-axis {
  stroke: #879eb5;
  stroke-width: 1.35;
}
.sheet-chart-axis-label {
  fill: #5d7288 !important;
  font-size: 12px !important;
  font-weight: 650;
}
.sheet-chart-mark {
  fill: #5d84ae;
}
.sheet-chart-mark-1,
.sheet-chart-key-1 {
  fill: #416f9f;
  background: #416f9f;
}
.sheet-chart-mark-2,
.sheet-chart-key-2 {
  fill: #648bb3;
  background: #648bb3;
}
.sheet-chart-mark-3,
.sheet-chart-key-3 {
  fill: #83a3c3;
  background: #83a3c3;
}
.sheet-chart-mark-4,
.sheet-chart-key-4 {
  fill: #9fb8d0;
  background: #9fb8d0;
}
.sheet-chart-mark-5,
.sheet-chart-key-5 {
  fill: #bdccda;
  background: #bdccda;
}
.sheet-chart-track {
  fill: #dde6ef;
}
.sheet-chart-line,
.sheet-chart-chromatogram {
  fill: none;
  stroke: #3f709f;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sheet-chart-chromatogram {
  stroke-width: 2;
}
.sheet-chart-point {
  fill: #f7fafc;
  stroke: #3f709f;
  stroke-width: 2;
}
.sheet-chart-stick {
  stroke: #5d84ae;
  stroke-width: 3;
  stroke-linecap: round;
}
.sheet-chart-stick-tip {
  fill: #355f8a;
}
.sheet-chart-value {
  fill: #365674 !important;
  font-size: 12px !important;
  font-weight: 750;
}
.sheet-chart-value--row {
  text-anchor: end;
}

@media (max-width: 640px) {
  .sheet-visual > header {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .sheet-visual > header > div > h3 {
    font-size: 14px;
  }
  .sheet-visual > header > div > span,
  .sheet-visual > figcaption > strong,
  .sheet-visual > figcaption > span {
    font-size: 10px;
  }
  .sheet-chart-axis-label,
  .sheet-chart-value {
    font-size: 10px !important;
  }
}

/* Homepage facts and research visual: information, not another card wall. */
.home-new-facts {
  display: grid;
  max-width: 720px;
  margin: 23px 0 0;
  padding: 15px 0 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #b9c7d6;
}
.home-new-facts > div,
.home-new-facts > li,
.home-new-facts > span {
  display: grid;
  min-width: 0;
  padding: 0 17px;
  gap: 2px;
  border-left: 1px solid #c5d0dc;
  list-style: none;
}
.home-new-facts > div:first-child,
.home-new-facts > li:first-child,
.home-new-facts > span:first-child {
  padding-left: 0;
  border-left: 0;
}
.home-new-facts > div:last-child,
.home-new-facts > li:last-child,
.home-new-facts > span:last-child {
  padding-right: 0;
}
.home-new-facts > span {
  display: flex;
  align-items: baseline;
  align-content: flex-start;
  gap: 4px 6px;
  flex-wrap: wrap;
}
.home-new-facts span,
.home-new-facts dt {
  color: #536b83;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}
.home-new-facts strong,
.home-new-facts dd {
  margin: 0;
  color: #2e5988 !important;
  font-size: 25px;
  font-weight: 760;
  line-height: 1.18;
  letter-spacing: -.025em;
}
.home-new-facts small,
.home-new-facts p {
  margin: 0;
  color: #5b7086 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.home-hero-visual {
  display: grid;
  min-width: 0;
  min-height: 292px;
  margin: 0;
  padding: 8px 0 4px 26px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-self: stretch;
  color: #29435f;
  background:
    radial-gradient(circle at 78% 42%, rgba(88, 132, 180, .14), transparent 46%);
  border-left: 1px solid #b9c7d6;
}
.home-hero-visual > header,
.home-hero-visual > footer,
.home-hero-visual > figcaption {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.home-hero-visual > header {
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(166, 184, 203, .62);
}
.home-hero-visual > header span,
.home-hero-visual > header small,
.home-hero-visual > footer,
.home-hero-visual > figcaption {
  color: #5e748a;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
}
.home-hero-visual > header em {
  padding: 3px 7px;
  color: #60768c;
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: .04em;
  background: rgba(219, 229, 239, .72);
  border-radius: 2px;
}
.home-hero-visual > header strong,
.home-hero-visual > header h2,
.home-hero-visual > header h3 {
  margin: 0;
  color: #294867;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.35;
}
.home-hero-visual > svg,
.home-hero-visual > .home-hero-chart,
.home-hero-visual > .home-hero-plot {
  display: block;
  width: 100%;
  height: 220px;
  min-height: 0;
  overflow: visible;
}
.home-hero-visual svg text {
  fill: #60768c;
  font-family: inherit;
  font-size: 10px;
}
.home-hero-visual svg path,
.home-hero-visual svg line,
.home-hero-visual svg polyline {
  vector-effect: non-scaling-stroke;
}
.home-visual-grid line {
  stroke: #ced9e4;
  stroke-width: 1;
}
.home-visual-axis {
  stroke: #8098b0;
  stroke-width: 1.25;
}
.home-visual-line {
  fill: none;
  stroke: #3f709f;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.home-hero-visual svg circle {
  fill: #f5f8fb;
  stroke: #3f709f;
  stroke-width: 2;
}

:root {
  --ui-radius: 4px;
  --ui-shadow: 0 8px 22px rgba(38, 57, 84, .05);
}
.sheet-table-wrap,
.sheet-facet-panel,
.sheet-data-notes {
  border-radius: 2px !important;
  box-shadow: none !important;
}
.home-hero-visual > footer,
.home-hero-visual > figcaption {
  padding-top: 7px;
  border-top: 1px solid rgba(166, 184, 203, .62);
}

@media (max-width: 900px) {
  .home-hero-visual {
    min-height: 220px;
    padding: 17px 0 0;
    border-top: 1px solid #bdcad8;
    border-left: 0;
  }
  .home-hero-visual > svg,
  .home-hero-visual > .home-hero-chart,
  .home-hero-visual > .home-hero-plot {
    height: 166px;
  }
}

@media (max-width: 640px) {
  .home-new-facts {
    margin-top: 18px;
    padding-top: 12px;
  }
  .home-new-facts > div,
  .home-new-facts > li,
  .home-new-facts > span {
    padding: 0 9px;
  }
  .home-new-facts span,
  .home-new-facts dt,
  .home-new-facts small,
  .home-new-facts p {
    font-size: 11px !important;
  }
  .home-new-facts strong,
  .home-new-facts dd {
    font-size: 21px;
  }
  .home-hero-visual {
    display: grid !important;
    min-height: 180px;
    padding-top: 11px;
  }
  .home-hero-visual > svg,
  .home-hero-visual > .home-hero-chart,
  .home-hero-visual > .home-hero-plot {
    height: 126px;
  }
  .home-hero-visual > header strong,
  .home-hero-visual > header h2,
  .home-hero-visual > header h3 {
    font-size: 13px;
  }
  .home-hero-visual > header span,
  .home-hero-visual > header small,
  .home-hero-visual > footer,
  .home-hero-visual > figcaption {
    font-size: 10px;
  }
}

/* Final mobile reading pass: keep the chart and consultation window useful
   without letting either delay or cover the project list. */
@media (max-width: 640px) {
  .sheet-overview {
    padding-top: 14px;
    padding-bottom: 12px;
    gap: 10px;
  }
  .sheet-overview-eyebrow {
    margin-bottom: 4px;
    font-size: 11px !important;
    letter-spacing: .06em;
  }
  .sheet-overview-copy > h2 {
    font-size: 20px;
    line-height: 1.32;
  }
  .sheet-overview-purpose {
    margin-top: 6px !important;
    padding-left: 11px;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }
  .sheet-overview-meta {
    display: flex;
    margin-top: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    border-bottom: 1px solid #d6dfe8;
    -webkit-overflow-scrolling: touch;
  }
  .sheet-overview-meta::-webkit-scrollbar {
    display: none;
  }
  .sheet-overview-meta > div,
  .sheet-overview-meta > div:nth-child(2n) {
    min-width: 150px;
    padding: 8px 12px 8px 0;
    border-bottom: 0;
    border-left: 0;
    border-right: 1px solid #d6dfe8;
    flex: 0 0 150px;
  }
  .sheet-overview-meta > div:nth-child(2n) {
    padding-left: 12px;
  }
  .sheet-overview-meta dt {
    margin-bottom: 2px;
    font-size: 11px;
  }
  .sheet-overview-meta dd {
    font-size: 13px;
    line-height: 1.42;
  }
  .sheet-visual {
    padding-top: 9px;
  }
  .sheet-visual > header {
    min-height: 24px;
    margin-bottom: 4px;
  }
  .sheet-chart {
    height: 124px;
    min-height: 124px;
    padding: 4px 0 15px 12px;
  }
  .sheet-visual > figcaption {
    display: block;
    margin-top: 4px;
  }
  .sheet-visual > figcaption > strong {
    font-size: 10px;
  }
  .sheet-visual > figcaption > span {
    display: none;
  }
  .sheet-projects .sheet-section-head {
    min-height: 0;
    margin-bottom: 10px;
  }
  .sheet-projects .sheet-section-head > div > span {
    margin-bottom: 4px;
    font-size: 12px !important;
  }
  .sheet-projects .sheet-section-head h2 {
    font-size: 25px !important;
    line-height: 1.25 !important;
  }
  .sheet-toolbar > span {
    display: none;
  }
  html body .embed-chat-container,
  html body .embed-chat {
    right: auto !important;
    left: 12px !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

/* Botanical research theme
   Lively teal carries the scientific identity, warm paper keeps long tables
   comfortable, and coral is reserved for short emphasis. */
:root {
  --ui-ink: #193b3a;
  --ui-copy: #355956;
  --ui-muted: #5b716d;
  --ui-primary: #137d6c;
  --ui-primary-dark: #0b574e;
  --ui-accent: #b4532c;
  --ui-accent-soft: #f1c7b5;
  --ui-paper: #f7f6ef;
  --ui-surface: #fffef8;
  --ui-soft: #e5f1eb;
  --ui-soft-2: #f4eadf;
  --ui-line: #cfe0d8;
  --ui-dark: #143e3a;
  --ui-shadow: 0 8px 22px rgba(17, 77, 69, .07);
  --as-mint: #a9d4c2;
}

html,
html body {
  background: var(--ui-paper) !important;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body strong,
body b {
  color: var(--ui-ink);
}
body p {
  color: var(--ui-copy);
}

/* Shared chrome */
.as-topbar {
  color: #dcefe7 !important;
  background: var(--ui-dark) !important;
}
.as-topbar p,
.as-topbar a,
.as-topbar-inner span {
  color: #eff9f4 !important;
}
.as-nav-wrap {
  background: rgba(255, 254, 248, .98) !important;
  border-bottom-color: var(--ui-line) !important;
}
.as-brand em {
  color: #637d76 !important;
}
.as-nav > a,
.as-nav-group > button,
.as-nav-dropdown > summary {
  color: #214642 !important;
}
.as-search-entry,
.as-menu-toggle {
  color: var(--ui-primary-dark) !important;
  background: #edf6f1 !important;
  border-color: #c4dbd1 !important;
}
.as-menu-toggle span {
  background: var(--ui-primary-dark) !important;
}
.as-nav-cta {
  box-shadow: 0 9px 22px rgba(19, 125, 108, .20) !important;
}
.as-header.is-scrolled .as-nav-wrap {
  box-shadow: 0 10px 35px rgba(20, 62, 58, .11) !important;
}
.as-mega {
  box-shadow: 0 26px 70px rgba(17, 77, 69, .14) !important;
}
.as-mega-directory section > a,
.as-mega-links span {
  color: #355a56 !important;
}
.as-mega-directory section > a:hover,
.as-mega-links a:hover {
  color: var(--ui-primary-dark) !important;
  background: #e7f3ed !important;
}

/* Homepage */
.home-new-hero {
  background:
    radial-gradient(circle at 80% 12%, rgba(40, 158, 127, .18), transparent 30%),
    radial-gradient(circle at 92% 78%, rgba(230, 134, 91, .12), transparent 28%),
    linear-gradient(135deg, #eaf4ef 0%, #fbf6ec 70%, #fff9f1 100%) !important;
  border-bottom-color: var(--ui-line) !important;
}
.home-new-kicker,
.home-section-head > div > span {
  color: var(--ui-accent) !important;
}
.home-new-copy h1,
.home-section-head h2 {
  color: var(--ui-ink) !important;
}
.home-new-copy h1 em {
  color: var(--ui-primary) !important;
}
.home-new-copy > p,
.home-section-head > p {
  color: var(--ui-copy) !important;
}
.home-new-actions a:first-child {
  border-color: var(--ui-primary) !important;
  box-shadow: 0 12px 26px rgba(19, 125, 108, .20) !important;
}
.home-new-actions a:last-child,
.home-new-quick > span {
  color: var(--ui-primary-dark) !important;
}
.home-new-quick {
  border-top-color: #bdd7cc !important;
}
.home-new-quick a {
  color: #245d53 !important;
  background: rgba(255, 254, 248, .78) !important;
  border-color: #bdd8cd !important;
}
.home-new-facts {
  border-top-color: #b8d3c7;
}
.home-new-facts > div,
.home-new-facts > li,
.home-new-facts > span {
  border-left-color: #c4d9d0;
}
.home-new-facts span,
.home-new-facts dt {
  color: #4f7068;
}
.home-new-facts strong,
.home-new-facts dd {
  color: var(--ui-primary) !important;
}
.home-new-facts small,
.home-new-facts p {
  color: #58766f !important;
}
.home-hero-visual {
  color: #244f49;
  background: radial-gradient(circle at 78% 42%, rgba(42, 156, 127, .15), transparent 47%);
  border-left-color: #b7d2c6;
}
.home-hero-visual > header,
.home-hero-visual > footer,
.home-hero-visual > figcaption {
  border-color: rgba(166, 201, 185, .68);
}
.home-hero-visual > header span,
.home-hero-visual > header small,
.home-hero-visual > footer,
.home-hero-visual > figcaption,
.home-hero-visual svg text {
  color: #55766e;
  fill: #55766e;
}
.home-hero-visual > header strong,
.home-hero-visual > header h2,
.home-hero-visual > header h3 {
  color: #175f53;
}
.home-hero-visual > header em {
  color: #5f704f;
  background: #f4e5d8;
}
.home-visual-grid line {
  stroke: #cee0d8;
}
.home-visual-axis {
  stroke: #779f90;
}
.home-visual-line {
  stroke: #16806d;
}
.home-hero-visual svg circle {
  fill: #fffdf7;
  stroke: #16806d;
}
.home-cap-map,
.home-all-sheets {
  background: #fffdf7 !important;
}
.home-featured {
  background: #e8f2ed !important;
}
.home-cap-grid,
.home-feature-grid {
  border-top-color: #b8d3c7 !important;
}
.home-cap-grid > a,
.home-feature-grid > a,
.home-sheet-directory a {
  border-bottom-color: #cbded5 !important;
}
.home-cap-grid > a > span,
.home-cap-grid > a > em,
.home-feature-grid > a > span,
.home-feature-grid > a > b {
  color: var(--ui-primary) !important;
}
.home-cap-grid > a > strong,
.home-feature-grid > a > h3,
.home-sheet-directory h3 {
  color: var(--ui-ink) !important;
}
.home-cap-grid > a > p,
.home-feature-grid > a > p,
.home-sheet-directory a {
  color: var(--ui-copy) !important;
}
.home-feature-grid > a.home-feature-main {
  background:
    radial-gradient(circle at 88% 12%, rgba(37, 148, 119, .17), transparent 34%),
    linear-gradient(135deg, #dcefe6, #f8f3e8) !important;
  border-left-color: var(--ui-primary) !important;
}
.home-feature-grid > a.home-feature-main:hover {
  background:
    radial-gradient(circle at 88% 12%, rgba(37, 148, 119, .23), transparent 34%),
    linear-gradient(135deg, #d6ece1, #fbf4e7) !important;
}
.home-feature-grid > a.home-feature-main > span {
  color: var(--ui-accent) !important;
}
.home-feature-grid > a.home-feature-main > h3 {
  color: #174f47 !important;
}
.home-feature-grid > a.home-feature-main > p {
  color: #365f58 !important;
}
.home-feature-grid > a.home-feature-main > b {
  color: var(--ui-primary-dark) !important;
}
.home-sheet-directory h3 {
  border-bottom-color: #9fc7b6 !important;
}

/* Project heroes and compact overview */
.sheet-index-hero,
.sheet-hero,
.as-page-intro,
.as-about-hero,
.method-hero,
.contact-hero,
.search-hero,
.flow-hero,
.guide-hero {
  background:
    radial-gradient(circle at 84% 12%, rgba(38, 153, 124, .16), transparent 28%),
    linear-gradient(135deg, #e8f3ed, #fbf3e7) !important;
  border-bottom-color: var(--ui-line) !important;
}
.sheet-hero {
  background:
    radial-gradient(circle at 86% 12%, rgba(37, 150, 121, .13) 0 92px, transparent 93px),
    linear-gradient(125deg, #f4f8f3 0%, #e5f1eb 100%) !important;
}
.sheet-breadcrumb,
.sheet-breadcrumb a,
.as-page-intro nav,
.as-about-hero nav,
.method-hero nav,
.flow-hero nav,
.guide-hero nav {
  color: #4f7169 !important;
}
.sheet-overview {
  color: var(--ui-ink);
  background:
    linear-gradient(90deg, rgba(19, 125, 108, .08), transparent 36%),
    #f2f8f4;
  border-top-color: #58a18a;
  border-bottom-color: #c4dbd1;
}
.sheet-overview-eyebrow,
.sheet-overview-copy > span,
.sheet-visual > header > div > span {
  color: var(--ui-accent) !important;
}
.sheet-overview-copy > h2,
.sheet-visual > header > div > h3,
.sheet-visual figcaption strong,
.sheet-visual > header strong,
.sheet-visual > header h3 {
  color: #174f47 !important;
}
.sheet-overview-copy > p,
.sheet-overview-purpose > p {
  color: var(--ui-copy) !important;
}
.sheet-overview-purpose::before {
  background: linear-gradient(180deg, var(--ui-primary), #94cbb7);
}
.sheet-overview-meta,
.sheet-overview-meta > div,
.sheet-overview-meta > div:nth-child(2n),
.sheet-visual,
.sheet-chart-legend {
  border-color: #cbded5;
}
.sheet-overview-meta dt,
.sheet-visual > figcaption,
.sheet-visual > figcaption > span {
  color: #58756e !important;
}
.sheet-overview-meta dd {
  color: #294d48;
}
.sheet-summary {
  border-left-color: #9fc7b6 !important;
}
.sheet-summary > span,
.sheet-summary > p,
.sheet-summary dt {
  color: #55736b !important;
}
.sheet-summary > strong {
  color: var(--ui-primary) !important;
}
.sheet-summary dl div {
  border-top-color: #c6dbd2 !important;
}
.sheet-primary,
.sheet-actions a:first-child {
  border-color: var(--ui-primary) !important;
}

/* Scientific visuals */
.sheet-chart,
.sheet-visual--chromatogram .sheet-chart,
.sheet-visual--trend .sheet-chart,
.sheet-visual--spectrum .sheet-chart,
.sheet-visual--bars .sheet-chart,
.sheet-visual--composition .sheet-chart {
  background:
    repeating-linear-gradient(to top, rgba(74, 132, 114, .13) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, rgba(255, 254, 248, .72), rgba(223, 240, 232, .26));
  border-color: #78a994;
}
.sheet-chart-grid line {
  stroke: #d2e3db;
}
.sheet-chart-axis {
  stroke: #789f90;
}
.sheet-chart-axis-label {
  fill: #58756d !important;
}
.sheet-chart-mark,
.sheet-chart-mark-1,
.sheet-chart-key-1 {
  fill: #137d6c;
  background: #137d6c;
}
.sheet-chart-mark-2,
.sheet-chart-key-2 {
  fill: #3e9981;
  background: #3e9981;
}
.sheet-chart-mark-3,
.sheet-chart-key-3 {
  fill: #6ab49b;
  background: #6ab49b;
}
.sheet-chart-mark-4,
.sheet-chart-key-4 {
  fill: #93ccb7;
  background: #93ccb7;
}
.sheet-chart-mark-5,
.sheet-chart-key-5 {
  fill: #bddfd1;
  background: #bddfd1;
}
.sheet-chart-track {
  fill: #dcebe4;
}
.sheet-chart-line,
.sheet-chart-chromatogram {
  stroke: #137d6c;
}
.sheet-chart-point {
  fill: #fffdf7;
  stroke: #137d6c;
}
.sheet-chart-stick {
  stroke: #4b9f87;
}
.sheet-chart-stick-tip {
  fill: #0b574e;
}
.sheet-chart-value {
  fill: #285c52 !important;
}
.sheet-chart-legend > * {
  color: #4e7067;
}

/* Filters, tables and repeated information */
.sheet-facet-panel {
  background: #edf6f1 !important;
  border-color: #c9ddd4 !important;
}
.sheet-facet-buttons button {
  color: #315c54 !important;
  border-color: #c4dbd1 !important;
}
.sheet-facet-buttons em {
  color: var(--ui-primary-dark) !important;
  background: #d8ebe2 !important;
}
.sheet-facet-buttons small,
.sheet-subfilter > span,
.sheet-toolbar > span {
  color: #526f68 !important;
}
.sheet-toolbar label {
  background: #fbfdf9 !important;
  border-color: #c5dbd1 !important;
}
.sheet-table-wrap {
  border-color: #c8ddd3 !important;
  box-shadow: 0 8px 25px rgba(17, 77, 69, .04);
}
.sheet-table td,
.table td,
.table-service td {
  color: #31544f !important;
  border-color: #dce9e3 !important;
}
.sheet-table tr:nth-child(even) td {
  background: #f5f9f6 !important;
}
.sheet-table tr:hover td {
  background: #e9f4ee !important;
}
.sheet-mobile-list article,
.sheet-card,
.sheet-related-grid > a,
.as-process-grid li,
.as-proof-grid article,
.as-values-grid article,
.as-support-grid > a,
.guide-principle-grid article,
.indicator-question-grid article {
  border-color: #cbded5 !important;
}
.sheet-card {
  color: inherit !important;
}
.sheet-related,
.as-proof {
  background: #e8f2ed !important;
}
.intro-quote {
  color: #355b54 !important;
  background: #edf6f1 !important;
}

/* Footer and consultation entry */
.as-footer {
  color: #dcebe5 !important;
  background: var(--ui-dark) !important;
}
.as-footer-lead > div > span {
  color: var(--ui-accent-soft) !important;
}
.as-footer-lead > a {
  color: #fff !important;
  background: var(--ui-accent) !important;
}
.as-footer .as-brand-light em,
.as-footer-brand > p,
.as-footer-col > a,
.as-footer-contact > p,
.as-footer-bottom p,
.as-footer-bottom a {
  color: #c8ddd5 !important;
}
.service-dock {
  border-color: #bcd6ca !important;
  box-shadow: 0 14px 38px rgba(17, 77, 69, .16) !important;
}
.service-dock-head {
  background: linear-gradient(135deg, var(--ui-primary-dark), var(--ui-primary)) !important;
}
.service-dock-list a {
  color: #285c52 !important;
  background: #edf6f1 !important;
}
.service-dock-list i {
  color: #fff !important;
  background: #55a28a !important;
}

html body .embed-chat-header {
  background: linear-gradient(90deg, var(--ui-primary-dark), var(--ui-primary)) !important;
}
html body .embed-hot-issue-icon {
  background: var(--ui-primary) !important;
}
html body .embed-icon-default.embed-icon-pcIcon3 {
  display: flex !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  letter-spacing: .04em;
  background-image: none !important;
  background: linear-gradient(90deg, var(--ui-primary-dark), var(--ui-primary)) !important;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 5px 0 0 5px;
  box-shadow: 0 8px 22px rgba(17, 77, 69, .18);
  align-items: center;
  justify-content: center;
}
html body .embed-icon-default.embed-icon-pcIcon3::before {
  content: "在线咨询";
  color: #fff;
}

@media (max-width: 900px) {
  .as-nav {
    background: var(--ui-surface) !important;
  }
  .as-nav-dropdown > .as-mega {
    background: #f1f7f3 !important;
  }
  .home-hero-visual {
    border-top-color: #b7d2c6;
  }
}

@media (max-width: 640px) {
  .sheet-hero {
    background:
      radial-gradient(circle at 100% 0, rgba(37, 150, 121, .12) 0 76px, transparent 77px),
      linear-gradient(125deg, #f4f8f3 0%, #e5f1eb 100%) !important;
  }
  .sheet-overview-meta,
  .sheet-overview-meta > div,
  .sheet-overview-meta > div:nth-child(2n) {
    border-color: #cbded5;
  }
}

/* Project facts should remain readable without a hidden horizontal swipe. */
@media (max-width: 640px) {
  .sheet-overview-meta {
    display: grid;
    overflow: visible;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 0;
  }
  .sheet-overview-meta > div,
  .sheet-overview-meta > div:nth-child(2n) {
    min-width: 0;
    padding: 10px 11px 10px 0;
    border-right: 0;
    border-bottom: 1px solid #cbded5;
    flex: initial;
  }
  .sheet-overview-meta > div:nth-child(2n) {
    padding-right: 0;
    padding-left: 11px;
    border-left: 1px solid #cbded5;
  }
  .sheet-overview-meta dt {
    font-size: 12px;
  }
  .sheet-overview-meta dd {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* Final layout safeguard for the photographic homepage feature. */
.home-feature-grid > a.home-feature-main {
  display: grid !important;
  min-height: 410px !important;
  padding: 0 !important;
  grid-template-columns: minmax(250px, .92fr) minmax(240px, 1.08fr) !important;
  grid-template-rows: 1fr !important;
  align-items: stretch !important;
  flex-direction: initial !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 44px rgba(28, 75, 64, .1) !important;
}
.home-feature-grid > a.home-feature-main:hover {
  box-shadow: 0 20px 50px rgba(28, 75, 64, .14) !important;
}
@media (max-width: 900px) {
  .home-feature-grid > a.home-feature-main {
    min-height: 330px !important;
    padding: 0 !important;
    grid-template-columns: minmax(240px, .9fr) minmax(260px, 1.1fr) !important;
  }
}
@media (max-width: 640px) {
  .home-feature-grid > a.home-feature-main {
    min-height: 0 !important;
    padding: 0 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 158px !important;
    border-radius: 13px !important;
  }
}
