/* Page compositions. Shell, navigation, tokens, and shared CTAs live in custom.css. */

.site-body .home-section {
  margin-top: 68px;
  padding-top: 4px;
}

.site-body .home-section--first { margin-top: 38px; }
.site-body .home-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--sim-line);
}

.site-body #main_content .home-section-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--sim-ink) !important;
  font-size: var(--type-section-title) !important;
  font-weight: 740 !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
}

.site-body .home-section-subtext {
  max-width: 480px;
  color: var(--sim-muted);
  font-size: var(--type-small);
  line-height: 1.55;
  text-align: right;
}

.site-body .showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.site-body .showcase-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-body .showcase-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 230px;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--sim-line);
  border-radius: var(--sim-radius);
  background: var(--sim-surface);
  color: var(--sim-body);
  box-shadow: none;
}
.site-body a.showcase-card { color: var(--sim-body) !important; text-decoration: none !important; border-bottom: 1px solid var(--sim-line) !important; }
.site-body a.showcase-card:hover,
.site-body a.showcase-card:focus-visible {
  border-color: var(--sim-accent) !important;
  background: var(--sim-raised);
  transform: translateY(-2px);
}
.site-body .showcase-card--feature { min-height: 280px; }
.site-body .showcase-card__eyebrow { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 34px; }
.site-body .showcase-pill {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border: 1px solid var(--sim-line);
  border-radius: 999px;
  background: var(--sim-raised);
  color: var(--sim-muted);
  font-size: var(--type-micro);
  font-weight: 760;
  line-height: 1;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.site-body .showcase-pill--experimental { border-color: var(--sim-proof); color: var(--sim-body); background: var(--sim-accent-soft); }
.site-body .showcase-card h3,
.site-body .showcase-card__title {
  margin: 0 0 12px !important;
  color: var(--sim-ink) !important;
  font-size: var(--type-card-title) !important;
  font-weight: 740 !important;
  line-height: 1.2 !important;
  letter-spacing: -.035em !important;
}
.site-body .showcase-card__text,
.site-body .showcase-card > p {
  margin: 0 !important;
  color: var(--sim-muted) !important;
  font-size: var(--type-support) !important;
  line-height: 1.65 !important;
}
.site-body .showcase-card__meta {
  margin-top: auto;
  padding-top: 24px;
  color: var(--sim-muted);
  font-size: var(--type-label);
  font-weight: 720;
  line-height: 1.5;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.site-body #main_content .showcase-card__meta a { color: var(--sim-accent) !important; border: 0 !important; }

/* Homepage: concise metrics-first service presentation. */
.site-body .simao-home { max-width: 1160px; margin: 0 auto; }
.site-body .sh-hero {
  display: block;
  min-height: 0;
  padding: clamp(24px, 3vh, 36px) 0 14px;
  border-bottom: 1px solid var(--sim-line);
}
.site-body .sh-hero__copy { max-width: 930px; }
.site-body .sh-overline,
.site-body #main_content .sh-overline {
  margin: 0 0 22px !important;
  color: var(--sim-muted) !important;
  font-size: var(--type-micro) !important;
  font-weight: 780 !important;
  line-height: 1.3 !important;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.site-body #main_content .sh-hero h1 {
  max-width: 980px;
  margin: 0 !important;
  color: var(--sim-ink) !important;
  font-size: var(--type-home-title) !important;
  font-weight: 760 !important;
  line-height: .93 !important;
  letter-spacing: -.068em !important;
  text-wrap: balance;
}
.site-body #main_content .sh-intro {
  max-width: 780px;
  margin: 20px 0 0 !important;
  color: var(--sim-muted) !important;
  font-size: var(--type-lead) !important;
  line-height: 1.5 !important;
}
.site-body .sh-direct-note {
  max-width: 720px;
  margin: 12px 0 0 !important;
  color: var(--sim-body) !important;
  font-size: var(--type-support) !important;
}
.site-body .sh-direct-note strong { color: var(--sim-ink); }
.site-body .sh-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.site-body .sh-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 7px;
  font-size: var(--type-support);
  font-weight: 760;
  line-height: 1.2;
  text-decoration: none !important;
}
.site-body #main_content .sh-button--solid,
.site-body #main_content .sh-button--solid:visited,
.site-body #main_content .sh-button--solid:hover {
  border: 2px solid var(--sim-fill) !important;
  background: var(--sim-fill) !important;
  color: var(--sim-on-ink) !important;
}
.site-body #main_content .sh-button--outline,
.site-body #main_content .sh-button--outline:visited,
.site-body #main_content .sh-button--outline:hover {
  border: 2px solid var(--sim-ink) !important;
  background: transparent !important;
  color: var(--sim-ink) !important;
}
.site-body .sh-telegram-icon { width: 22px; height: 22px; flex: 0 0 22px; }
.site-body #main_content .sh-caption {
  max-width: 780px;
  margin: 9px 0 0 !important;
  color: var(--sim-muted) !important;
  font-size: var(--type-meta) !important;
  line-height: 1.65 !important;
}
.site-body .sh-section { padding: 72px 0; border-bottom: 1px solid var(--sim-line); }
.site-body .sh-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}
.site-body #main_content .sh-section-header h2,
.site-body #main_content .sh-final h2 {
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--sim-ink) !important;
  font-size: var(--type-section-title) !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: -.06em !important;
}
.site-body #main_content .sh-inline-link,
.site-body #main_content .record-link {
  color: var(--sim-accent) !important;
  font-size: var(--type-meta);
  font-weight: 760;
  letter-spacing: .03em;
  text-decoration: none !important;
  border: 0 !important;
}

