/* Semantic rich text inherits the existing Node appearance without editor classes. */
main#g-main.ohdsi-editorial-sequence { padding-top: 20px; }
.ohdsi-editorial-sequence .ohdsi-editorial-node .ohdsi-eu-node-header { margin-bottom: 0; }
.ohdsi-editorial-sequence .ohdsi-eu-node-page .nn-home-snapshot-title { margin-top: calc(30px - 1.25rem); }
/* The native card's 12px top margin must not defeat the split-particle
   gutter compensation on the title through margin collapse. */
.ohdsi-editorial-sequence .ohdsi-eu-node-page .nn-home-snapshot-card { margin-top: 0; }
.ohdsi-editorial-sequence .ohdsi-eu-node-page .nn-home-section--snapshot { margin-bottom: calc(26px - 1.25rem); }
.ohdsi-editorial-sequence > .g-container > .g-grid:has(.ohdsi-editorial-column) { margin-bottom: calc(24px - 1.25rem); }
/* Leaving a card grid for a full section uses its native 26px section
   boundary, not the 24px gap between cards. */
.ohdsi-editorial-sequence > .g-container > .g-grid:has(.ohdsi-editorial-column):has(+ .g-grid .nn-home-section--aob) { margin-bottom: calc(26px - 1.25rem); }
/* The full section keeps its 26px closing margin; the following CTA
   keeps its native 24px boundary after subtracting the new Gantry gutter. */
.ohdsi-editorial-sequence > .g-container > .g-grid:has(.nn-home-section--aob):has(+ .g-grid .ohdsi-eu-node-cta) { margin-bottom: calc(24px - 1.25rem); }
/* Replace the original empty bordered panel with a decorative rule, outside
   editor content. Its native border thickness participates in layout. */
.ohdsi-editorial-sequence > .g-container > .g-grid:has(+ .g-grid .ohdsi-eu-node-cta) .nn-home-section--aob { margin-bottom: 0; }
.ohdsi-editorial-sequence > .g-container > .g-grid:has(+ .g-grid .ohdsi-eu-node-cta) .nn-home-section--aob::after {
  content: "";
  display: block;
  margin-top: 24px;
  border: 1px solid var(--nn-border);
  border-radius: 16px;
  box-shadow: var(--nn-shadow);
}
/* Preserve the article's closing 26px and inherited 20px spacer row,
   including its native Gantry padding and margins, without editor HTML. */
.ohdsi-editorial-sequence:has(.ohdsi-editorial-node) > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }
.ohdsi-editorial-sequence:has(.ohdsi-editorial-banner-spacious) > .g-container { padding-bottom: calc(46px + 3.125rem); --ohdsi-bottom-surface: calc(46px + 3.125rem); }
.nn-home-card--join .ohdsi-editorial-body ul > li { margin-bottom: 8px; }
.ohdsi-editorial-node .ohdsi-editorial-lead > p {
  max-width: 1180px;
  color: var(--nn-soft);
  line-height: 1.72;
  margin: 0 0 14px;
  font-size: 1rem;
}
/* Split editorial particles have no native article-level inner gutter.
   Keep this reset stronger than the later mobile dark-mode 28px rule. */
.ohdsi-eu-node-page.ohdsi-editorial-content .ohdsi-eu-node-page__inner,
html.ohdsi-dark-mode .ohdsi-eu-node-page.ohdsi-editorial-content .ohdsi-eu-node-page__inner { padding-top: 0; }
.g-grid:has(.ohdsi-editorial-column) > .g-block { display: flex; }
.g-grid:has(.ohdsi-editorial-column) > .g-block > .g-content { display: flex; flex: 1; min-width: 0; }
.ohdsi-editorial-column { flex: 1; min-width: 0; }
.ohdsi-editorial-column > .row,
.ohdsi-editorial-column > .row > .col,
.ohdsi-editorial-column > .row > .col > section,
.ohdsi-editorial-column .ohdsi-eu-node-page__inner { height: 100%; }
.ohdsi-editorial-body p {
  color: var(--ohdsi-font-color-primary);
  line-height: 1.6;
  margin: 10px 0;
}
.who-content .ohdsi-editorial-body > p:first-child:not(:has(> strong:only-child)) { margin-bottom: 22px; }
/* Semantic paragraph/list groups retain the native subblock rhythm.
   The original terminal subblock also reserves 22px; let that margin
   collapse with the final list-item margin rather than adding a spacer. */
