/* Load last. Brand colors only: existing layouts, mobile sizing and behavior stay intact. */
:root {
  --strong-primary: #087F5B;
  --strong-hover: #056649;
  --strong-dark: #064C38;
  --strong-accent: #34D27B;
  --strong-ink: #102F26;
  --strong-muted: #476157;
  --strong-soft: #E9F8EF;
  --strong-border: #C6DED1;
  --bg: #FFFFFF;
  --surface: #E9F8EF;
  --text: #102F26;
  --muted: #476157;
  --border: #C6DED1;
  --accent: #087F5B;
  --page-ink: #102F26;
  --page-green: #087F5B;
  --page-muted: #476157;
  --page-line: #C6DED1;
  --page-soft: #E9F8EF;
}

body, .auth-page { background: #FFFFFF; color: var(--strong-ink); color-scheme: light; }
::selection { background: #B8F0D0; color: var(--strong-dark); }
:focus-visible { outline-color: var(--strong-primary); }
.brand img, .auth-brand img { filter: none; }

/* A clear ink color anchors headings; green is reserved for deliberate emphasis. */
.hero h1, .page-hero h1, .resource-hero h1, .guide-heading h1,
.section-intro h2, .section-header h2, .section-heading h2,
.story-grid h2, .stage-grid h2, .workflow-intro h2, .clarity-copy h2,
.faq-grid h2, .closing-card h2, .guide-content h2, .article-section h2,
.resource-card h3, .model-card h3, .feature-large h3, .feature-small h3,
.benefit-card h2, .benefit-card h3, .process-summary h3, .checklist-card h2,
.checklist-card h3, .auth-form-content h1, .auth-story h2 {
  color: var(--strong-ink);
}
.hero h1 em {
  background: linear-gradient(110deg, var(--strong-dark), var(--strong-primary));
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.auth-story h2 em { color: var(--strong-primary); }
.eyebrow, .model-label, .library-card .model-label,
.model-link, .model-card h3 > span, .library-card h3 > span,
.resource-card > .text-link, .text-link, .handwritten-note { color: var(--strong-dark); }
.text-link, .breadcrumbs a, .article-section a { text-decoration-color: #75BA97; }
.text-link:hover, .breadcrumbs a:hover, .article-section a:hover { color: var(--strong-primary); }

.hero-description, .hero-notes, .launch-note, .section-caption,
.feature-heading > p, .section-heading > p:not(.eyebrow),
.page-lead, .page-intro > p:not(.eyebrow), .page-intro > small, .page-actions + small,
.resource-hero-grid > div > p:not(.eyebrow), .guide-heading > p:not(.eyebrow),
.guide-content p, .guide-content li, .article-section p, .article-section li,
.story-grid > div > p:not(.eyebrow), .stage-grid > div > p:not(.eyebrow),
.resource-card > p, .library-card p, .benefit-card p, .process-summary p,
.faq-list details > p, .closing-card p:not(.eyebrow), .closing-card small,
.models-footnote, .guide-meta, .reading-meta, .editorial-photo figcaption,
.library-meta, .library-meta p, .library-meta > span, .card-meta,
.footer-brand > span, .footer-preview, .footer-bottom,
.footer-grid > div > a:not(.brand), .breadcrumbs, .breadcrumbs [aria-current] {
  color: var(--strong-muted);
}
.hero-facts, .hero-facts strong, .card-meta > span:first-child,
.profession-band strong, .footer-bottom a, .footer-grid a:hover { color: var(--strong-dark); }
.hero-facts svg, .hero-notes i, .tiny-check, .benefit-card > svg,
.checklist-card li::before, .stage-grid > div:not(.stage-document) > ul > li::before {
  color: var(--strong-primary);
}
.profession-band > .container > span, .profession-band ul { color: var(--strong-muted); }

/* Solid calls to action retain at least 5:1 contrast with their white labels. */
.button { border-color: var(--strong-border); }
.button:hover { background: var(--strong-soft); border-color: #78B596; }
.button-dark, .button-lime, .header-actions > .button,
.guide-print button, .auth-submit, .auth-skip {
  background: var(--strong-primary);
  border-color: var(--strong-primary);
  color: #FFFFFF;
  box-shadow: 0 4px 13px rgb(8 127 91 / 13%);
}
.button-dark:hover, .button-lime:hover, .header-actions > .button:hover,
.guide-print button:hover, .auth-submit:hover, .auth-skip:hover {
  background: var(--strong-hover);
  border-color: var(--strong-hover);
  color: #FFFFFF;
}
.button-dark > span, .button-lime > span, .header-actions > .button > span,
.guide-print button > span, .auth-submit > span:last-child { color: #FFFFFF; }
.button-outline { background: #FFFFFF; color: var(--strong-dark); border-color: #9BCBB2; }
.button-outline:hover { background: var(--strong-soft); border-color: var(--strong-primary); color: var(--strong-dark); }

.site-header { background: rgb(255 255 255 / 97%); border-color: var(--strong-border); box-shadow: 0 5px 24px rgb(6 76 56 / 7%); }
.site-header nav > a, .login-link { color: var(--strong-muted); }
.site-header nav > a:hover, .login-link:hover { color: var(--strong-primary); }
.site-header nav > a[aria-current="page"] { color: var(--strong-dark); background: var(--strong-soft); border-radius: 999px; }
.menu-button span { background: var(--strong-dark); }
.mobile-auth { color: var(--strong-dark); border-color: var(--strong-border); }
.filter-group button { color: var(--strong-dark); border-color: var(--strong-border); background: #FFFFFF; }
.filter-group button:hover { background: var(--strong-soft); border-color: var(--strong-primary); }
.filter-group button[aria-pressed="true"], .filter-group button.is-active,
.filter-group button.active { color: #FFFFFF; background: var(--strong-primary); border-color: var(--strong-primary); }
.preview-tabs { border-color: var(--strong-border); }
.preview-tabs button { color: var(--strong-muted); }
.preview-tabs button[aria-selected="true"] { color: var(--strong-dark); border-color: var(--strong-primary); background: var(--strong-soft); }
.hero-copy .eyebrow, .step-tag, .pill-green, .sample-status,
.premium-edition, .card-meta > .premium-edition, .stage-status {
  background: var(--strong-soft);
  border-color: #A6D6BA;
  color: var(--strong-dark);
}
.status-dot, .stage-status i, .finance-bar > span, .mini-finance i { background: var(--strong-accent); }
.status-dot { box-shadow: 0 0 0 4px rgb(52 210 123 / 12%); }

/* White cards and more distinct green edges keep the stronger palette airy. */
.resource-card, .model-card, .benefit-card, .stage-document,
.document-example, .floating-note, .mini-clients, .mini-finance,
.after-paper, .stack-front, .auth-floating-note, .auth-sample-paper {
  background: #FFFFFF;
  border-color: var(--strong-border);
}
.resource-card:hover, .model-card:hover { border-color: var(--strong-primary); box-shadow: 0 12px 30px rgb(8 127 91 / 10%); }
.feature-large, .feature-small, .closing-card {
  background: linear-gradient(135deg, #FFFFFF 30%, var(--strong-soft));
  border-color: var(--strong-border);
}
.profession-band, .editorial-story, .stage-section, .reading-nav,
.checklist-card, .process-summary > div, .process-summary > a,
.before-paper, .library-empty {
  background: var(--strong-soft);
  border-color: var(--strong-border);
}
.stage-section.stage-reverse, .site-footer { background: #FFFFFF; }
.resource-icon, .feature-icon, .floating-icon, .preview-app-mark,
.preview-avatar, .mini-clients > div > span, .step-number {
  background: var(--strong-soft);
  border-color: #A8D4BC;
  color: var(--strong-primary);
}
.resource-number, .benefit-card > span:first-child { color: var(--strong-dark); }
.checklist-card li, .checklist-card ul + p, .reading-nav li, .reading-nav a,
.stage-grid > div:not(.stage-document) > ul > li { color: var(--strong-muted); }
.reading-nav > p, .reading-nav h2, .reading-nav h3, .reading-nav > strong,
.checklist-card li strong, .process-summary > a, .process-summary > a > span { color: var(--strong-dark); }
.checklist-card li, .workflow-steps li + li, .card-meta, .library-toolbar,
.site-footer, .footer-bottom, .faq-section, .faq-list details,
.editorial-photo img, .page-section + .page-section, .hero-facts { border-color: var(--strong-border); }
.faq-list summary { color: var(--strong-ink); }
.faq-list summary > span { color: var(--strong-primary); background: var(--strong-soft); border-color: #A6D6BA; }
.closing-seal svg { stroke: var(--strong-primary); opacity: 1; }
.closing-seal span { color: var(--strong-dark); }
.workflow-grid { background: radial-gradient(ellipse at 0 0, #D1F1DF, transparent 70%), #F6FCF8; border-color: var(--strong-border); }
.workflow-decoration svg { stroke: #64B98C; }
.workflow-decoration span { color: var(--strong-dark); }

/* Saturation is concentrated in the illustrative surfaces and small accents. */
.app-preview { background: linear-gradient(140deg, #FFFFFF, #E9F8EF); border-color: #8DC9AA; box-shadow: 0 0 0 5px rgb(52 210 123 / 8%), 0 18px 60px rgb(6 76 56 / 12%); }
.hero-visual::before, .hero-visual::after { background-image: radial-gradient(circle, rgb(8 127 91 / 45%) 1.5px, transparent 2px); }
.visual-orbit { background: #83E2AB; opacity: .35; }
.orbit-two { background: #B5EECF; opacity: .4; }
.preview-top, .document-title-row, .sample-table > div, .mini-clients > div + div { border-color: var(--strong-border); }
.preview-top strong, .preview-demo, .document-label, .sample-business small,
.sample-number, .sample-table .sample-table-head, .sample-table small,
.sample-footer, .sample-payment, .floating-note small, .mini-clients small,
.mini-finance > div, .stack-brand > span:last-child, .stack-brand small,
.stack-line, .paper-signature { color: var(--strong-muted); }
.preview-demo, .document-paper { background: #FFFFFF; border-color: var(--strong-border); }
.document-paper, .floating-note strong, .mini-clients p, .stack-brand { color: var(--strong-ink); }
.sample-monogram, .sample-total strong, .mini-finance strong,
.mini-finance b, .stack-line b { color: var(--strong-dark); }
.sample-monogram > span, .stack-brand > span:first-child > span { color: var(--strong-primary); }
.sample-total, .stack-bottom { background: var(--strong-soft); border-color: #A6D6BA; color: var(--strong-dark); }
.stack-back { background: #D6F0E1; border-color: #A4D2B8; }
.stack-front hr, .stack-line, .paper-signature { border-color: var(--strong-border); }
.fake-line, .finance-bar { background: #CEE5D8; }
.after-paper ul { color: var(--strong-muted); }
.after-paper li span { color: var(--strong-primary); }
.model-art, .library-art { background: linear-gradient(135deg, #F3FCF7, #D4F3E1); border-color: var(--strong-border); color: var(--strong-primary); }
.model-art svg, .painting svg, .cooling svg { stroke: var(--strong-primary); opacity: 1; }
.model-art > span, .library-art > span { color: var(--strong-dark); }
.library-art::before, .art-acabamento::before, .art-manutencao::before,
.art-fabricacao::before { border-color: #A8D8BD; }
.painting, .art-acabamento { background: linear-gradient(140deg, #F1FCF5, #D8F1D5); color: #087448; }
.cooling, .art-manutencao { background: linear-gradient(140deg, #F1FCF8, #CFEEE1); color: #08785A; }
.art-fabricacao { background: linear-gradient(140deg, #F7FCF4, #DCEFD0); color: #28663D; }
.search-field > label, .search-field > span { color: var(--strong-ink); }
.search-field input { background: #FFFFFF; color: var(--strong-ink); border-color: #A7C7B6; }
.search-field input::placeholder { color: var(--strong-muted); }
.search-field input:focus { border-color: var(--strong-primary); box-shadow: 0 0 0 3px rgb(8 127 91 / 12%); }

/* Premium examples: stronger ink on paper, without introducing editor behavior. */
.document-premium { --document-rule: #C6DED1; background: #FFFFFF; border-color: #B4D6C4; color: var(--strong-ink); }
.guide-example h2, .guide-example h3, .stage-document h2,
.document-premium .premium-title-row h2, .document-premium .premium-project,
.document-premium .premium-brand strong, .document-premium .doc-client-row h3,
.document-premium .premium-scope h3, .document-premium > h3:not(.premium-project),
.document-premium .premium-approval h3 { color: var(--strong-dark); }
.guide-example p, .guide-example td small, .guide-print small,
.document-premium .premium-brand p, .document-premium .premium-title-row > span,
.document-premium .premium-meta > div > span, .document-premium td small,
.document-premium .premium-scope li, .document-premium .premium-scope > section:last-child li,
.document-premium > p:not(.doc-business), .document-premium .premium-approval p,
.document-premium .approval-line span, .document-premium .doc-signature,
.document-premium .doc-signature strong, .document-premium .doc-brand-row > .example-tag,
.document-premium .doc-client-row .document-label { color: var(--strong-muted); }
.document-premium td, .document-premium .premium-meta strong { color: var(--strong-ink); }
.document-premium th { background: var(--strong-soft); color: var(--strong-dark); border-color: #A6CEB8; }
.document-premium td, .document-premium .premium-meta,
.document-premium .premium-meta > div, .document-premium .premium-approval,
.document-premium .approval-line span, .document-premium .doc-signature,
.document-premium .guide-print, .theme-projeto .premium-scope > section:last-child { border-color: var(--strong-border); }
.document-premium .doc-client-row { border-left-color: var(--strong-primary); }
.document-premium .premium-monogram { background: var(--strong-soft); border-color: #8DC7A8; color: var(--strong-dark); }
.theme-essencial .doc-brand-row, .theme-projeto .premium-title-row { border-color: var(--strong-dark); }
.document-premium .guide-total { color: var(--strong-dark); border-top-color: var(--strong-primary); border-bottom-color: var(--strong-border); background: #FFFFFF; }
.document-premium .guide-total strong { color: var(--strong-dark); }
.premium-scope li::marker { color: var(--strong-primary); }
.document-premium.theme-executivo .doc-brand-row { background: var(--strong-primary); color: #FFFFFF; }
.document-premium.theme-executivo .premium-monogram { border-color: rgb(255 255 255 / 65%); background: rgb(255 255 255 / 8%); color: #FFFFFF; }
.document-premium.theme-executivo .premium-brand strong,
.document-premium.theme-executivo .premium-brand p,
.document-premium.theme-executivo .doc-brand-row > .example-tag { color: #FFFFFF; }
.theme-executivo .guide-total { border-top-color: var(--strong-primary); }
.theme-executivo .guide-total strong { color: var(--strong-primary); }

.stage-document, .stage-doc-client strong, .stage-line b, .os-row strong { color: var(--strong-ink); }
.stage-document > p, .stage-doc-client > span, .stage-line small,
.stage-document .stage-doc-note, .os-row > span, .os-checks, .receipt-note { color: var(--strong-muted); }
.stage-doc-client, .doc-client-row, .stage-doc-total, .receipt-amount {
  background: var(--strong-soft);
  border-color: var(--strong-border);
}
.stage-doc-total, .stage-doc-total strong, .receipt-amount strong { color: var(--strong-dark); }
.receipt-amount > span, .receipt-amount small { color: var(--strong-muted); }
.stage-line, .os-row, .stage-document .stage-doc-note { border-color: var(--strong-border); }
.receipt-note { border-left-color: var(--strong-primary); }

/* Authentication preview keeps its mobile-first sizing and visible launch notice. */
.auth-story { background: radial-gradient(ellipse at 100% 100%, rgb(52 210 123 / 12%), transparent 60%), var(--strong-soft); border-color: var(--strong-border); }
.auth-story::after { border-color: #A6D6BA; }
.auth-eyebrow { background: #FFFFFF; border-color: #A6D6BA; color: var(--strong-dark); }
.auth-eyebrow-light > span { background: var(--strong-accent); }
.auth-story-description, .auth-intro, .auth-preview-notice p,
.auth-field-hint, .auth-awareness label > span, .auth-form-footnote,
.auth-switch, .auth-recovery p, .auth-panel-footer, .auth-example-label,
.auth-story-footer, .auth-sample-item, .auth-sample-label, .auth-sample-footer,
.auth-sample-top > span:last-child, .auth-floating-note div > span { color: var(--strong-muted); }
.auth-field label, .auth-field input, .auth-sample-paper,
.auth-sample-top b, .auth-sample-item b, .auth-floating-note { color: var(--strong-ink); }
.auth-back-link { background: #FFFFFF; border-color: var(--strong-border); color: var(--strong-dark) !important; }
.auth-back-link:hover { background: var(--strong-soft); border-color: var(--strong-primary); color: var(--strong-primary) !important; }
.auth-field input { border-color: #A7C7B6; background: #FFFFFF; }
.auth-field input::placeholder { color: var(--strong-muted); }
.auth-field input:hover { border-color: #78B596; }
.auth-field input:focus { border-color: var(--strong-primary); box-shadow: 0 0 0 3px rgb(8 127 91 / 12%); }
.auth-password-toggle, .auth-password-toggle:hover, .auth-switch a,
.auth-recovery, .auth-preview-badge, .auth-story-arrow,
.auth-sample-monogram, .auth-sample-total strong { color: var(--strong-dark); }
.auth-awareness input { accent-color: var(--strong-primary); }
.auth-preview-notice, .auth-feedback, .auth-recovery p, .auth-noscript,
.auth-sample-total { background: var(--strong-soft); border-color: var(--strong-border); }
.auth-feedback { color: var(--strong-dark); }
.auth-feedback[data-state="error"] { background: #FFF4F2; border-color: #E2B5AC; color: #982D2D; }
.auth-field input[aria-invalid="true"] { border-color: #A53636; }
.auth-switch, .auth-sample-rule { border-color: var(--strong-border); }
.auth-paper-back { background: #CDEBD9; border-color: #9ACBAB; }
.auth-note-icon { background: #B9F0D0; color: var(--strong-dark); }
.auth-sample-footer span:last-child { color: var(--strong-primary); }

@media (max-width: 580px) {
  .site-header nav { background: rgb(255 255 255 / 98%); border-color: var(--strong-border); box-shadow: 0 14px 35px rgb(6 76 56 / 12%); }
}

@media print {
  .document-premium { color: var(--strong-ink) !important; }
  .document-premium.theme-executivo .doc-brand-row {
    background: var(--strong-primary) !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .document-premium.theme-executivo .premium-monogram,
  .document-premium.theme-executivo .premium-brand strong,
  .document-premium.theme-executivo .premium-brand p,
  .document-premium.theme-executivo .doc-brand-row > .example-tag { color: #FFFFFF !important; }
}