.site-body .sh-metrics-grid,
.site-body .sh-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--sim-line); }
.site-body .sh-process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.site-body .sh-metric,
.site-body .sh-process-grid article { min-width: 0; padding: 24px 22px; border-right: 1px solid var(--sim-line); }
.site-body .sh-metric:first-child,
.site-body .sh-process-grid article:first-child { padding-left: 0; }
.site-body .sh-metric:last-child,
.site-body .sh-process-grid article:last-child { padding-right: 0; border-right: 0; }
.site-body .sh-metric,
.site-body .sh-process-grid span { color: var(--sim-muted); font-size: var(--type-micro); font-weight: 760; }
.site-body .sh-metric strong,
.site-body .sh-metric span { display: block; }
.site-body .sh-metric strong {
  color: var(--sim-ink);
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 780;
  letter-spacing: -.07em;
  line-height: .95;
}
.site-body .sh-metric span {
  margin-top: 14px;
  color: var(--sim-muted);
  font-size: var(--type-micro);
  font-weight: 780;
  letter-spacing: .09em;
  line-height: 1.3;
  text-transform: uppercase;
}
.site-body .sh-expertise {
  margin: 22px 0 0 !important;
  color: var(--sim-body) !important;
  font-size: var(--type-support) !important;
  font-weight: 680;
}
.site-body #main_content .sh-process-grid h3 {
  margin: 32px 0 9px !important;
  color: var(--sim-ink) !important;
  font-size: var(--type-card-title) !important;
}
.site-body .sh-process-grid p { margin: 0 !important; color: var(--sim-muted) !important; font-size: var(--type-small) !important; }
.site-body .sh-process-intro { max-width: 760px; padding: 0 0 24px; }
.site-body #main_content .sh-process-intro h3 { margin: 0 0 8px !important; color: var(--sim-ink) !important; font-size: var(--type-card-title) !important; }
.site-body .sh-process-intro p { margin: 0 !important; color: var(--sim-muted) !important; font-size: var(--type-support) !important; line-height: 1.65; }
.site-body .sh-specializations-list { border-top: 1px solid var(--sim-line); }
.site-body #main_content a.sh-specialization-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 28px;
  min-width: 0;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--sim-line) !important;
  color: var(--sim-body) !important;
  text-decoration: none !important;
}
.site-body #main_content a.sh-specialization-row:hover,
.site-body #main_content a.sh-specialization-row:focus-visible {
  color: var(--sim-ink) !important;
  background: var(--sim-raised);
}
.site-body .sh-specialization-row__number,
.site-body .sh-specialization-row__marker {
  color: var(--sim-muted);
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  font-weight: 760;
  letter-spacing: .08em;
}
.site-body .sh-specialization-row__name { min-width: 0; color: var(--sim-ink); font-size: var(--type-support); font-weight: 720; }
.site-body .sh-specialization-row__qualifier { color: var(--sim-muted); font-weight: 580; }
.site-body .sh-specialization-row__marker { justify-self: end; color: var(--sim-accent); font-size: 18px; letter-spacing: 0; }
.site-body .sh-community-notes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.site-body .sh-community-note {
  display: flex;
  min-width: 0;
  min-height: 156px;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  margin: 0;
  padding: 22px;
  border: 1px solid var(--sim-line);
  border-radius: var(--sim-radius);
  background: var(--sim-surface);
}
.site-body #main_content .sh-community-note blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--sim-ink);
}
.site-body #main_content .sh-community-note blockquote p {
  margin: 0 !important;
  color: inherit !important;
  font-size: var(--type-body-size) !important;
  line-height: 1.55 !important;
}
.site-body .sh-community-note figcaption {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.site-body .sh-community-note__avatar {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border: 1px solid var(--sim-line);
  border-radius: 50%;
  background: var(--sim-raised);
  object-fit: cover;
  object-position: center;
}
.site-body .sh-community-note__identity {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}
.site-body .sh-community-note cite {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--sim-muted);
  font-family: var(--font-mono);
  font-size: var(--type-meta);
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
}
.site-body #main_content .sh-community-note figcaption a {
  display: inline-block;
  max-width: 100%;
  color: var(--sim-accent) !important;
  font-size: var(--type-meta);
  font-weight: 760;
  text-decoration: none !important;
}
.site-body #main_content .sh-community-note figcaption a::after { content: none !important; }
.site-body .sh-security-organizations__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 0;
  border-top: 1px solid var(--sim-line);
  border-bottom: 1px solid var(--sim-line);
}
.site-body .sh-security-organization {
  display: flex;
  min-width: 0;
  min-height: 150px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px 12px;
  border-bottom: 1px solid var(--sim-line);
}
.site-body .sh-security-organization__logo-frame {
  display: grid;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--sim-line);
  border-radius: 1px;
  background: var(--sim-raised);
}
.site-body .sh-security-organization__logo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: contain;
  object-position: center;
}
.site-body .sh-security-organization__name {
  max-width: 100%;
  color: var(--sim-ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-align: center;
}
.site-body .sh-final { display: flex; align-items: end; justify-content: space-between; gap: 34px; padding: 76px 0 22px; }
.site-body .sh-final > div:first-child { max-width: 720px; }
.site-body .sh-final p:not(.sh-overline) { margin: 18px 0 12px !important; color: var(--sim-muted) !important; font-size: var(--type-support) !important; }
.site-body .sh-final .sh-actions { flex: 0 0 auto; margin: 0; }

/* Evidence ledger. */
.site-body .hero-actions { margin: 24px 0 0; }
.site-body .evidence-ledger-section { margin-top: 62px; }
.site-body .evidence-ledger-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.site-body .evidence-ledger-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-body .evidence-record {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 26px;
  border: 1px solid var(--sim-line);
  border-radius: var(--sim-radius);
  background: var(--sim-surface);
}
.site-body .evidence-record--featured { border-top: 4px solid var(--sim-proof); }
.site-body #main_content .evidence-record h3 { margin: 4px 0 12px !important; color: var(--sim-ink) !important; font-size: var(--type-card-display) !important; letter-spacing: -.045em !important; }
.site-body .evidence-record > p { max-width: 750px; margin: 0 !important; color: var(--sim-muted) !important; font-size: var(--type-support) !important; }
.site-body .evidence-record__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 22px;
}
.site-body .evidence-ledger-grid--two .evidence-record__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-body .evidence-record__meta div { min-width: 0; padding-top: 11px; border-top: 1px solid var(--sim-line); }
.site-body .evidence-record__meta dt { color: var(--sim-muted); font-size: var(--type-micro); font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.site-body .evidence-record__meta dd { margin: 5px 0 0; color: var(--sim-ink); font-size: var(--type-meta); overflow-wrap: anywhere; }
.site-body .evidence-record .record-link { margin-top: auto; }
.site-body .evidence-link-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0 !important; padding: 0 !important; border-top: 1px solid var(--sim-line); list-style: none !important; }
.site-body .evidence-link-list > li { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--sim-line); list-style: none !important; }
.site-body .evidence-link-list > a,
.site-body .evidence-link-list > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding: 12px 2px;
  color: var(--sim-ink) !important;
  text-decoration: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sim-line) !important;
}
.site-body .evidence-link-list span { color: var(--sim-muted); font-size: var(--type-label); text-align: right; }
.site-body .evidence-link-list--roles { grid-template-columns: 1fr; border-top: 1px solid var(--sim-line); }
.site-body .nda-context { padding: 22px 24px; border-left: 3px solid var(--sim-proof); background: var(--sim-raised); }
.site-body .nda-context p { max-width: 820px; margin: 0 !important; color: var(--sim-muted) !important; font-size: var(--type-support) !important; }