.ohdsi-editorial-body > ul + p:has(> strong:only-child) { margin-top: 22px; }
.ohdsi-editorial-column .ohdsi-editorial-body--spacious > ul:last-child { margin-bottom: 22px; }
@media (min-width: 48rem) {
  .g-grid:has(> .g-block + .g-block):has(.ohdsi-editorial-column) { padding-inline: calc(1.375rem - 12px); }
  .g-grid:has(> .g-block + .g-block):has(.ohdsi-editorial-column) > .g-block > .g-content { margin-inline: calc(12px - .75rem); }
}
/* Match the approved Node grid's tablet breakpoint, not Gantry's 48rem default. */
@media (max-width: 1000px) {
  .ohdsi-editorial-sequence .g-grid:has(.ohdsi-editorial-column) {
    display: flex;
    flex-wrap: wrap;
    row-gap: calc(24px - 1.25rem);
  }
  .ohdsi-editorial-sequence .g-grid:has(.ohdsi-editorial-column) > .g-block {
    flex: 0 1 100%;
    max-width: 100%;
    width: 100%;
  }
}
.ohdsi-editorial-body ul { list-style: none; margin: 0; padding: 0; }
.ohdsi-editorial-body ul > li {
  position: relative;
  padding-left: 18px;
  margin: 0 0 10px;
  color: var(--ohdsi-font-color-secondary);
  line-height: 1.58;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ohdsi-editorial-body ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .82em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(32,66,90,.55);
  transform: translateY(-50%);
}
.ohdsi-editorial-body img { max-width: 100%; height: auto; }
.ohdsi-editorial-body a { overflow-wrap: anywhere; }
.ohdsi-editorial-guide-intro > p { margin: 0; font: inherit; color: inherit; line-height: inherit !important; }
.ohdsi-editorial-resource-body > p { margin: 0; font: inherit; color: inherit; line-height: inherit !important; }
.ohdsi-editorial-resource-body > p + p { margin-top: 10px; }
.ohdsi-editorial-resource-body strong > a { font-weight: inherit; }
.ohdsi-editorial-resource-body a { overflow-wrap: anywhere; }
.ohdsi-guide-heading > .ohdsi-aboutStart { width: 100%; }
.ohdsi-editorial-guide-sequence .ohdsi-guide-heading { margin-bottom: 0; }
.ohdsi-editorial-guide-sequence .ohdsi-guide-heading .ohdsi-eu-content__info-text { margin-bottom: 0; }
.ohdsi-gi-sponsor .ohdsi-guide-heading .gi-intro,
.ohdsi-gi-nationalnode .ohdsi-guide-heading .gi-intro { margin-bottom: 0 !important; }
.ohdsi-editorial-guide-sequence > .g-container > .g-grid:has([data-ohdsi-guide-block]) + .g-grid:has([data-ohdsi-guide-block]) { margin-top: -1.25rem; }
.ohdsi-editorial-guide-sequence > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }
.ohdsi-editorial-guide-sequence .ohdsi-editorial-guidelines > p:last-of-type { margin: 0 0 20px; max-width: 980px; font-size: 1rem !important; line-height: 1.76 !important; color: var(--ohdsi-font-color-primary); }
.ohdsi-editorial-guidelines > ul { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0 0 22px; padding: 0; max-width: 920px; list-style: none; }
.ohdsi-gi-nationalnode .ohdsi-editorial-guidelines > ul { max-width: none; }
.ohdsi-editorial-guidelines > ul > li { position: relative; padding: 15px 0 15px 32px; border-bottom: 1px solid rgba(32,66,90,.08); color: var(--ohdsi-font-color-primary); line-height: 1.55; font-size: 1.02rem; }
.ohdsi-editorial-guidelines > ul > li:first-child { border-top: 1px solid rgba(32,66,90,.08); }
.ohdsi-editorial-guidelines > ul > li::before { content: ''; position: absolute; left: 4px; top: calc(19px + .18em); width: 10px; height: 10px; border-radius: 999px; background: var(--ohdsi-yellow); box-shadow: 0 0 0 5px rgba(212,159,0,.14); }
.ohdsi-editorial-body > p:has(> img:only-child) { display: contents; }
html.ohdsi-dark-mode .ohdsi-editorial-body p,
html.ohdsi-dark-mode .ohdsi-editorial-body li { color: var(--ohdsi-font-color-primary); }
/* Adjacent Events particles form the same continuous surface as the article.
   Remove only the duplicated inner padding and Gantry gutter at that seam. */
.g-grid:has(.ohdsi-editorial-event-intro):has(+ .g-grid .ohdsi-editorial-accordion) .ohdsi-community-calls-page { padding-bottom: 0; }
.g-grid:has(.ohdsi-editorial-event-intro) + .g-grid:has(.ohdsi-editorial-accordion) { margin-top: -1.25rem; }
.g-grid:has(.ohdsi-editorial-event-intro) + .g-grid .ohdsi-editorial-accordion .ohdsi-community-calls-page { padding-top: 0; }
/* TinyMCE wraps a standalone small label in a paragraph. Keep the native label box. */
.ohdsi-editorial-accordion .ohdsi-section__head > p:has(> small:only-child) { display: contents; }
.ohdsi-editorial-accordion .ohdsi-section__head > p > small:only-child { line-height: 1.5; }
/* Retain the native trailing spacer row without putting a spacer in rich text. */
#g-main > .g-container:has(> .g-grid:last-child .ohdsi-editorial-accordion) { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }
/* About blocks share the article's continuous vertical rhythm. Keep horizontal
   Gantry gutters and configured block widths; only join adjacent content rows. */
