.doc {
    max-width: none;
    /* The Antora theme sets hyphens: auto, which breaks words mid-line in narrow
       table columns ("deploy-ment", "Post-greSQL"). Only hyphenate on explicit hints. */
    -ms-hyphens: manual;
    hyphens: manual;
}

/* ============================================================
   Home page (docs-portal::index.adoc)
   Aligned to the Antora theme: borders #e1e1e1, subtle bg #fafafa,
   ink #191919 / #333, links #1565c0, radius .45rem.
   Two registers: role entry panels + a borderless catalog index.
   ============================================================ */

/* Intro lead */
.doc .paragraph.lead p,
.doc .lead > p {
    font-size: 1.15rem;
    line-height: 1.6;
    max-width: 70ch;
    color: #333;
}

/* Navigation hint banner — neutral, not a tinted box */
.doc .sidebarblock.nav-hint {
    border: 1px solid #e1e1e1;
    background: #fafafa;
    border-radius: .45rem;
    margin: 1.25rem 0 1.75rem;
}
.doc .sidebarblock.nav-hint > .content {
    padding: .8rem 1.1rem;
    background: transparent;
    border: 0;
}
.doc .sidebarblock.nav-hint p {
    margin: 0;
    font-size: .95rem;
    line-height: 1.5;
    color: #333;
}

/* Quick links bar */
.doc .paragraph.quicklinks {
    margin: 0 0 2rem;
}
.doc .paragraph.quicklinks p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .9rem;
    padding: .7rem 0;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    font-size: .92rem;
    color: #9c9c9c;            /* the • separators */
}
.doc .paragraph.quicklinks a {
    font-weight: 600;
}

/* ---- Role entry panels (Start here) -------------------------- */
.doc .openblock.cards-roles > .content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 1rem;
    margin: .75rem 0 2rem;
}
.doc .openblock.cards-roles .exampleblock.card {
    margin: 0;
}
.doc .openblock.cards-roles .exampleblock.card > .content {
    height: 100%;
    margin: 0;
    padding: 1rem 1.15rem;
    background: #fafafa;
    border: 1px solid #e1e1e1;
    border-radius: .45rem;
    box-shadow: none;
}
.doc .openblock.cards-roles .card .paragraph:first-child p {
    margin: 0 0 .5rem;
}
.doc .openblock.cards-roles .card .paragraph:first-child strong {
    color: #191919;
    font-size: 1rem;
    font-weight: 600;
}
.doc .openblock.cards-roles .card .ulist {
    margin-top: .5rem;
}
.doc .openblock.cards-roles .card .ulist ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.doc .openblock.cards-roles .card .ulist li {
    margin: 0;
    padding: .32rem 0;
    border-top: 1px solid #ececec;
    font-size: .92rem;
}
.doc .openblock.cards-roles .card .ulist li:first-child {
    border-top: 0;
}

/* ---- Catalog index (Products / Services / Tools / …) --------- */
/* Borderless typographic list, not a grid of boxes. */
.doc .openblock.cards:not(.cards-roles) > .content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    column-gap: 2rem;
    row-gap: 0;
    margin: .5rem 0 1.5rem;
}
.doc .openblock.cards:not(.cards-roles) .exampleblock.card {
    margin: 0;
}
.doc .openblock.cards:not(.cards-roles) .exampleblock.card > .content {
    margin: 0;
    padding: .7rem 0;
    background: transparent;
    border: 0;
    border-top: 1px solid #e1e1e1;
    border-radius: 0;
    box-shadow: none;
}
.doc .openblock.cards:not(.cards-roles) .card .paragraph:first-child p {
    margin: 0;
}
.doc .openblock.cards:not(.cards-roles) .card .paragraph:first-child strong {
    font-weight: 600;
    font-size: .95rem;
}
.doc .openblock.cards:not(.cards-roles) .card .paragraph p {
    font-size: .88rem;
    line-height: 1.45;
    color: #5e5e5e;
    margin: .15rem 0 0;
}

/* Last-updated footnote */
.doc .paragraph.updated p {
    color: #8a8a8a;
    font-size: .85rem;
    margin-top: 2rem;
}

/* Group labels inside the top-bar Services dropdown (mirrors Platform > Services on the landing page) */
.navbar-dropdown .nav-group-label {
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8a8a8a;
    padding-bottom: .1rem;
    margin: 0;
    cursor: default;
}