/* Writing archive. */
.site-body .writing-hero { padding: 74px 0 18px; }
.site-body .writing-hero .home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 6px 9px;
  border: 1px solid var(--sim-proof);
  border-radius: 999px;
  background: var(--sim-accent-soft);
  color: var(--sim-body);
  font-size: var(--type-micro);
  font-weight: 780;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.site-body .writing-hero .home-kicker::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--sim-proof); }
.site-body #main_content .writing-hero h1 {
  max-width: 900px;
  margin: 0 !important;
  color: var(--sim-ink) !important;
  font-size: var(--type-feature-title) !important;
  font-weight: 750 !important;
  line-height: .94 !important;
  letter-spacing: -.07em !important;
}
.site-body .writing-hero .home-lead { max-width: 720px; margin: 24px 0 0 !important; color: var(--sim-muted) !important; font-size: var(--type-lead) !important; }
.site-body .writing-feature-grid { display: grid; gap: 14px; }
.site-body .writing-feature-grid--single { grid-template-columns: 1fr; }
.site-body .writing-feature-card {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  min-height: 320px;
  overflow: hidden;
  border: 1px solid var(--sim-line) !important;
  border-radius: var(--sim-radius);
  background: var(--sim-surface);
  color: var(--sim-body) !important;
  text-decoration: none !important;
}
.site-body .writing-feature-card:hover { border-color: var(--sim-accent) !important; }
.site-body .writing-feature-card__image { width: 100%; height: 100%; min-height: 320px; object-fit: cover; background: var(--sim-raised); }
.site-body .writing-feature-card__body { display: flex; flex-direction: column; padding: 28px; }
.site-body .writing-toolbar { margin-bottom: 22px; }
.site-body .blog-tags-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.site-body .blog-tag-btn { min-height: 36px; padding: 7px 11px; border: 1px solid var(--sim-line) !important; border-radius: 999px; background: var(--sim-surface) !important; color: var(--sim-muted) !important; font-size: var(--type-label); font-weight: 700; }
.site-body .blog-tag-btn.active { border-color: var(--sim-fill) !important; background: var(--sim-fill) !important; color: var(--sim-on-ink) !important; }
.site-body #blogSearch { border-color: var(--sim-line) !important; background: var(--sim-surface) !important; color: var(--sim-ink) !important; }
.site-body .paper-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 !important; }
.site-body .writing-archive-card { display: grid !important; grid-template-columns: 112px minmax(0, 1fr); min-height: 170px; padding: 0 !important; overflow: hidden; border: 1px solid var(--sim-line) !important; border-radius: var(--sim-radius) !important; background: var(--sim-surface) !important; }
.site-body .writing-archive-card.hidden { display: none !important; }
.site-body .writing-archive-card__image { width: 100%; height: 100%; min-height: 170px; object-fit: cover; background: var(--sim-raised); }
.site-body .writing-archive-card__body { min-width: 0; padding: 17px; }
.site-body .writing-archive-card .paper-title { color: var(--sim-ink) !important; font-size: var(--type-card-title) !important; }
.site-body .writing-archive-card .paper-excerpt { color: var(--sim-muted) !important; font-size: var(--type-meta) !important; }
.site-body .blog-no-results { display: none; grid-column: 1 / -1; padding: 26px; color: var(--sim-muted); text-align: center; }
.site-body .blog-no-results.visible { display: block; }