.ohdsi-editorial-about-sequence .g-content:has(> [data-ohdsi-about-block]) { margin-top: 0; margin-bottom: 0; }
.ohdsi-editorial-about-sequence [data-ohdsi-about-block] .ohdsi-eu-content__block { margin: 0; }
.ohdsi-editorial-about-sequence [data-ohdsi-about-block] .ohdsi-eu-content__info-text { margin: 0; }
.ohdsi-editorial-about-sequence .g-content:has(.ohdsi-mission__header) { margin-top: .625rem; }
.ohdsi-editorial-about-sequence [data-ohdsi-about-block] .ohdsi-eu-content__block:has(.ohdsi-mission__header) { margin-top: 40px; }
.ohdsi-editorial-about-sequence [data-ohdsi-about-block] .ohdsi-block { margin-bottom: 0; }
.ohdsi-editorial-about-sequence .g-grid:last-child .g-content:has(> [data-ohdsi-about-block]) { margin-bottom: .625rem; }
.ohdsi-editorial-about-sequence .g-grid:last-child [data-ohdsi-about-block] .ohdsi-eu-content__block { margin-bottom: 35px; }
.ohdsi-editorial-about-sequence > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }
/* The original list styling depended on pasted data-start/data-end markers.
   The component owns that styling, so editors can replace the list normally. */
[data-ohdsi-about-block] .ohdsi-block ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
[data-ohdsi-about-block] .ohdsi-block ul > li { position: relative; padding-left: 26px !important; margin: 0 0 10px !important; line-height: 1.62; }
[data-ohdsi-about-block] .ohdsi-block ul > li::before { content: ''; position: absolute; left: 0; top: .72em; width: 10px; height: 10px; border-radius: 999px; background: var(--ohdsi-yellow); box-shadow: 0 0 0 4px rgba(212,159,0,.14); transform: translateY(-50%); }
[data-ohdsi-about-block] .ohdsi-block ul > li strong { color: var(--ohdsi-blue); font-weight: 800 !important; }
/* TinyMCE serializes a plain caption as a paragraph. Retain its caption typography. */
.ohdsi-editorial-figure-body > p { margin: 0; color: inherit; font: inherit; line-height: inherit !important; }
.ohdsi-editorial-figure-body > p:only-child { display: contents; }
.ohdsi-editorial-figure-body > p + p { margin-top: 10px; }
.ohdsi-editorial-snapshot-note > p { margin: 0; font: inherit; color: inherit; }
.ohdsi-editorial-partner-note { margin-top: 20px; }
/* Landing-page blocks retain native section margins while removing the new
   gutter and the formerly collapsed preceding bottom margin at each seam. */
.ohdsi-editorial-page-sequence > .g-container > .g-grid:has([data-ohdsi-page-block]) + .g-grid:has([data-ohdsi-page-block]) { margin-top: -1.25rem; }
.ohdsi-editorial-page-sequence > .g-container > .g-grid:has(+ .g-grid [data-ohdsi-page-block]) [data-ohdsi-page-block] section { margin-bottom: 0; }
.ohdsi-editorial-page-sequence > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }
.ohdsi-editorial-page-sequence > .g-container > .g-grid:has(+ .g-grid .ohdsi-upcoming-symposia) [data-ohdsi-page-block] .ohdsi-events { margin-bottom: 27px; }
/* Joining full sections replaces a collapsed native margin: count the 26px
   boundary once, without also adding the logo section's 24px and Gantry gutter. */
