/**
 * CRIEMUS — Páginas institucionais públicas.
 * SOBRE / GUIA / CONTATO / TERMOS / PRIVACIDADE / RECUPERAR SENHA.
 */

.criemus-institutional-page {
    min-height: 70vh;
}

.criemus-institutional-hero {
    padding-bottom: clamp(52px, 7vw, 82px);
}

.criemus-institutional-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 26px;
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-size: var(--criemus-font-size-figcaption, 14px);
    font-weight: var(--criemus-font-weight-bold, 700);
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.criemus-institutional-back:hover,
.criemus-institutional-back:focus-visible {
    color: var(--criemus-public-text, #F2F2EE);
}

.criemus-institutional-intro {
    max-width: 850px;
}

.criemus-institutional-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.criemus-institutional-principle {
    min-height: 100%;
}

.criemus-institutional-positioning {
    max-width: 820px;
}

.criemus-about-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.criemus-about-link-card {
    position: relative;
    display: block;
    min-height: 148px;
    padding: 26px 56px 26px 26px;
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
    color: var(--criemus-public-text);
    text-decoration: none;
    transition: border-color 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.criemus-about-link-card:hover,
.criemus-about-link-card:focus-visible {
    border-color: rgba(223, 212, 134, 0.72);
    background: var(--criemus-public-deep);
    color: var(--criemus-public-text);
    transform: translateY(-2px);
}

.criemus-about-link-card__title {
    display: block;
    margin-bottom: 8px;
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-size: var(--criemus-font-size-h5, 20px);
    font-weight: var(--criemus-font-weight-bold, 700);
}

.criemus-about-link-card__description {
    display: block;
    color: var(--criemus-public-secondary);
    font-size: var(--criemus-font-size-base, 18px);
    line-height: 1.5;
}

.criemus-about-link-card__arrow {
    position: absolute;
    top: 50%;
    right: 24px;
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-size: 24px;
    line-height: 1;
    transform: translateY(-50%);
}

.criemus-guide-steps {
    display: grid;
    gap: 18px;
}

.criemus-guide-step {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    padding: clamp(24px, 4vw, 34px);
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
}

.criemus-guide-step__number {
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-size: var(--criemus-font-size-h4, 25px);
    font-weight: var(--criemus-font-weight-bold, 700);
    line-height: 1;
}

.criemus-guide-step h3 {
    margin-bottom: 10px;
}

.criemus-guide-step p {
    color: var(--criemus-public-secondary);
}

.criemus-guide-rubric {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.criemus-guide-rubric__item {
    padding: clamp(24px, 4vw, 32px);
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-deep);
}

.criemus-guide-rubric__weight {
    display: block;
    margin-bottom: 18px;
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-size: var(--criemus-font-size-h3, 30px);
    font-weight: var(--criemus-font-weight-bold, 700);
    line-height: 1;
}

.criemus-guide-rubric__item h3 {
    font-size: var(--criemus-font-size-h5, 20px);
}

.criemus-guide-rubric__item p {
    color: var(--criemus-public-secondary);
}

.criemus-institutional-content {
    width: min(100%, 860px);
}

.criemus-institutional-content > :first-child {
    margin-top: 0;
}

.criemus-institutional-content h2,
.criemus-institutional-content h3,
.criemus-institutional-content h4 {
    margin-top: 1.8em;
}

.criemus-institutional-content p,
.criemus-institutional-content li {
    color: var(--criemus-public-text);
    font-size: var(--criemus-font-size-base, 18px);
    line-height: 1.7;
}

.criemus-institutional-content ul,
.criemus-institutional-content ol {
    padding-left: 1.4em;
}

.criemus-institutional-content a:not(.criemus-public-button) {
    color: var(--criemus-color-yellow-action, #FDFB5D);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.criemus-institutional-content hr {
    margin: 40px 0;
    border: 0;
    border-top: 1px solid var(--criemus-public-border);
}

.criemus-institutional-content input[type="text"],
.criemus-institutional-content input[type="email"],
.criemus-institutional-content input[type="password"],
.criemus-institutional-content input[type="tel"],
.criemus-institutional-content input[type="url"],
.criemus-institutional-content textarea,
.criemus-institutional-content select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(242, 242, 238, 0.22);
    border-radius: 8px;
    background: var(--criemus-public-surface);
    color: var(--criemus-public-text);
    font: inherit;
}

.criemus-institutional-content input[type="text"],
.criemus-institutional-content input[type="email"],
.criemus-institutional-content input[type="password"],
.criemus-institutional-content input[type="tel"],
.criemus-institutional-content input[type="url"],
.criemus-institutional-content select {
    padding: 10px 12px;
}

.criemus-institutional-content textarea {
    min-height: 140px;
    padding: 12px;
}

.criemus-institutional-content input:focus,
.criemus-institutional-content textarea:focus,
.criemus-institutional-content select:focus {
    border-color: var(--criemus-public-gold);
    outline: 2px solid rgba(223, 212, 134, 0.22);
    outline-offset: 1px;
}

.criemus-institutional-fallback {
    padding: 24px;
    border: 1px dashed rgba(242, 242, 238, 0.22);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
    color: var(--criemus-public-secondary);
}

@media (max-width: 800px) {
    .criemus-institutional-principles,
    .criemus-guide-rubric {
        grid-template-columns: 1fr;
    }

    .criemus-about-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .criemus-guide-step {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .criemus-about-link-card {
        min-height: 132px;
        padding: 22px 52px 22px 22px;
    }
}

/* =========================================================
 * CRIEMUS 03.2.11 — CONVENÇÃO DE TÍTULOS DE SEÇÃO
 * Os rótulos/títulos editoriais em caixa alta (kickers) usam Criemus Ouro.
 * Mantém H1/H2 e títulos de cards na cor-base, preservando hierarquia.
 * ========================================================= */
.criemus-guia .criemus-public-kicker,
.criemus-sobre .criemus-public-kicker {
    color: var(--criemus-color-yellow-action, #FDFB5D) !important;
}

/* =========================================================
 * CRIEMUS LAYOUT-03.2.38 — GUIA EM ACORDEÃO + CICLO AJUSTADO
 * Navegação nativa com <details>/<summary>, sem JavaScript.
 * Não altera menus desktop/mobile nem a App Shell.
 * ========================================================= */
.criemus-guide-accordion-wrap {
    padding: clamp(28px, 5vw, 58px) 0 clamp(64px, 8vw, 96px);
    background: var(--criemus-public-deep);
}

.criemus-guide-accordion {
    display: grid;
    max-width: 980px;
    margin: 0 auto;
    border-top: 1px solid var(--criemus-public-border);
}

.criemus-guide-topic {
    border-bottom: 1px solid var(--criemus-public-border);
}

.criemus-guide-topic__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 20px;
    align-items: center;
    padding: clamp(22px, 3vw, 30px) 2px;
    cursor: pointer;
    list-style: none;
}

.criemus-guide-topic__summary::-webkit-details-marker {
    display: none;
}

.criemus-guide-topic__summary::marker {
    content: '';
}

.criemus-guide-topic__summary:focus-visible {
    outline: 2px solid var(--criemus-button-primary-bg, #FDFB5D);
    outline-offset: 5px;
    border-radius: 6px;
}

.criemus-guide-topic__heading {
    display: grid;
    min-width: 0;
}

.criemus-guide-topic__summary .criemus-public-kicker {
    margin-bottom: 7px;
    font-size: 12px;
}

.criemus-guide-topic__title {
    color: var(--criemus-public-text);
    font-size: clamp(21px, 2.6vw, 28px);
    font-weight: var(--criemus-font-weight-bold, 700);
    line-height: 1.16;
}

.criemus-guide-topic__description {
    max-width: 760px;
    margin-top: 7px;
    color: var(--criemus-public-secondary);
    font-size: 15px;
    line-height: 1.5;
}

.criemus-guide-topic__toggle {
    position: relative;
    width: 30px;
    height: 30px;
    border: 1px solid var(--criemus-public-border);
    border-radius: 50%;
}

.criemus-guide-topic__toggle::before,
.criemus-guide-topic__toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    background: var(--criemus-public-gold);
    content: '';
    transform: translate(-50%, -50%);
    transition: transform 160ms ease;
}

.criemus-guide-topic__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.criemus-guide-topic[open] .criemus-guide-topic__toggle::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.criemus-guide-topic[open] .criemus-guide-topic__summary {
    padding-bottom: 18px;
}

.criemus-guide-topic__body {
    padding: 0 54px clamp(32px, 5vw, 50px) 0;
}

.criemus-guide-topic__body--narrow {
    max-width: 820px;
}

.criemus-guide-topic__body > .criemus-public-copy:first-child {
    margin-top: 0;
}

.criemus-guide-topic__body > .criemus-public-copy {
    max-width: 820px;
}

.criemus-guide-cycle {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 26px;
}

.criemus-guide-cycle__item {
    padding: 20px;
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
}

.criemus-guide-cycle__number {
    display: block;
    margin-bottom: 14px;
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-size: 16px;
    font-weight: var(--criemus-font-weight-bold, 700);
    letter-spacing: 0.04em;
}

.criemus-guide-cycle__item h3 {
    margin-bottom: 7px;
    font-size: 18px;
}

.criemus-guide-cycle__item p,
.criemus-guide-rule-card p,
.criemus-guide-ai-feature p,
.criemus-guide-callout p,
.criemus-guide-example p {
    color: var(--criemus-public-secondary);
}

.criemus-guide-inline-title {
    margin: 30px 0 14px;
    font-size: 20px;
}

.criemus-guide-compact-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 30px;
    border-top: 1px solid var(--criemus-public-border);
}

.criemus-guide-compact-list__item {
    display: grid;
    gap: 4px;
    padding: 14px 0;
    border-bottom: 1px solid var(--criemus-public-border);
}

.criemus-guide-compact-list__item strong {
    color: var(--criemus-public-text);
    font-size: 16px;
}

.criemus-guide-compact-list__item span {
    color: var(--criemus-public-secondary);
    font-size: 15px;
    line-height: 1.5;
}

.criemus-guide-ai-feature {
    max-width: 900px;
    margin: 24px 0;
    padding: 22px 24px;
    border-left: 3px solid var(--criemus-button-primary-bg, #FDFB5D);
    background: rgba(255, 255, 255, 0.025);
}

.criemus-guide-ai-feature__label,
.criemus-guide-callout__label,
.criemus-guide-example > span {
    display: block;
    margin-bottom: 7px;
    color: var(--criemus-button-primary-bg, #FDFB5D);
    font-size: 12px;
    font-weight: var(--criemus-font-weight-bold, 700);
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.criemus-guide-ai-feature h3 {
    margin-bottom: 10px;
    font-size: 20px;
}

.criemus-guide-callout {
    max-width: 900px;
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid rgba(253, 251, 93, 0.22);
    border-radius: var(--criemus-radius-md);
}

.criemus-guide-simple-list {
    max-width: 860px;
    margin-top: 24px;
}

.criemus-guide-simple-list h3 {
    margin-bottom: 12px;
    font-size: 19px;
}

.criemus-guide-simple-list ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 20px;
}

.criemus-guide-simple-list li {
    color: var(--criemus-public-secondary);
}

.criemus-guide-rule-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 760px;
    margin-top: 22px;
}

.criemus-guide-rule-card {
    padding: 22px;
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
}

.criemus-guide-rule-card__value {
    display: block;
    margin-bottom: 11px;
    color: var(--criemus-button-primary-bg, #FDFB5D);
    font-size: clamp(30px, 4vw, 42px);
    font-weight: var(--criemus-font-weight-bold, 700);
    line-height: 1;
}

.criemus-guide-rule-card h3 {
    margin-bottom: 7px;
    font-size: 18px;
}

.criemus-guide-example {
    max-width: 760px;
    margin-top: 20px;
    padding: 17px 19px;
    border-left: 3px solid var(--criemus-public-gold);
    background: rgba(255, 255, 255, 0.025);
}

.criemus-guide-topic .criemus-guide-rubric {
    margin-top: 24px;
}

@media (max-width: 800px) {
    .criemus-guide-cycle {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .criemus-guide-compact-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .criemus-guide-accordion-wrap {
        padding-top: 18px;
    }

    .criemus-guide-topic__summary {
        grid-template-columns: minmax(0, 1fr) 30px;
        gap: 14px;
        padding: 20px 0;
    }

    .criemus-guide-topic__description {
        font-size: 14px;
    }

    .criemus-guide-topic__body {
        padding-right: 0;
        padding-bottom: 34px;
    }

    .criemus-guide-cycle,
    .criemus-guide-rule-grid {
        grid-template-columns: 1fr;
    }

    .criemus-guide-cycle__item,
    .criemus-guide-rule-card {
        padding: 18px;
    }

    .criemus-guide-ai-feature {
        padding: 18px;
    }
}

/* =========================================================
 * CRIEMUS LAYOUT-03.2.41 — GUIA CONSOLIDADO
 * Criando / Ferramentas / Formatos / Envio
 * ========================================================= */
.criemus-guide-inline-link {
    color: var(--criemus-button-primary-bg, #FDFB5D);
    font-weight: var(--criemus-font-weight-bold, 700);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.criemus-guide-inline-link:hover,
.criemus-guide-inline-link:focus-visible {
    color: var(--criemus-button-primary-hover-bg, #FFFD7F);
}

.criemus-guide-inline-link.is-disabled {
    text-decoration: none;
}

.criemus-guide-format-table-wrap {
    max-width: 920px;
    margin-top: 22px;
}

.criemus-guide-format-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid var(--criemus-public-border);
    font-size: 15px;
}

.criemus-guide-format-table th,
.criemus-guide-format-table td {
    padding: 13px 12px;
    border-bottom: 1px solid var(--criemus-public-border);
    text-align: left;
    vertical-align: top;
}

.criemus-guide-format-table th {
    color: var(--criemus-public-text);
    font-size: 13px;
    font-weight: var(--criemus-font-weight-bold, 700);
}

.criemus-guide-format-table td {
    color: var(--criemus-public-secondary);
}

.criemus-guide-format-table td:first-child {
    color: var(--criemus-public-text);
    font-weight: var(--criemus-font-weight-bold, 700);
}

@media (max-width: 700px) {
    .criemus-guide-format-table,
    .criemus-guide-format-table tbody,
    .criemus-guide-format-table tr,
    .criemus-guide-format-table td {
        display: block;
        width: 100%;
    }

    .criemus-guide-format-table {
        border-top: 0;
    }

    .criemus-guide-format-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0;
    }

    .criemus-guide-format-table tr {
        margin-bottom: 14px;
        padding: 8px 0;
        border-top: 1px solid var(--criemus-public-border);
    }

    .criemus-guide-format-table td {
        display: grid;
        grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);
        gap: 12px;
        padding: 7px 0;
        border-bottom: 0;
    }

    .criemus-guide-format-table td::before {
        color: var(--criemus-color-yellow-action, #FDFB5D);
        content: attr(data-label);
        font-size: 12px;
        font-weight: var(--criemus-font-weight-bold, 700);
        line-height: 1.4;
        text-transform: uppercase;
    }
}

/* =========================================================
 * CRIEMUS LAYOUT-03.2.42 — CICLO VISÍVEL NO TOPO DO GUIA
 * Reutiliza os boxes .criemus-guide-cycle já homologados.
 * ========================================================= */
.criemus-guide-cycle-section {
    max-width: 980px;
    margin: 0 auto clamp(30px, 5vw, 48px);
}

.criemus-guide-cycle-section__title {
    margin: 0 0 18px;
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.15;
}

.criemus-guide-cycle-section .criemus-guide-cycle {
    margin-top: 0;
}

@media (max-width: 620px) {
    .criemus-guide-cycle-section {
        margin-bottom: 30px;
    }

    .criemus-guide-cycle-section__title {
        margin-bottom: 16px;
        font-size: 24px;
    }
}


/* =========================================================
 * CRIEMUS 03.2.44 — PÁGINA CONTATO
 * Formulário público leve, responsivo e sem dependência JS.
 * ========================================================= */
.criemus-contact-page .criemus-public-section {
    padding-top: clamp(32px, 4vw, 48px);
}

.criemus-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    gap: clamp(28px, 5vw, 54px);
    align-items: start;
}

.criemus-contact-main {
    width: min(100%, 760px);
}

.criemus-contact-editor-content {
    margin-bottom: 28px;
}

.criemus-contact-form {
    display: grid;
    gap: 18px;
}

.criemus-contact-field {
    display: grid;
    gap: 8px;
}

.criemus-contact-field label {
    color: var(--criemus-public-text, #F2F2EE);
    font-size: var(--criemus-font-size-base, 18px);
    font-weight: var(--criemus-font-weight-bold, 700);
}

.criemus-contact-field input,
.criemus-contact-field textarea {
    width: 100%;
    border: 1px solid rgba(242, 242, 238, 0.22);
    border-radius: 8px;
    background: var(--criemus-public-surface);
    color: var(--criemus-public-text, #F2F2EE);
    font: inherit;
}

.criemus-contact-field input {
    min-height: 52px;
    padding: 11px 13px;
}

.criemus-contact-field textarea {
    min-height: 180px;
    padding: 13px;
    resize: vertical;
}

.criemus-contact-field input:focus,
.criemus-contact-field textarea:focus {
    border-color: var(--criemus-public-gold, #DFD486);
    outline: 2px solid rgba(223, 212, 134, 0.22);
    outline-offset: 1px;
}

.criemus-contact-privacy-note {
    margin: -2px 0 0;
    color: var(--criemus-public-secondary);
    font-size: var(--criemus-font-size-small, 15px);
    line-height: 1.55;
}

.criemus-contact-submit {
    justify-self: start;
    border: 0;
    cursor: pointer;
}

.criemus-contact-direct {
    padding: 24px;
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
}

.criemus-contact-direct p {
    margin: 0 0 10px;
    color: var(--criemus-public-secondary);
    line-height: 1.6;
}

.criemus-contact-direct__email {
    color: var(--criemus-button-primary-bg, #FDFB5D);
    font-weight: var(--criemus-font-weight-bold, 700);
    overflow-wrap: anywhere;
}

.criemus-contact-notice {
    margin-bottom: 22px;
    padding: 14px 16px;
    border: 1px solid var(--criemus-public-border);
    border-radius: 8px;
    background: var(--criemus-public-surface);
    line-height: 1.55;
}

.criemus-contact-notice--success {
    border-color: rgba(253, 251, 93, 0.48);
}

.criemus-contact-notice--error {
    border-color: rgba(242, 242, 238, 0.28);
}

.criemus-contact-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

@media (max-width: 800px) {
    .criemus-contact-layout {
        grid-template-columns: 1fr;
    }

    .criemus-contact-main {
        width: 100%;
    }

    .criemus-contact-direct {
        order: 2;
    }
}

@media (max-width: 520px) {
    .criemus-contact-submit {
        width: 100%;
    }
}

/* =========================================================
 * CRIEMUS 03.2.46 — PÁGINA ALGORITMO
 * Explicação pública, responsiva e sem JavaScript.
 * ========================================================= */
.criemus-algorithm-page .criemus-public-kicker {
    color: var(--criemus-color-yellow-action, #FDFB5D);
}

.criemus-algorithm-intro {
    padding-top: clamp(52px, 7vw, 82px);
}

.criemus-algorithm-principle {
    max-width: 900px;
    margin-bottom: clamp(36px, 6vw, 58px);
    padding: clamp(24px, 4vw, 36px);
    border-left: 3px solid var(--criemus-button-primary-bg, #FDFB5D);
    background: var(--criemus-public-surface);
}

.criemus-algorithm-principle h2 {
    margin-bottom: 12px;
}

.criemus-algorithm-principle p:last-child {
    margin-bottom: 0;
    color: var(--criemus-public-text);
    font-size: var(--criemus-font-size-base, 18px);
    line-height: 1.65;
}

.criemus-algorithm-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.criemus-algorithm-flow__item {
    min-height: 100%;
    padding: 24px;
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
}

.criemus-algorithm-flow__number {
    display: block;
    margin-bottom: 18px;
    color: var(--criemus-button-primary-bg, #FDFB5D);
    font-size: 18px;
    font-weight: var(--criemus-font-weight-bold, 700);
}

.criemus-algorithm-flow__item h3 {
    margin-bottom: 10px;
    font-size: var(--criemus-font-size-h5, 20px);
}

.criemus-algorithm-flow__item p {
    margin: 0;
    color: var(--criemus-public-secondary);
    line-height: 1.6;
}

.criemus-algorithm-sections {
    display: grid;
    max-width: 980px;
    margin: 0 auto;
}

.criemus-algorithm-section {
    padding: clamp(34px, 5vw, 52px) 0;
    border-bottom: 1px solid var(--criemus-public-border);
}

.criemus-algorithm-section:first-child {
    padding-top: 0;
}

.criemus-algorithm-section:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.criemus-algorithm-section h2 {
    max-width: 780px;
    margin-bottom: 20px;
}

.criemus-algorithm-section__copy {
    max-width: 850px;
}

.criemus-algorithm-section__copy p {
    margin: 0 0 16px;
    color: var(--criemus-public-text);
    font-size: var(--criemus-font-size-base, 18px);
    line-height: 1.7;
}

.criemus-algorithm-section__copy p:last-child {
    margin-bottom: 0;
}

.criemus-algorithm-closing__inner {
    max-width: 820px;
}

.criemus-algorithm-closing__inner .criemus-public-copy {
    margin-bottom: 28px;
}

@media (max-width: 800px) {
    .criemus-algorithm-flow {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .criemus-algorithm-flow {
        grid-template-columns: 1fr;
    }

    .criemus-algorithm-principle,
    .criemus-algorithm-flow__item {
        padding: 20px;
    }
}

/* CRIEMUS — SOBRE
 * Reduz somente o espaço entre a Seção 3 opcional e a Seção 4.
 * Se a Seção 3 estiver vazia/invisível, o ritmo global permanece intacto.
 */
.criemus-sobre-optional-section + .criemus-sobre-links-section {
    padding-top: clamp(36px, 4.5vw, 60px);
}

/* CRIEMUS 03.3.10.30.2 — destaque inicial da página Sobre em Amarelo Ação. */
.criemus-sobre #criemusSobreParticipateIntro {
    color: var(--criemus-color-yellow-action, #FDFB5D);
}