/* Development and talks. */
.site-body .development-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-body .development-card--primary { grid-row: span 2; min-height: 474px; }
.site-body .talk-records { display: grid; grid-template-columns: .8fr 1.2fr; gap: 14px; }
.site-body .talk-record iframe { width: 100%; margin: 24px 0 0; border: 0; border-radius: 6px; aspect-ratio: 16 / 9; background: var(--sim-sunk); }
.site-body .talk-record--video { min-height: 0; }

/* Branded 404. */
.site-body .not-found-page { display: flex; min-height: min(680px, calc(100vh - 80px)); flex-direction: column; justify-content: center; padding: 70px 0; }
.site-body #main_content .not-found-page h1 { max-width: 800px; margin: 0 !important; color: var(--sim-ink) !important; font-size: var(--type-feature-title) !important; line-height: .9 !important; letter-spacing: -.075em !important; }
.site-body .not-found-page > p:not(.sh-overline) { max-width: 580px; margin: 22px 0 0 !important; color: var(--sim-muted) !important; font-size: var(--type-body-size) !important; }
.site-body .not-found-page__links { display: flex; gap: 18px; margin-top: 28px; }
.site-body #main_content .not-found-page__links a { color: var(--sim-muted) !important; border: 0 !important; font-size: 12px; font-weight: 720; }