.ohdsi-editorial-sequence > .g-container > .g-grid:has(.nn-home-section--aob):has(+ .g-grid .ohdsi-editorial-partners) { margin-bottom: -1.25rem; }
.ohdsi-editorial-sequence .ohdsi-editorial-partners .ohdsi-eu-node-full-width-section { margin-top: 0; }
.ohdsi-editorial-sequence > .g-container > .g-grid:has(.ohdsi-editorial-partners):has(+ .g-grid .ohdsi-eu-node-cta) { margin-bottom: calc(24px - 1.25rem); }
@media only all and (max-width: 64rem) {
  .ohdsi-editorial-about-sequence [data-ohdsi-about-block] .ohdsi-eu-content__block:has(.ohdsi-mission__header) { margin-top: 12px !important; }
}
@media only all and (max-width: 48rem) {
  .ohdsi-editorial-page-sequence .ohdsi-eventsHeader,
  .ohdsi-editorial-page-sequence .ohdsi-involvedHeader { margin-top: 12px !important; }
  .ohdsi-editorial-page-sequence > .g-container > .g-grid:has([data-ohdsi-page-block]) + .g-grid:has([data-ohdsi-page-block]) { padding-top: 18px; }
  .ohdsi-editorial-page-sequence > .g-container > .g-grid:has(+ .g-grid .ohdsi-upcoming-symposia) [data-ohdsi-page-block] .ohdsi-events { margin-bottom: 35px; }
  /* Mobile article sections reserve another 18px at each full-width seam.
     Separate Gantry rows need that space explicitly; card-to-card gaps stay 24px. */
  .ohdsi-editorial-sequence .ohdsi-eu-node-page .nn-home-snapshot-title { margin-top: calc(48px - 1.25rem); }
  .ohdsi-editorial-sequence > .g-container > .g-grid:has(.ohdsi-editorial-column):has(+ .g-grid .nn-home-section--aob) { margin-bottom: calc(44px - 1.25rem); }
  .ohdsi-editorial-sequence > .g-container > .g-grid:has(.nn-home-section--aob):has(+ .g-grid .ohdsi-editorial-partners) { margin-bottom: calc(18px - 1.25rem); }
  .ohdsi-editorial-sequence > .g-container > .g-grid:has(.ohdsi-editorial-partners):has(+ .g-grid .ohdsi-eu-node-cta) { margin-bottom: calc(42px - 1.25rem); }
  /* Separate flex sections contain the mobile article's collapsing margins. */
  .ohdsi-editorial-about-sequence [data-ohdsi-about-block] .ohdsi-eu-content__block:not(:has(.ohdsi-mission__header)) { padding-top: 18px; }
}

/* Keep original closing section space outside editable content. */
.ohdsi-gi-individual > .g-container, .ohdsi-gi-sponsor > .g-container { padding-bottom: calc(55px + 3.125rem); --ohdsi-bottom-surface: calc(55px + 3.125rem); }
.ohdsi-gi-dataholder > .g-container, .ohdsi-gi-nationalnode > .g-container { padding-bottom: calc(30px + 3.125rem); --ohdsi-bottom-surface: calc(30px + 3.125rem); }
.ohdsi-gi-individual .g-grid:has(.ohdsi-guide-checklist) + .g-grid [data-ohdsi-guide-block] { padding-top: 26px; }
.ohdsi-gi-dataholder .g-grid:has(.governance-note) + .g-grid [data-ohdsi-guide-block] { padding-top: 25px; }
.ohdsi-editorial-invitation-body.gi-node-highlight__text > p { margin: 0; font: inherit; line-height: inherit !important; color: inherit; }

/* The highlighted invitation closes the introductory prose section (25px),
   whose native 10px CTA margin collapsed into that boundary. */
.ohdsi-editorial-guide-sequence .g-grid:has(.gi-node-highlight) + .g-grid [data-ohdsi-guide-block] { padding-top: 15px; }
.ohdsi-gi-nationalnode .ohdsi-editorial-guidelines { padding-top: 50px !important; }
/* Native blank-line spacing belongs to the component boundary, not the editor. */
.ohdsi-gi-nationalnode .g-grid:has(.ohdsi-guide-checklist) + .g-grid [data-ohdsi-guide-block] { padding-top: 78px; }

@media only all and (max-width: 48rem) {
  .ohdsi-editorial-guide-sequence .ohdsi-guide-heading { margin-top: 12px !important; }
  .ohdsi-editorial-guide-sequence > .g-container > .g-grid:has([data-ohdsi-guide-block]) + .g-grid:has([data-ohdsi-guide-block]) { padding-top: 18px; }
  .ohdsi-gi-nationalnode .ohdsi-editorial-guidelines { padding-top: 42px !important; }
}

/* Mission sections remain separate movable Gantry blocks, sharing the native
   article rhythm without repeating section margins at every boundary. */
.ohdsi-editorial-mission-sequence .ohdsi-aboutStart { width: 100%; }
.ohdsi-editorial-mission-sequence > .g-container > .g-grid:has(.platform-content) + .g-grid:has(.platform-content) { margin-top: -1.25rem; }
.ohdsi-editorial-mission-sequence [data-ohdsi-about-block] .ohdsi-eu-content__block { margin-bottom: 0; }
.ohdsi-editorial-mission-sequence [data-ohdsi-about-block] h2 { margin-bottom: 0; }
.ohdsi-editorial-mission-sequence [data-ohdsi-mission-block] .ohdsi-eu-content__block { margin: 0; }
.ohdsi-editorial-mission-sequence [data-ohdsi-mission-block] .ohdsi-eu-content__info-text { margin: 25px 0 0; }
.ohdsi-editorial-mission-sequence [data-ohdsi-mission-block] .ohdsi-aboutStart .ohdsi-linedTitle { padding: 0; margin: 6px 0 10px; }
.ohdsi-editorial-mission-sequence .g-grid:has(.ohdsi-mvGrid) + .g-grid [data-ohdsi-mission-block] { padding-top: 26px; }
.ohdsi-editorial-mission-sequence .g-grid:has(.ohdsi-flipTiles) + .g-grid [data-ohdsi-mission-block] { padding-top: 37px; }
.ohdsi-editorial-mission-sequence > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }

.ohdsi-editorial-mission-sequence .g-grid:has(.ohdsi-whyPanel) + .g-grid [data-ohdsi-mission-block] { padding-top: 25px; }

@media only all and (max-width: 48rem) {
  .ohdsi-editorial-mission-sequence [data-ohdsi-about-block] .ohdsi-eu-content__block { margin-top: 12px !important; }
  .ohdsi-editorial-mission-sequence > .g-container > .g-grid:has(.platform-content) + .g-grid:has(.platform-content) { padding-top: 18px; }
}

@media only all and (max-width: 48rem) {
  .collaborations [data-ohdsi-page-block] .ohdsi-eu-content__block { margin-top: 12px !important; }
  .collaborations .g-grid:has([data-ohdsi-page-block]) + .g-grid:has([data-ohdsi-projects]) { padding-top: 18px; }
}

.ohdsi-editorial-archive-sequence .g-grid:has([data-ohdsi-page-block]) + .g-grid:has([data-ohdsi-archive-block]) { padding-top: calc(28px - 1.25rem); }
.ohdsi-editorial-archive-sequence > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }

@media only all and (max-width: 48rem) {
  .ohdsi-editorial-archive-sequence .g-grid:has([data-ohdsi-page-block]) + .g-grid:has([data-ohdsi-archive-block]) { padding-top: calc(46px - 1.25rem); }
}

.ohdsi-editorial-contact-intro > p { margin: 0; font: inherit; line-height: inherit !important; color: inherit; }

.contact [data-ohdsi-page-block] h2 { margin-bottom: 0; }
@media only all and (max-width: 48rem) {
  .contact [data-ohdsi-page-block] .ohdsi-eu-content__block { margin-top: 12px !important; }
}

/* Node overview: native Gantry columns own widths and stack at the framework
   breakpoint; component boundaries replace the former article wrappers. */
.ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-mission__header) { padding-top: 40px; }
.ohdsi-editorial-nodes-overview > .g-container > .g-grid:has([data-ohdsi-nodes-block]) + .g-grid:has([data-ohdsi-nodes-block]) { margin-top: -1.25rem; }
.ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-node-column) { margin-left: 1.375rem; margin-right: 1.375rem; column-gap: 22px; }
.ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-node-column) > .g-block { flex-shrink: 1; min-width: 0; }
.ohdsi-node-column .g-content, .ohdsi-node-column [data-ohdsi-nodes-block], .ohdsi-node-column [data-ohdsi-nodes-block] > .row, .ohdsi-node-column [data-ohdsi-nodes-block] > .row > .col { padding: 0; margin: 0; }
.ohdsi-node-column > .g-container > .g-grid + .g-grid { margin-top: 18px; }
.ohdsi-editorial-nodes-overview .nn-card__text > p:only-child { line-height: inherit !important; }
.ohdsi-editorial-nodes-overview .nn-sideCard__body .ohdsi-editorial-resource-body > p:only-child { display: contents; }
.ohdsi-editorial-nodes-overview > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }

@media only all and (min-width: 48rem) {
  .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-node-column) { flex-wrap: nowrap; }
}

.ohdsi-editorial-nodes-overview .nn-card__text > p { line-height: 1.6 !important; }
.ohdsi-editorial-nodes-overview .nn-card__text > p:only-child { line-height: inherit !important; }
.ohdsi-editorial-nodes-overview .nn-sideCard > p { line-height: 1.6 !important; }
.ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-mission__header) + .g-grid:has([data-ohdsi-nodes-block]) { margin-top: calc(-1.25rem - 14px); }
.ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-node-column) { padding-top: .625rem; }
.ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-node-column) + .g-grid { padding-top: .625rem; }

.ohdsi-editorial-nodes-overview > .g-container { padding-bottom: calc(55px + 3.125rem); --ohdsi-bottom-surface: calc(55px + 3.125rem); }
@media only all and (max-width: 47.99rem) {
 .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-mission__header) { padding-top: 12px; }
 .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-mission__header) + .g-grid { padding-top: 18px; }
 .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-node-column) { padding-top: calc(.625rem + 18px); row-gap: 40px; }
 .ohdsi-node-column > .g-container > .g-grid + .g-grid { margin-top: 36px; }
 .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-node-column) + .g-grid { padding-top: calc(.625rem + 18px); }
}

/* Benefits remain one ordinary editor list; decorative bullets are generated. */
.ohdsi-benefits-list > ul { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0 0 22px !important; padding: 0 !important; max-width: 920px; list-style: none !important; }
.ohdsi-benefits-list > ul > li { text-align: left; position: relative; margin: 0 !important; padding: 15px 0 15px 32px !important; border-bottom: 1px solid rgba(32,66,90,.08); color: var(--ohdsi-font-color-primary); line-height: 1.55; font-size: 1.02rem; }
.ohdsi-benefits-list > ul > li:first-child { border-top: 1px solid rgba(32,66,90,.08); }
.ohdsi-benefits-list > ul > li::before { content: ''; position: absolute; left: 4px; top: calc(19px + .18em); width: 10px; height: 10px; border-radius: 999px; background: var(--ohdsi-yellow); box-shadow: 0 0 0 5px rgba(212,159,0,.14); }
.ohdsi-benefits-list > ul > li > p { margin: 0; font: inherit; line-height: inherit !important; color: inherit; }

