/**
 * CRIEMUS — Sistema visual das páginas públicas / DARK.
 *
 * Consome exclusivamente os tokens globais definidos em /style.css.
 * Fundo principal: #151719. Elevação: #1A1D1F. Profundidade: #0B0D0E.
 * Texto base: Ouro Claro Criemus. Acento textual: Criemus Ouro.
 * Botões: Amarelo Ação Criemus. Subtítulos: Criemus Ouro.
 */

.criemus-public-page {
    --criemus-public-background: var(--criemus-surface-page, #151719);
    --criemus-public-surface: var(--criemus-surface-raised, #1A1D1F);
    --criemus-public-deep: var(--criemus-surface-deep, #0B0D0E);
    --criemus-public-text: var(--criemus-text-primary, #F2F2EE);
    --criemus-public-secondary: var(--criemus-text-secondary, #E4E6E6);
    --criemus-public-muted: var(--criemus-text-muted, #AEC3B0);
    --criemus-public-border: var(--criemus-border-subtle, rgba(242, 242, 238, 0.14));
    --criemus-public-green-light: var(--criemus-color-green-light, #EFF6E0);
    --criemus-public-green-medium: var(--criemus-color-green-medium, #AEC3B0);
    --criemus-public-gold: var(--criemus-color-gold, #DFD486);
    --criemus-public-shadow: var(--criemus-shadow-dark, 0 18px 48px rgba(11, 13, 14, 0.34));
    --criemus-radius-lg: 28px;
    --criemus-radius-md: 18px;
    --criemus-public-button-radius: var(--criemus-button-radius, 6px);
    --criemus-shell: 1180px;

    background: var(--criemus-public-background);
    color: var(--criemus-public-text);
    font-family: var(--criemus-font-family-base, "Carlito", Sans-Serif);
    font-size: var(--criemus-font-size-base, 18px);
    font-weight: var(--criemus-font-weight-regular, 400);
    line-height: 1.6;
    overflow: clip;
}

.criemus-public-page *,
.criemus-public-page *::before,
.criemus-public-page *::after {
    box-sizing: border-box;
}

.criemus-public-page h1,
.criemus-public-page h2,
.criemus-public-page h3,
.criemus-public-page h4,
.criemus-public-page h5,
.criemus-public-page h6,
.criemus-public-page p {
    margin-top: 0;
    font-family: var(--criemus-font-family-base, "Carlito", Sans-Serif);
}

.criemus-public-page h1,
.criemus-public-page h2,
.criemus-public-page h3,
.criemus-public-page h4,
.criemus-public-page h5,
.criemus-public-page h6 {
    color: var(--criemus-public-text);
    font-weight: var(--criemus-font-weight-bold, 700);
    letter-spacing: -0.015em;
    line-height: 1.12;
}

.criemus-public-page h1 { max-width: 16em; margin-bottom: 24px; font-size: var(--criemus-font-size-h1, 40px); }
.criemus-public-page h2 { margin-bottom: 20px; font-size: var(--criemus-font-size-h2, 35px); }
.criemus-public-page h3 { margin-bottom: 12px; font-size: var(--criemus-font-size-h3, 30px); }
.criemus-public-page h4 { font-size: var(--criemus-font-size-h4, 25px); }
.criemus-public-page h5 { font-size: var(--criemus-font-size-h5, 20px); }
.criemus-public-page h6 { font-size: var(--criemus-font-size-h6, 16px); }

.criemus-public-page p {
    color: var(--criemus-public-text);
    font-size: var(--criemus-font-size-base, 18px);
    line-height: 1.65;
}

.criemus-public-page p:last-child { margin-bottom: 0; }

.criemus-public-page blockquote {
    font-family: var(--criemus-font-family-base, "Carlito", Sans-Serif);
    font-size: var(--criemus-font-size-base, 18px);
    font-weight: var(--criemus-font-weight-regular, 400);
}

.criemus-public-page blockquote.is-style-large,
.criemus-public-page .criemus-quote-highlight {
    color: var(--criemus-color-yellow-action, #FDFB5D);
    font-family: var(--criemus-font-family-quote-highlight, Georgia, serif);
    font-size: var(--criemus-font-size-quote-highlight, 25px);
    font-weight: var(--criemus-font-weight-semibold, 600);
}

.criemus-public-page pre,
.criemus-public-page code { font-family: var(--criemus-font-family-mono, monospace); }
.criemus-public-page pre { font-size: var(--criemus-font-size-pre, 16px); font-weight: var(--criemus-font-weight-regular, 400); }
.criemus-public-page figcaption { color: var(--criemus-public-secondary); font-family: var(--criemus-font-family-base, "Carlito", Sans-Serif); font-size: var(--criemus-font-size-figcaption, 14px); }

.criemus-public-shell {
    width: min(calc(100% - 40px), var(--criemus-shell));
    margin-inline: auto;
}

.criemus-public-hero {
    padding: clamp(58px, 8vw, 96px) 0 clamp(62px, 8vw, 104px);
    background:
        radial-gradient(circle at 90% 8%, rgba(223, 212, 134, 0.08), transparent 27rem),
        linear-gradient(180deg, var(--criemus-public-background) 0%, var(--criemus-public-deep) 100%);
}

.criemus-public-section {
    padding: clamp(68px, 8vw, 108px) 0;
    background: var(--criemus-public-background);
}

.criemus-public-section--soft { background: var(--criemus-public-surface); }
.criemus-public-section--green { background: var(--criemus-public-deep); color: var(--criemus-public-text); }
.criemus-public-section--green h2,
.criemus-public-section--green h3,
.criemus-public-section--green h4 { color: var(--criemus-public-text); }

.criemus-public-kicker {
    display: inline-flex;
    margin-bottom: 18px;
    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.14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.criemus-public-kicker--gold { color: var(--criemus-color-yellow-action, #FDFB5D); }

.criemus-public-lead,
.criemus-public-copy {
    color: var(--criemus-public-text);
    font-size: var(--criemus-font-size-base, 18px);
    line-height: 1.65;
}

.criemus-public-lead { max-width: 680px; margin-bottom: 32px; }
.criemus-public-section-heading { max-width: 850px; margin-bottom: clamp(36px, 6vw, 56px); }
.criemus-public-section-heading--narrow { max-width: 760px; }

.criemus-public-button {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 15px 28px;
    border: 2px solid transparent;
    border-radius: var(--criemus-public-button-radius);
    font-family: var(--criemus-font-family-base, "Carlito", Sans-Serif);
    font-size: var(--criemus-font-size-button, 20px);
    font-weight: var(--criemus-font-weight-bold, 700);
    letter-spacing: 0.035em;
    line-height: 1.15;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease;
}

.criemus-public-page .criemus-public-button.criemus-public-button--primary {
    background-color: var(--criemus-button-primary-bg, #FDFB5D);
    color: var(--criemus-button-primary-text, #151719);
    box-shadow: 0 10px 24px rgba(11, 13, 14, 0.30);
}

.criemus-public-page .criemus-public-button.criemus-public-button--primary:hover,
.criemus-public-page .criemus-public-button.criemus-public-button--primary:focus-visible {
    background-color: var(--criemus-button-secondary-hover-bg, #FFFD7F);
    color: var(--criemus-button-secondary-text, #151719);
    transform: translateY(-2px);
}

.criemus-public-button:focus-visible {
    outline: 3px solid rgba(223, 212, 134, 0.52);
    outline-offset: 3px;
}

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

.criemus-public-card {
    min-height: 100%;
    padding: clamp(28px, 4vw, 42px);
    border: 1px solid var(--criemus-public-border);
    border-radius: var(--criemus-radius-md);
    background: var(--criemus-public-surface);
    box-shadow: 0 10px 30px rgba(11, 13, 14, 0.18);
}

.criemus-public-card__number {
    display: inline-block;
    margin-bottom: 34px;
    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;
}

.criemus-public-card p { color: var(--criemus-public-text); }

@media (max-width: 800px) {
    .criemus-public-shell { width: min(calc(100% - 30px), var(--criemus-shell)); }
    .criemus-public-card-grid--3 { grid-template-columns: 1fr; }
    .criemus-public-button { width: 100%; min-height: 58px; }
}

@media (max-width: 420px) {
    .criemus-public-shell { width: min(calc(100% - 24px), var(--criemus-shell)); }
}