@media (max-width: 1050px) {
  .site-body .showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-body .sh-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-body .sh-process-grid article { border-bottom: 1px solid var(--sim-line); }
  .site-body .sh-process-grid article:nth-child(2) { padding-right: 0; border-right: 0; }
  .site-body .sh-process-grid article:nth-child(3) { padding-left: 0; }
  .site-body .sh-process-grid article:nth-child(n+3) { border-bottom: 0; }
  .site-body .evidence-record__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .site-body .home-section { margin-top: 54px; }
  .site-body .home-section-header,
  .site-body .sh-section-header { display: block; }
  .site-body .home-section-subtext { max-width: 620px; margin-top: 10px; text-align: left; }
  .site-body .sh-security-organizations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-body .sh-inline-link { display: inline-block; margin-top: 14px; }
  .site-body .sh-hero { min-height: auto; padding: 18px 0 12px; }
  .site-body .sh-overline { margin-bottom: 16px !important; }
  .site-body #main_content .sh-hero h1 { font-size: var(--type-home-title-mobile) !important; }
  .site-body #main_content .sh-intro { margin-top: 12px !important; font-size: var(--type-lead-mobile) !important; line-height: 1.5 !important; }
  .site-body .sh-direct-note { margin-top: 9px !important; font-size: var(--type-small) !important; line-height: 1.5 !important; }
  .site-body .sh-actions { margin-top: 14px; }
  .site-body #main_content .sh-caption { margin-top: 8px !important; font-size: var(--type-label) !important; line-height: 1.5 !important; }
  .site-body .sh-section { padding: 40px 0; }
  .site-body .sh-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-body .sh-metric:nth-child(2) { border-right: 0; }
  .site-body .sh-metric:nth-child(-n+2) { border-bottom: 1px solid var(--sim-line); }
  .site-body .sh-final { display: block; padding-top: 58px; }
  .site-body .sh-final .sh-actions { margin-top: 26px; }
  .site-body .evidence-ledger-grid--two,
  .site-body .evidence-link-list,
  .site-body .paper-list,
  .site-body .development-grid,
  .site-body .talk-records { grid-template-columns: 1fr; }
  .site-body .development-card--primary { grid-row: auto; min-height: 300px; }
  .site-body .writing-feature-card { grid-template-columns: 1fr; }
  .site-body .writing-feature-card__image { height: 230px; min-height: 230px; }
}