/* Home boundaries replace blank article paragraphs and collapsed section margins. */
.ohdsi-editorial-home-sequence .ohdsi-community-summary { padding-bottom: calc(10px + 1.55rem) !important; --ohdsi-bottom-surface: calc(10px + 1.55rem) !important; }
.ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-community-summary) { margin-top: calc(-10px - 1.25rem); }
.ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-home-whyHero2) { padding-top: calc(52px - 1.25rem); }
.ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-home-whyHero2) + .g-grid { padding-top: calc(52px - 1.25rem); }
.ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-community-updates) + .g-grid:has(.ohdsi-community-updates) { padding-top: calc(78px - 1.25rem); }
.ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-impact-projects) { margin-top: -1.25rem; }
.ohdsi-editorial-home-sequence .ohdsi-impact-projects .impact-link { padding-top: 26px; }
.ohdsi-editorial-home-sequence > .g-container { padding-bottom: calc(6px + 3.125rem); --ohdsi-bottom-surface: calc(6px + 3.125rem); }
@media only all and (max-width:48rem) {
 .ohdsi-editorial-home-sequence [data-ohdsi-page-block] .ohdsi-eu-content__block { margin-top: 12px !important; }
 .ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-community-summary) { padding-top: 18px; }
 .ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-home-whyHero2) { padding-top: calc(70px - 1.25rem); }
 .ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-home-whyHero2) + .g-grid { padding-top: calc(70px - 1.25rem); }
 .ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-community-updates) + .g-grid:has(.ohdsi-community-updates) { padding-top: calc(96px - 1.25rem); }
 .ohdsi-editorial-home-sequence > .g-container > .g-grid:has(.ohdsi-impact-projects) { padding-top: 18px; }
}

/* Symposium panels use native Gantry blocks; content keeps the existing component styles. */
.ohdsi-editorial-symposium-sequence [data-ohdsi-event-block] .ohdsi-symp { padding: 0; }
.ohdsi-editorial-symposium-sequence .ohdsi-editorial-event-intro .ohdsi-symp { padding-bottom: 0; }
.ohdsi-editorial-symposium-sequence [data-ohdsi-event-block] .ohdsi-acc { margin-top: 0; }
.ohdsi-editorial-symposium-sequence .g-grid:has([data-ohdsi-event-block]) { margin-top: calc(14px - 1.25rem); }
.ohdsi-editorial-symposium-sequence .g-grid:has(.ohdsi-editorial-event-intro) + .g-grid:has([data-ohdsi-event-block]) { margin-top: calc(18px - 1.25rem); }
.ohdsi-editorial-symposium-sequence > .g-container { padding-bottom: calc(48px + 3.125rem); --ohdsi-bottom-surface: calc(48px + 3.125rem); }
.ohdsi-event-download__action { margin: 0; }
.ohdsi-event-sponsor-image { width: auto; height: auto; display: block; }
.ohdsi-editorial-symposium-2026 .ohdsi-event-sponsor-image { width: 100%; }
.ohdsi-symp .ohdsi-event-download > ul { margin: 0; padding-left: 18px; }
.ohdsi-event-number { width: 70px; }
.ohdsi-event-document { width: 160px; }
.ohdsi-symp .ohdsi-table.ohdsi-event-schedule { min-width: 860px; }
.ohdsi-symp .ohdsi-table.ohdsi-event-schedule--video { min-width: 980px; }
.ohdsi-event-showcase td > p { margin: 0; }
.ohdsi-event-repository-icon { font-size: 11px; font-weight: 800; }
.ohdsi-editorial-workshop { grid-template-columns: 58px 58px 1fr; }
.ohdsi-editorial-workshop > div:last-child { grid-column: 2 / -1; min-width: 0; width: auto; }
.ohdsi-event-galleries { display: grid; gap: 22px; }
.ohdsi-event-gallery__heading { margin-bottom: 14px; }
.ohdsi-event-gallery__heading h3 { margin: 0 0 6px; }
.ohdsi-symp .ohdsi-section__head.ohdsi-event-gallery__heading p { margin: 0; }
:is(.ohdsi-editorial-symposium-2018,.ohdsi-editorial-symposium-2022,.ohdsi-editorial-symposium-2023,.ohdsi-editorial-symposium-2024,.ohdsi-editorial-symposium-2026) .ohdsi-symp .ohdsi-event-text-card h3 { margin: 0 0 8px; }
:is(.ohdsi-editorial-symposium-2018,.ohdsi-editorial-symposium-2022,.ohdsi-editorial-symposium-2023,.ohdsi-editorial-symposium-2024,.ohdsi-editorial-symposium-2026) .ohdsi-symp .ohdsi-event-text-card p { margin: 0 0 10px; }
:is(.ohdsi-editorial-symposium-2018,.ohdsi-editorial-symposium-2022,.ohdsi-editorial-symposium-2023,.ohdsi-editorial-symposium-2024,.ohdsi-editorial-symposium-2026) .ohdsi-symp .ohdsi-event-text-card p:last-child { margin-bottom: 0; }
.ohdsi-event-text-card p:has(> .ohdsi-btn) { display: flex; gap: 10px; flex-wrap: wrap; }
.ohdsi-editorial-symposium-2025 .ohdsi-event-showcase[data-poster-table] tbody td:nth-child(1) { width: 2.25824%; }
.ohdsi-editorial-symposium-2025 .ohdsi-event-showcase[data-poster-table] tbody td:nth-child(2) { width: 39.3916%; }
.ohdsi-editorial-symposium-2025 .ohdsi-event-showcase[data-poster-table] tbody td:nth-child(3) { width: 28.8228%; }
.ohdsi-editorial-symposium-2025 .ohdsi-event-showcase[data-poster-table] tbody td:nth-child(4) { width: 14.7175%; }
.ohdsi-editorial-symposium-2025 .ohdsi-event-showcase[data-poster-table] tbody td:nth-child(5) { width: 14.7953%; }