@media (max-width: 560px) {
  .site-body #main_content .sh-hero h1 { font-size: var(--type-home-title-mobile) !important; }
  .site-body .sh-actions { flex-direction: column; }
  .site-body .sh-button { width: 100%; }
  .site-body .showcase-grid,
  .site-body .showcase-grid--two { grid-template-columns: 1fr; }
  .site-body .evidence-record__meta,
  .site-body .evidence-ledger-grid--two .evidence-record__meta { grid-template-columns: 1fr; }
  .site-body .sh-metrics-grid { grid-template-columns: 1fr; }
  .site-body .sh-metric,
  .site-body .sh-metric:nth-child(-n+2) { padding: 21px 0; border-right: 0; border-bottom: 1px solid var(--sim-line); }
  .site-body .sh-metric:last-child { border-bottom: 0; }
  .site-body .sh-process-grid { grid-template-columns: 1fr; }
  .site-body .sh-process-grid article,
  .site-body .sh-process-grid article:first-child,
  .site-body .sh-process-grid article:nth-child(2),
  .site-body .sh-process-grid article:nth-child(3),
  .site-body .sh-process-grid article:last-child { padding: 21px 0; border-right: 0; border-bottom: 1px solid var(--sim-line); }
  .site-body .sh-process-grid article:last-child { border-bottom: 0; }
  .site-body .sh-community-notes__grid { grid-template-columns: 1fr; }
  .site-body .sh-community-note { min-height: 0; padding: 20px; }
  .site-body .sh-security-organization { min-height: 132px; padding: 18px 8px; }
  .site-body .sh-security-organization__logo-frame { width: 64px; height: 64px; flex-basis: 64px; }
  .site-body .evidence-link-list > a,
  .site-body .evidence-link-list > li > a { align-items: flex-start; flex-direction: column; gap: 4px; }
  .site-body .evidence-link-list span { text-align: left; }
  .site-body .writing-archive-card { grid-template-columns: 92px minmax(0, 1fr); }
  .site-body .writing-archive-card .paper-excerpt { display: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .site-body .showcase-card,
  .site-body .writing-feature-card,
  .site-body .sh-button,
  .site-body .cta-btn { transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease; }
}

/* Page composition for the warm-paper system. The dark final block acts as
   the closing signal; electric green is reserved for its accent and action. */
.site-body .simao-home .sh-hero {
  background-image: linear-gradient(to right, var(--sim-grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--sim-grid-line) 1px, transparent 1px);
  background-size: 32px 32px;
  background-position: 0 0;
}

.site-body .simao-home .sh-metrics {
  background: var(--sim-surface);
}

.site-body .simao-home .sh-process {
  background: var(--sim-raised);
}

.site-body #main_content .simao-home .sh-final {
  margin-top: 0;
  padding: 76px 34px 34px;
  background: var(--sim-shell-bg);
  color: var(--sim-shell-ink);
}

.site-body #main_content .simao-home .sh-final h2 {
  color: var(--sim-shell-ink) !important;
}

.site-body #main_content .simao-home .sh-final p:not(.sh-overline) {
  color: var(--sim-shell-muted) !important;
}

.site-body #main_content .simao-home .sh-final .sh-overline {
  color: var(--sim-shell-accent) !important;
}

.site-body #main_content .simao-home .sh-final .sh-inline-link {
  color: var(--sim-shell-accent) !important;
}

.site-body #main_content .simao-home .sh-final .sh-button--solid,
.site-body #main_content .simao-home .sh-final .sh-button--solid:visited,
.site-body #main_content .simao-home .sh-final .sh-button--solid:hover {
  border-color: var(--sim-shell-accent) !important;
  background: var(--sim-shell-accent) !important;
  color: var(--sim-shell-bg) !important;
}

.site-body #main_content .simao-home .sh-final .sh-button--outline,
.site-body #main_content .simao-home .sh-final .sh-button--outline:visited,
.site-body #main_content .simao-home .sh-final .sh-button--outline:hover {
  border-color: var(--sim-shell-muted) !important;
  background: transparent !important;
  color: var(--sim-shell-ink) !important;
}

@media (max-width: 560px) {
  .site-body #main_content .simao-home .sh-final { padding: 58px 20px 24px; }
}

/* Editorial security-dossier composition. Keep the existing four homepage
   blocks, but make the hierarchy read as practice, evidence, process, and
   contact rather than as a product landing page. */
.site-body .simao-home .sh-hero {
  background-image: none;
  padding-top: clamp(34px, 6vh, 76px);
  padding-bottom: 30px;
}

.site-body .simao-home .sh-hero__copy {
  max-width: 900px;
}

.site-body .simao-home .sh-intro {
  max-width: 740px;
  color: var(--sim-body) !important;
}

.site-body .simao-home .sh-direct-note {
  max-width: 680px;
  padding-left: 14px;
  border-left: 2px solid var(--sim-proof);
}

.site-body .simao-home .sh-button {
  border-radius: var(--sim-radius) !important;
}

.site-body .simao-home .sh-section {
  padding-top: 64px;
  padding-bottom: 64px;
}

.site-body .simao-home .sh-section-header {
  padding-bottom: 18px;
  border-bottom-color: var(--sim-line);
}

.site-body .simao-home .sh-overline {
  color: var(--sim-accent) !important;
  letter-spacing: .16em;
}

.site-body .simao-home .sh-metrics {
  background: var(--sim-surface);
}

.site-body .simao-home .sh-metrics-grid {
  border-top-color: var(--sim-line);
  border-bottom: 1px solid var(--sim-line);
}

.site-body .simao-home .sh-metric {
  padding-top: 21px;
  padding-bottom: 21px;
}

.site-body .simao-home .sh-metric strong {
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  letter-spacing: -.06em;
}

.site-body .simao-home .sh-metric span {
  margin-top: 11px;
  letter-spacing: .12em;
}

.site-body .simao-home .sh-expertise {
  max-width: 680px;
  margin-top: 20px !important;
  color: var(--sim-accent) !important;
}

.site-body .simao-home .sh-context-bridge {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  max-width: 900px;
  margin-top: 28px;
  border-top: 1px solid var(--sim-line);
  border-bottom: 1px solid var(--sim-line);
}

.site-body .simao-home .sh-context-bridge__item {
  min-width: 0;
  padding: 18px 24px 18px 0;
}

.site-body .simao-home .sh-context-bridge__item + .sh-context-bridge__item {
  padding-left: 24px;
  border-left: 1px solid var(--sim-line);
}

.site-body .simao-home .sh-context-bridge p {
  margin: 0;
  color: var(--sim-muted);
  font-size: var(--type-small);
  line-height: 1.55;
}