:is(.ohdsi-editorial-symposium-2022,.ohdsi-editorial-symposium-2023,.ohdsi-editorial-symposium-2024) .ohdsi-event-introduction p { margin: 0 0 10px; color: rgba(15,23,42,.72); line-height: 1.6 !important; }
:is(.ohdsi-editorial-symposium-2022,.ohdsi-editorial-symposium-2023,.ohdsi-editorial-symposium-2024) .ohdsi-event-introduction p:last-child { margin-bottom: 0; }
.ohdsi-editorial-symposium-sequence .ohdsi-event-after-navigation p { margin: 12px 0 0; color: rgba(15,23,42,.72); }
@media only all and (max-width:48rem) {
 .ohdsi-editorial-symposium-sequence .g-grid:has([data-ohdsi-event-block]) { padding-top: 18px; }
}

:is(.ohdsi-editorial-symposium-2022,.ohdsi-editorial-symposium-2023) .ohdsi-session p { margin: 0 0 10px; }
:is(.ohdsi-editorial-symposium-2022,.ohdsi-editorial-symposium-2023) .ohdsi-session p:last-child { margin: 0; }

.ohdsi-event-announcement-intro > p { margin: 0; color: inherit; font: inherit; line-height: inherit !important; }
.ohdsi-editorial-symposium-annual .ohdsi-event-information-image { margin-top: 24px; }
.ohdsi-editorial-symposium-annual .ohdsi-editorial-event-card + .ohdsi-editorial-event-card { margin-top: 20px; }
.ohdsi-editorial-symposium-annual .ohdsi-editorial-event-card > h3 { margin-top: 0; }
.ohdsi-editorial-symposium-annual .ohdsi-editorial-event-card > p:last-child { margin-bottom: 0; }
.ohdsi-editorial-symposium-annual .g-grid:has([data-ohdsi-event-block]) { margin-top: calc(16px - 1.25rem); }
.ohdsi-editorial-symposium-annual .g-grid:has(.ohdsi-editorial-event-intro) + .g-grid:has([data-ohdsi-event-block]) { margin-top: calc(44px - 1.25rem); }

.ohdsi-symp .ohdsi-event-download > p:empty { display: none; }

/* Video descriptions remain ordinary rich text; the embed and its spacing are generated. */
.ohdsi-editorial-symposium-2026 .ohdsi-section__body:has(.ohdsi-event-video) { padding-top: 26px; }
.ohdsi-symp .ohdsi-section__head.ohdsi-event-video { margin-bottom: 14px; }
.ohdsi-symp .ohdsi-event-video h3 { margin: 0 0 6px; }
.ohdsi-symp .ohdsi-section__head.ohdsi-event-video p { margin: 0; }
.ohdsi-symp .ohdsi-event-video .ohdsi-embed { line-height: 1.6 !important; margin-top: 1.6em; margin-bottom: 1.6em; }

.ohdsi-symp .ohdsi-table.ohdsi-event-showcase--demos { min-width: 860px; }
.ohdsi-editorial-symposium-annual .ohdsi-symp .ohdsi-editorial-event-card ul { margin: 0; padding-left: 20px; }
.ohdsi-editorial-symposium-annual .ohdsi-symp .ohdsi-editorial-event-card ul li { margin-bottom: 10px; color: var(--ohdsi-text-soft); line-height: 1.65; }
.ohdsi-editorial-plain > .row > .col > p { margin: 0; }

.ohdsi-editorial-plain-spaced > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }

/* Native Gantry columns preserve the reusable compact Node layout. */
.ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-eu-node-header) { padding-top: 2.5rem; }
.ohdsi-editorial-classic-sequence > .g-container > .g-grid + .g-grid { margin-top: -1.25rem; }
.ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-classic-heading) { margin-top: calc(-1.25rem - 14px); }
.ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-classic-column) { margin-inline: 1.375rem; column-gap: 24px; padding-top: calc(6px + .625rem); }
.ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-editorial-partners) { padding-top: .625rem; }
.ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-classic-column) > .g-block { flex-shrink: 1; min-width: 0; }
.ohdsi-classic-column .g-content, .ohdsi-classic-column [data-ohdsi-classic-node], .ohdsi-classic-column [data-ohdsi-classic-node] > .row, .ohdsi-classic-column [data-ohdsi-classic-node] > .row > .col { margin: 0; padding: 0; }
.ohdsi-classic-column > .g-container > .g-grid + .g-grid { margin-top: 20px; }
.ohdsi-classic-sidebar > .g-container > .g-grid:first-child { margin-top: 42px; }
.ohdsi-classic-text:last-child > :last-child { margin-bottom: 0; }
.ohdsi-classic-text:has(+ .ohdsi-eu-node-focus-wrap) > p { margin-bottom: 8px !important; }
.ohdsi-eu-node-page .ohdsi-eu-node-panel .ohdsi-classic-note > p { margin: 0; font-size: inherit; line-height: inherit !important; }
.ohdsi-eu-node-page .ohdsi-eu-node-panel .ohdsi-classic-updates > p { margin: 0; line-height: 1.55 !important; }
.ohdsi-eu-node-page .ohdsi-eu-node-panel .ohdsi-eu-node-link-item__text > p:only-child { margin: 0; font: inherit; line-height: inherit !important; }
.ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-eu-node-cta) { padding-top: 24px; }
.ohdsi-editorial-classic-sequence > .g-container { padding-bottom: calc(20px + 3.125rem); --ohdsi-bottom-surface: calc(20px + 3.125rem); }
@media only all and (min-width: 1001px) {
 .ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-classic-column) { flex-wrap: nowrap; }
}
@media only all and (max-width: 1000px) {
 .ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-classic-column) > .g-block { flex-basis: 100%; width: 100%; }
 .ohdsi-classic-sidebar > .g-container > .g-grid:first-child { margin-top: 20px; }
}
@media only all and (max-width: 48rem) {
 .ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-classic-heading) { padding-top: 18px; }
 .ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-classic-column) { padding-top: calc(24px + .625rem); }
 .ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-editorial-partners) { padding-top: calc(18px + .625rem); }
 .ohdsi-editorial-classic-sequence > .g-container > .g-grid:has(.ohdsi-eu-node-cta) { padding-top: 42px; }
 .ohdsi-classic-column > .g-container > .g-grid + .g-grid { margin-top: 38px; }
 .ohdsi-classic-sidebar > .g-container > .g-grid:first-child { margin-top: 42px; }
}

/* Keep the responsive breadcrumb cap attached to the first content surface.
   Put the overview's heading clearance inside that surface, not above it. */
@media only all and (max-width: 64rem) {
  .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-mission__header) { padding-top: 0; }
  .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-mission__header) > .g-block { padding-top: 40px !important; }
}
@media only all and (max-width: 47.99rem) {
  .ohdsi-editorial-nodes-overview > .g-container > .g-grid:has(.ohdsi-mission__header) > .g-block { padding-top: 12px !important; }
}

/* Map instances have unique SVG IDs; preserve the original map viewport
   without depending on the legacy singleton #map-svg selector. */
.ohdsi-editorial-nodes-overview .nn-mapFrame > svg { height: 500px; width: 100%; }
/* The former article wrapper supplied mobile alignment. Particles now own it. */
@media screen and (max-width: 768px) {
  .ohdsi-editorial-nodes-overview :is(.nn-sectionTitle, .nn-panel, .nn-sideCard li) { text-align: center; }
}

/* A final paragraph followed by a heading is not the end of the content block.
   Keep its normal separation after removing the accidental empty paragraph. */
.ohdsi-editorial-about-sequence .ohdsi-aboutStart .ohdsi-block > p:has(+ h3) { margin-bottom: 14px; }

/* Split content blocks must not repeat the page's decorative top cap over cards. */
@media screen and (max-width: 64rem) {
  #g-main .g-block.full-width:has(.ohdsi-involved)::before,
  #g-main .g-block.full-width:has(.ohdsi-involved)::after { content: none !important; }
}

/* Continue the original grid's translucent surface through migrated bottom spacing. */
#g-main > .g-container {
  background-image: linear-gradient(rgba(255,255,255,.85), rgba(255,255,255,.85));
  background-position: bottom;
  background-size: 100% var(--ohdsi-bottom-surface, 0px);
  background-repeat: no-repeat;
}

/* Dark mode already supplies its own opaque page surface. */
.ohdsi-dark-mode #g-main > .g-container { background-image: none; }