.site-body .simao-home .sh-context-bridge .sh-context-bridge__label {
  margin-bottom: 8px;
  color: var(--sim-ink);
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  font-weight: 760;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.site-body .simao-home .sh-process {
  background: var(--sim-raised);
}

.site-body .simao-home .sh-process-grid {
  border-top-color: var(--sim-line);
}

.site-body .simao-home .sh-process-grid article {
  padding-top: 21px;
  padding-bottom: 21px;
}

.site-body .simao-home .sh-process-grid span {
  color: var(--sim-accent) !important;
  font-family: var(--font-mono);
  letter-spacing: .08em;
}

.site-body .simao-home .sh-process-grid h3 {
  margin-top: 24px !important;
}

.site-body #main_content .simao-home .sh-final {
  margin-top: 0;
  border-top: 1px solid var(--sim-proof);
  border-radius: var(--sim-radius);
  padding: 64px 34px 30px;
}

.site-body #main_content .simao-home .sh-final .sh-overline {
  color: var(--sim-shell-accent) !important;
}

@media (max-width: 760px) {
  .site-body .simao-home .sh-hero {
    padding-top: 28px;
    padding-bottom: 24px;
  }

  .site-body .simao-home .sh-section {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .site-body .simao-home .sh-metric {
    padding-top: 19px;
    padding-bottom: 19px;
  }

  .site-body .simao-home .sh-context-bridge {
    grid-template-columns: 1fr;
  }

  .site-body .simao-home .sh-context-bridge__item,
  .site-body .simao-home .sh-context-bridge__item + .sh-context-bridge__item {
    padding: 16px 0;
    border-left: 0;
  }

  .site-body .simao-home .sh-context-bridge__item + .sh-context-bridge__item {
    border-top: 1px solid var(--sim-line);
  }
}

@media (max-width: 560px) {
  .site-body .simao-home .sh-hero {
    padding-top: 22px;
    padding-bottom: 18px;
  }

  .site-body #main_content .simao-home .sh-final {
    border-radius: var(--sim-radius);
    padding: 48px 20px 24px;
  }
}

/* Protocol logo index. Keep the marks quiet and legible on the paper surface. */
.site-body .simao-home .sh-protocol-work {
  background: var(--sim-surface);
}

.site-body #main_content .sh-protocol-work__title {
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--sim-muted) !important;
  font-size: 16px !important;
  font-weight: 720 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.site-body .simao-home .sh-protocol-work__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 0;
  border-top: 1px solid var(--sim-line);
  border-bottom: 1px solid var(--sim-line);
}

.site-body #main_content a.sh-protocol-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 132px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 22px 10px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: var(--sim-ink) !important;
  text-decoration: none !important;
}

.site-body #main_content a.sh-protocol-card:hover,
.site-body #main_content a.sh-protocol-card:focus-visible {
  border-color: transparent !important;
  background: var(--sim-raised) !important;
  color: var(--sim-ink) !important;
}

.site-body #main_content a.sh-protocol-card:focus-visible {
  outline: 2px solid var(--sim-shell-accent);
  outline-offset: -3px;
}

.site-body .sh-protocol-card__logo-frame {
  display: grid;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  place-items: center;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 1px;
  background: transparent;
}

.site-body .sh-protocol-card--raised .sh-protocol-card__logo-frame {
  border-color: var(--sim-line);
  background: var(--sim-raised);
}

.site-body .sh-protocol-card__logo {
  display: block;
  max-width: 100%;
  width: 100%;
  height: 100%;
  max-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  object-fit: contain;
  object-position: center;
}

.site-body .sh-protocol-card__name {
  max-width: 100%;
  overflow: hidden;
  color: var(--sim-ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-body .sh-protocol-card__logo--wordmark {
  filter: none;
}

@media (max-width: 760px) {
  .site-body .simao-home .sh-protocol-work__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .site-body .simao-home .sh-protocol-work__grid { column-gap: 12px; }
  .site-body #main_content a.sh-protocol-card {
    min-height: 118px;
    padding: 16px 8px;
  }
  .site-body .sh-protocol-card__logo-frame {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }
}
