/* White, ink and orange identity. Shared pages; the financial preview has its own final layer. */
:root {
  --premium-orange: #FF5B1B;
  --premium-ink: #161616;
  --premium-muted: #69635F;
  --premium-surface: #F7F4F1;
  --premium-border: #E7E2DE;
  --premium-soft: #FFF0E8;
  --strong-primary: var(--premium-orange);
  --strong-hover: #E84B0C;
  --strong-dark: var(--premium-ink);
  --strong-accent: var(--premium-orange);
  --strong-ink: var(--premium-ink);
  --strong-muted: var(--premium-muted);
  --strong-soft: var(--premium-soft);
  --strong-border: var(--premium-border);
  --bg: #FFFFFF;
  --surface: var(--premium-surface);
  --text: var(--premium-ink);
  --muted: var(--premium-muted);
  --border: var(--premium-border);
  --accent: var(--premium-orange);
  --page-ink: var(--premium-ink);
  --page-green: var(--premium-ink);
  --page-muted: var(--premium-muted);
  --page-line: var(--premium-border);
  --page-soft: var(--premium-surface);
}
html { color-scheme: light; scroll-padding-top: 96px; }
body, .auth-page { background: #FFFFFF; color: var(--premium-ink); }
::selection { color: var(--premium-ink); background: #FFD9C7; }
:focus-visible, .auth-page :focus-visible { outline: 2px solid var(--premium-ink); outline-offset: 4px; }
body { -webkit-font-smoothing: antialiased; }
.brand img, .auth-brand img { filter: none; }
.container { width: min(1160px, calc(100% - 40px)); }
.section { padding: 64px 0; }
.hero h1, .page-hero h1, .resource-hero h1, .guide-heading h1,
.hero .hero-finance-grid h1 { color: var(--premium-ink); font-size: clamp(34px, 8.4vw, 38px); font-weight: 400; line-height: 1.13; letter-spacing: -.045em; }
.hero h1 em { background: none; -webkit-text-fill-color: currentColor; color: var(--premium-ink); font-style: normal; }
.section-intro h2, .section-header h2, .section-heading h2, .story-grid h2,
.stage-grid h2, .workflow-intro h2, .clarity-copy h2, .faq-grid h2, .page-faq h2,
.closing-card h2 { color: var(--premium-ink); font-size: clamp(29px, 7.4vw, 34px); font-weight: 400; line-height: 1.2; letter-spacing: -.035em; }
.resource-card h3, .library-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, .article-section h2, .article-section h3, .guide-content .article-section h2 { color: var(--premium-ink); font-weight: 500; letter-spacing: -.025em; }
.eyebrow { color: var(--premium-muted); font-weight: 500; font-size: 10px; letter-spacing: .1em; line-height: 1.6; }
.text-link, .model-link, .reading-nav a, .article-section a { color: var(--premium-ink); text-decoration-color: var(--premium-orange); text-underline-offset: 5px; }
.text-link:hover, .model-link:hover, .reading-nav a:hover, .article-section a:hover { color: var(--premium-ink); text-decoration-color: var(--premium-ink); }
.text-link { min-height: 44px; align-items: center; }
.hero-description, .hero-notes, .launch-note, .section-caption,
.feature-heading > p, .feature-large > p, .feature-small > p, .section-header > 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,
.workflow-intro > p:not(.eyebrow), .workflow-steps p, .clarity-copy > p:not(.eyebrow) { color: var(--premium-muted); }
.hero-description, .page-lead, .page-intro > p:not(.eyebrow),
.resource-hero-grid > div > p:not(.eyebrow), .story-grid > div > p:not(.eyebrow),
.stage-grid > div > p:not(.eyebrow), .section-heading > p:not(.eyebrow) { font-size: 15px; line-height: 1.8; }
.article-section strong, .hero-facts strong { color: var(--premium-ink); }
.article-section li::marker { color: var(--premium-orange); }

/* One strong action and a quiet, compact navigation bar. */
.button, .filter-group button, .preview-tabs button, .auth-submit, .auth-back-link { border-radius: 11px; }
.button { min-height: 48px; padding: 13px 22px; border-color: var(--premium-border); font-size: 13px; font-weight: 500; box-shadow: none; }
.button:hover { border-color: #C8BDB6; background: var(--premium-surface); box-shadow: none; }
.button-dark, .button-lime, .auth-submit, .auth-skip {
  background: var(--premium-orange); border-color: var(--premium-orange); color: var(--premium-ink); box-shadow: none;
}
.button-dark:hover, .button-lime:hover, .auth-submit:hover, .auth-skip:hover { background: #E84B0C; border-color: #E84B0C; color: var(--premium-ink); box-shadow: none; }
.button-dark > span, .button-lime > span, .auth-submit > span:last-child { color: var(--premium-ink); }
.button-outline { background: #FFFFFF; border-color: #C8BDB6; color: var(--premium-ink); }
.button-outline:hover { background: var(--premium-surface); color: var(--premium-ink); border-color: var(--premium-ink); }
.site-header { top: 0; margin: 0; border: 0; border-bottom: 1px solid var(--premium-border); border-radius: 0; background: rgb(255 255 255 / 97%); box-shadow: none; }
.site-header .header-inner { width: min(1160px, calc(100% - 40px)); height: 72px; min-height: 72px; padding: 0; gap: 12px; }
.header-inner .brand img { width: 132px; max-width: 132px; }
.site-header nav > a, .site-header nav > a:nth-child(3), .login-link { color: var(--premium-muted); font-size: 14px; line-height: 1.6; }
.site-header nav > a:hover, .login-link:hover { color: var(--premium-ink); }
.site-header nav > a[aria-current="page"] { color: var(--premium-ink); background: var(--premium-surface); border-radius: 8px; }
.header-actions > .button, .header-actions > .button > span { background: var(--premium-ink); border-color: var(--premium-ink); color: #FFFFFF; box-shadow: none; }
.header-actions > .button:hover { background: #33302E; border-color: #33302E; color: #FFFFFF; }
.header-actions > .button { min-width: 91px; min-height: 44px; padding: 10px 13px; font-size: 11px; border-radius: 10px; }
.menu-button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
.menu-button span { background: var(--premium-ink); }
.site-header nav { border-color: var(--premium-border); background: #FFFFFF; }
.mobile-auth { color: var(--premium-ink); border-color: var(--premium-border); }
.skip-link { color: var(--premium-ink); background: var(--premium-orange); border-radius: 8px; }
.hero { padding-top: 36px; }
.hero .hero-grid.hero-finance-grid { gap: 32px; padding-bottom: 48px; }
.hero .hero-finance-grid h1 { margin-top: 18px; }
.hero-copy .eyebrow, .hero-finance-grid .hero-copy .eyebrow { padding: 0; border: 0; border-radius: 0; background: none; color: var(--premium-muted); font-size: 10px; letter-spacing: .09em; }
.status-dot { width: 6px; height: 6px; background: var(--premium-orange); box-shadow: none; }
.hero-finance-grid .hero-description { max-width: 47ch; margin-top: 24px; font-size: 15px; line-height: 1.8; }
.hero-finance-grid .hero-actions { margin-top: 24px; gap: 12px; }
.hero-finance-grid .hero-actions .text-link { font-size: 13px; }
.hero-finance-grid .hero-notes { margin-top: 20px; color: var(--premium-muted); font-size: 11px; }
.hero-notes i, .hero-facts svg, .tiny-check { color: var(--premium-ink); }
.hero-finance-grid .launch-note, .launch-note { color: var(--premium-muted); font-size: 12px; line-height: 1.7; }
.page-hero { padding: 28px 0 48px; }
.resource-hero { padding: 28px 0 48px; }
.page-intro > .eyebrow, .page-hero-grid .eyebrow, .resource-hero-grid .eyebrow { margin-bottom: 16px; }
.page-actions { margin-top: 24px; gap: 12px 20px; }
.breadcrumbs { margin-bottom: 24px; color: var(--premium-muted); font-size: 11px; line-height: 1.7; }
.breadcrumbs > span[aria-hidden], .breadcrumbs [aria-current], .breadcrumbs a { color: var(--premium-muted); text-decoration-color: #C8BDB6; }
.section-heading { margin-bottom: 32px; }
.section-heading .eyebrow { margin-bottom: 16px; }
.section-heading > p:not(.eyebrow) { margin-top: 20px; }
.hero-facts { border-color: var(--premium-border); color: var(--premium-muted); }
.visual-orbit, .orbit-two, .workflow-decoration, .closing-seal, .auth-paper-back { display: none; }
.hero-visual::before, .hero-visual::after, .library-art::before,
.art-acabamento::before, .art-manutencao::before, .art-fabricacao::before, .auth-story::after { content: none; }

/* Surfaces have a small, consistent family of corner sizes. */
.resource-card, .model-card, .library-card, .benefit-card, .feature-large,
.feature-small, .reading-nav, .checklist-card, .library-empty { border-radius: 18px; border-color: var(--premium-border); box-shadow: none; }
.resource-card, .model-card, .benefit-card, .feature-large, .feature-small { background: #FFFFFF; }
.resource-card { min-height: 0; padding: 24px; }
.resource-card h3 { margin-top: 20px; font-size: 22px; }
.resource-card > p { margin-bottom: 24px; font-size: 14px; line-height: 1.8; }
.resource-card > .text-link { color: var(--premium-ink); font-size: 13px; text-decoration-color: var(--premium-orange); }
.resource-card:hover, .model-card:hover { border-color: #BCAFA6; box-shadow: 0 8px 24px rgb(22 22 22 / 5%); transform: translateY(-2px); }
.resource-icon, .feature-icon, .floating-icon, .preview-app-mark, .preview-avatar,
.mini-clients > div > span, .step-number { border-color: var(--premium-border); border-radius: 11px; background: var(--premium-soft); color: var(--premium-ink); }
.resource-icon { width: 43px; height: 43px; }
.resource-number, .benefit-card > span:first-child, .article-number { color: var(--premium-muted); }
.benefit-card { padding: 24px; }
.benefit-card > svg { color: var(--premium-orange); }
.benefit-card p, .process-summary p, .library-card p { font-size: 14px; line-height: 1.8; }
.editorial-story, .related-section, .stage-section, .profession-band { background: var(--premium-surface); border-color: var(--premium-border); }
.stage-section.stage-reverse, .page-section { background: #FFFFFF; }
.page-section + .page-section { border-color: var(--premium-border); }
.editorial-photo img, .page-hero-grid .editorial-photo img { border: 0; border-radius: 18px; background: var(--premium-surface); }
.editorial-photo figcaption, .guide-meta, .reading-meta { color: var(--premium-muted); }
.profession-band > .container > span, .profession-band ul { color: var(--premium-muted); }
.profession-band strong { color: var(--premium-ink); }
.workflow-grid { border-color: var(--premium-border); border-radius: 20px; background: var(--premium-surface); }
.workflow-steps li + li, .step-number, .step-tag { border-color: var(--premium-border); }
.step-tag, .pill-green, .sample-status, .premium-edition, .card-meta > .premium-edition, .stage-status { background: var(--premium-soft); color: var(--premium-ink); border-color: #F0D5C6; border-radius: 6px; }
.stage-status i { background: var(--premium-orange); }
.pill-amber { border-color: #E8DCC5; background: #FBF5E9; color: #655132; }
.section-caption, .models-footnote, .guide-meta, .reading-meta { font-size: 12px; line-height: 1.8; }
.reading-nav, .checklist-card, .process-summary > div, .process-summary > a, .library-empty { background: var(--premium-surface); border-color: var(--premium-border); }
.reading-nav > p, .reading-nav h2, .reading-nav h3, .reading-nav > strong,
.checklist-card li strong, .process-summary > a, .process-summary > a > span,
.process-summary > div > span, .library-empty h3 { color: var(--premium-ink); }
.reading-nav li, .reading-nav a, .checklist-card li, .checklist-card ul + p,
.stage-grid > div:not(.stage-document) > ul > li, .library-empty { color: var(--premium-muted); }
.checklist-card li::before, .stage-grid > div:not(.stage-document) > ul > li::before { color: var(--premium-ink); }
.checklist-card li, .checklist-card ul + p, .process-summary > a > span, .process-summary > div > span { border-color: var(--premium-border); }
.process-summary > a { border-radius: 12px; }
.process-summary > a:hover { border-color: #C8BDB6; background: var(--premium-soft); }
.comparison-table, .comparison-table td, .comparison-table th { border-color: var(--premium-border); }
.comparison-table { background: #FFFFFF; }
.comparison-table th { color: var(--premium-ink); background: var(--premium-surface); }
.comparison-table tbody th { background: #FFFFFF; }
.comparison-table td, .comparison-table caption { color: var(--premium-muted); }
.comparison-table td:first-child { color: var(--premium-ink); }

/* Search, filters and the document library remain fully usable on touch screens. */
.library-toolbar, .card-meta { border-color: var(--premium-border); }
.search-field > label, .search-field > span { color: var(--premium-ink); font-weight: 500; }
.search-field > svg { color: var(--premium-muted); }
.search-field input { min-height: 48px; border-radius: 11px; border-color: #C8BDB6; background: #FFFFFF; color: var(--premium-ink); font-size: 16px; }
.search-field input::placeholder { color: var(--premium-muted); }
.search-field input:focus { border-color: var(--premium-ink); box-shadow: 0 0 0 3px var(--premium-soft); }
.filter-group button { min-height: 44px; border-color: var(--premium-border); background: #FFFFFF; color: var(--premium-ink); font-size: 12px; }
.filter-group button:hover { background: var(--premium-surface); border-color: #C8BDB6; }
.filter-group button[aria-pressed="true"], .filter-group button.is-active, .filter-group button.active { color: #FFFFFF; background: var(--premium-ink); border-color: var(--premium-ink); }
.library-meta, .library-meta p, .library-meta > span, .card-meta { color: var(--premium-muted); }
.card-meta > span:first-child, .library-card .model-label, .model-label { color: var(--premium-muted); }
.library-card h3 > span, .model-card h3 > span { color: var(--premium-ink); }
.library-card .model-card-copy { padding: 24px; }
.model-art, .library-art, .premium-model-art, .painting, .cooling,
.art-acabamento, .art-manutencao, .art-fabricacao { background: var(--premium-surface); color: var(--premium-ink); border-color: var(--premium-border); }
.model-art svg, .painting svg, .cooling svg { stroke: var(--premium-ink); }
.model-art > span, .library-art > span { color: var(--premium-muted); }
.model-sheet { background: #FFFFFF; border-color: #DCD4CD; box-shadow: 0 10px 24px rgb(22 22 22 / 7%); }
.model-sheet::after { background: #FFFFFF; border-color: var(--premium-border); }
.mini-sheet-brand, .mini-sheet-lines > div, .mini-sheet-total, .mini-sheet-signature { border-color: var(--premium-border); }
.mini-sheet-brand strong, .mini-sheet-heading > span, .mini-sheet-lines b,
.mini-sheet-total strong { color: var(--premium-ink); }
.mini-sheet-brand small, .mini-sheet-heading small, .mini-sheet-project,
.mini-sheet-lines > div > span, .mini-sheet-total > span, .mini-sheet-signature { color: var(--premium-muted); }
.model-sheet.theme-essencial .mini-sheet-brand { border-bottom-color: var(--premium-orange); }
.model-sheet.theme-essencial .mini-sheet-heading > span { font-weight: 400; }
.model-sheet.theme-executivo { border-color: #DCD4CD; }
.model-sheet.theme-executivo .mini-sheet-brand { background: var(--premium-ink); }
.model-sheet.theme-executivo .mini-sheet-brand strong, .model-sheet.theme-executivo .mini-sheet-brand small { color: #FFFFFF; }
.model-sheet.theme-executivo .mini-sheet-heading > span, .model-sheet.theme-executivo .mini-sheet-total strong { color: var(--premium-ink); }
.model-sheet.theme-executivo .mini-sheet-total { border-top-color: var(--premium-orange); }
.model-sheet.theme-projeto .mini-sheet-brand { border-left-color: var(--premium-orange); }
.model-sheet.theme-projeto .mini-sheet-heading, .model-sheet.theme-projeto .mini-sheet-project { border-color: var(--premium-border); }
.model-sheet.theme-projeto .mini-sheet-project { color: var(--premium-muted); }
.model-sheet.theme-projeto .mini-sheet-total strong { color: var(--premium-ink); }
.library-card:hover .model-sheet { box-shadow: 0 12px 24px rgb(22 22 22 / 8%); }

/* Paper examples keep their three fixed identities and complete contents. */
.document-example, .document-premium { --document-rule: var(--premium-border); background: #FFFFFF; color: var(--premium-ink); border-color: #DCD4CD; border-radius: 16px; box-shadow: 0 10px 35px rgb(22 22 22 / 5%); }
.doc-mark, .document-example > h2, .document-example > h3, .document-example .doc-client-row h3,
.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(--premium-ink); }
.document-premium .premium-title-row h2 { font-weight: 400; }
.doc-mark > span { color: var(--premium-orange); }
.doc-brand-row, .doc-client-row, .document-example th, .document-example td,
.doc-signature, .document-premium .premium-meta, .document-premium .premium-meta > div,
.document-premium .premium-approval, .document-premium .approval-line span,
.document-premium .guide-print, .theme-projeto .premium-scope > section:last-child { border-color: var(--premium-border); }
.document-example td, .document-premium td, .document-premium .premium-meta strong { color: var(--premium-ink); }
.document-example .example-tag, .stage-document .example-tag, .doc-no, .doc-discount,
.document-example .doc-business, .document-example td small, .document-example .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(--premium-muted); }
.document-example th, .document-premium th { background: var(--premium-surface); color: var(--premium-ink); border-color: var(--premium-border); }
.document-premium .doc-client-row { background: #FFFFFF; border-left-color: var(--premium-orange); }
.document-premium .premium-monogram { background: var(--premium-soft); color: var(--premium-ink); border-color: #EBC9B6; }
.theme-essencial .doc-brand-row { border-bottom-color: var(--premium-orange); }
.theme-projeto .premium-title-row { border-top-color: var(--premium-ink); }
.document-example .guide-total, .document-premium .guide-total { background: #FFFFFF; color: var(--premium-ink); border-top-color: var(--premium-orange); border-bottom-color: var(--premium-border); }
.document-example .guide-total strong, .document-premium .guide-total strong { color: var(--premium-ink); }
.premium-scope li::marker { color: var(--premium-orange); }
.document-premium.theme-executivo .doc-brand-row { background: var(--premium-ink); color: #FFFFFF; border-radius: 15px 15px 0 0; }
.document-premium.theme-executivo .premium-monogram { background: transparent; border-color: #736D68; color: var(--premium-orange); }
.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(--premium-orange); }
.theme-executivo .guide-total strong { color: var(--premium-ink); }
.model-detail-main .guide-heading { margin-bottom: 32px; }
.guide-advice { background: var(--premium-surface); border-color: var(--premium-border); border-radius: 16px; }
.guide-advice > summary { min-height: 48px; color: var(--premium-ink); }
.guide-advice > summary::after { border-color: var(--premium-ink); }
.guide-advice[open] > summary { border-color: var(--premium-border); }
.stage-document { background: #FFFFFF; color: var(--premium-ink); border-color: #DCD4CD; border-radius: 16px; box-shadow: 0 10px 35px rgb(22 22 22 / 5%); }
.stage-doc-client strong, .stage-line b, .os-row strong { color: var(--premium-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(--premium-muted); }
.stage-doc-client, .doc-client-row, .stage-doc-total, .receipt-amount { background: var(--premium-surface); border-color: var(--premium-border); }
.stage-doc-total, .stage-doc-total strong, .receipt-amount strong { color: var(--premium-ink); }
.receipt-amount > span, .receipt-amount small { color: var(--premium-muted); }
.stage-line, .os-row, .stage-document .stage-doc-note { border-color: var(--premium-border); }
.receipt-note { border-left-color: var(--premium-orange); }

/* Earlier home-page illustrations follow the same paper and ink treatment. */
.app-preview { background: var(--premium-surface); border-color: var(--premium-border); border-radius: 20px; box-shadow: 0 12px 40px rgb(22 22 22 / 7%); transform: none; }
.preview-top, .preview-tabs, .document-title-row, .sample-table > div, .mini-clients > div + div { border-color: var(--premium-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, .handwritten-note { color: var(--premium-muted); }
.preview-demo, .document-paper, .floating-note, .mini-clients, .mini-finance,
.stack-front, .after-paper { background: #FFFFFF; border-color: var(--premium-border); }
.document-paper, .floating-note strong, .mini-clients p, .stack-brand { color: var(--premium-ink); }
.sample-monogram, .sample-total strong, .mini-finance strong, .mini-finance b, .stack-line b { color: var(--premium-ink); }
.sample-monogram > span, .stack-brand > span:first-child > span { color: var(--premium-orange); }
.sample-total, .stack-bottom { background: var(--premium-soft); border-color: #F0D5C6; color: var(--premium-ink); }
.stack-back, .before-paper { background: var(--premium-surface); border-color: var(--premium-border); }
.stack-front hr, .stack-line, .paper-signature { border-color: var(--premium-border); }
.fake-line, .finance-bar { background: var(--premium-border); }
.finance-bar > span, .mini-finance i { background: var(--premium-orange); }
.after-paper ul { color: var(--premium-muted); }
.after-paper li span { color: var(--premium-ink); }
.preview-tabs button { min-height: 44px; color: var(--premium-muted); font-size: 12px; }
.preview-tabs button[aria-selected="true"] { color: var(--premium-ink); border-color: var(--premium-orange); background: var(--premium-soft); }
.floating-note, .stack-front, .auth-floating-note { box-shadow: 0 8px 24px rgb(22 22 22 / 6%); }

/* Calm supporting sections, an accessible FAQ and an open white footer. */
.page-faq, .faq-section, .faq-list details { background: #FFFFFF; border-color: var(--premium-border); }
.faq-list summary, .page-faq .faq-list summary { color: var(--premium-ink); font-size: 15px; line-height: 1.6; font-weight: 400; }
.faq-list summary > span { color: var(--premium-ink); border-color: var(--premium-border); border-radius: 8px; background: var(--premium-surface); }
.faq-list details > p, .page-faq .faq-list details > p { color: var(--premium-muted); font-size: 14px; line-height: 1.85; }
.closing-card { background: var(--premium-surface); border-color: var(--premium-border); border-radius: 20px; padding: 32px 24px; box-shadow: none; }
.closing-card p:not(.eyebrow) { color: var(--premium-muted); font-size: 14px; line-height: 1.8; }
.closing-card .eyebrow { font-size: 10px; }
.closing-card small { color: var(--premium-muted); font-size: 12px; line-height: 1.7; }
.site-footer { background: #FFFFFF; border-color: var(--premium-border); }
.footer-grid h3, .footer-bottom a, .footer-grid a:hover { color: var(--premium-ink); }
.footer-brand > span, .footer-preview, .footer-bottom, .footer-grid > div > a:not(.brand) { color: var(--premium-muted); }
.footer-grid > div > a:not(.brand) { min-height: 44px; font-size: 13px; line-height: 1.7; }
.footer-grid h3 { font-size: 12px; font-weight: 500; }
.footer-bottom { border-color: var(--premium-border); font-size: 11px; }

/* Authentication is a clear, pre-launch form preview; error states remain distinct. */
.auth-story { background: var(--premium-surface); border-color: var(--premium-border); border-radius: 20px; }
.auth-story h2, .auth-form-content h1 { color: var(--premium-ink); font-weight: 400; letter-spacing: -.035em; }
.auth-story h2 em { color: var(--premium-ink); }
.auth-eyebrow { background: #FFFFFF; border-color: var(--premium-border); border-radius: 6px; color: var(--premium-muted); }
.auth-eyebrow-light > span { background: var(--premium-orange); }
.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(--premium-muted); }
.auth-field label, .auth-field input, .auth-sample-paper,
.auth-sample-top b, .auth-sample-item b, .auth-floating-note { color: var(--premium-ink); }
.auth-back-link { border-color: var(--premium-border); background: #FFFFFF; color: var(--premium-ink) !important; }
.auth-back-link:hover { background: var(--premium-surface); border-color: #C8BDB6; color: var(--premium-ink) !important; }
.auth-field input { min-height: 52px; border-color: #C8BDB6; border-radius: 10px; background: #FFFFFF; font-size: 16px; }
.auth-field input::placeholder { color: var(--premium-muted); }
.auth-field input:hover { border-color: #92877E; }
.auth-field input:focus { border-color: var(--premium-ink); box-shadow: 0 0 0 3px var(--premium-soft); }
.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(--premium-ink); }
.auth-awareness input { accent-color: var(--premium-ink); }
.auth-preview-notice, .auth-feedback, .auth-recovery p, .auth-noscript,
.auth-sample-total { background: var(--premium-soft); border-color: #F0D5C6; }
.auth-feedback, .auth-noscript { color: var(--premium-ink); }
.auth-switch, .auth-sample-rule { border-color: var(--premium-border); }
.auth-story-divider { background: var(--premium-border); }
.auth-sample-paper, .auth-floating-note { background: #FFFFFF; border-color: var(--premium-border); }
.auth-sample-paper { transform: none; box-shadow: 0 12px 32px rgb(22 22 22 / 7%); }
.auth-floating-note { transform: none; }
.auth-note-icon { background: var(--premium-soft); color: var(--premium-ink); }
.auth-sample-footer span:last-child { color: var(--premium-ink); }
.auth-skip { color: var(--premium-ink) !important; border-radius: 10px; }
.auth-feedback[data-state="error"] { background: #FFF4F2; border-color: #D7ABA1; color: #982D2D; }
.auth-field input[aria-invalid="true"] { border-color: #A53636; }
.auth-field-error { color: #A53636; }
.auth-awareness input[aria-invalid="true"] { outline-color: #A53636; }

/* Brand reference page shares the same visual system. */
.brand-guide { width: min(1160px, 100%); padding: 28px 20px 64px; color: var(--premium-ink); }
.brand-guide header, .brand-guide footer { border-color: var(--premium-border); }
.brand-guide header > a, .brand-guide footer { color: var(--premium-ink); }
.brand-guide header > a, .brand-guide footer a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.brand-hero { padding: 40px 0 32px; }
.brand-hero h1 { font-size: clamp(34px, 8.4vw, 38px); font-weight: 400; line-height: 1.13; letter-spacing: -.04em; }
.brand-hero h1 em { color: var(--premium-ink); }
.brand-guide h2, .brand-guide h3 { color: var(--premium-ink); font-weight: 500; letter-spacing: -.025em; }
.brand-hero > p:last-child, .brand-direction p, .brand-direction ul,
.swatch-info code, .swatch-info p, .brand-sample p { color: var(--premium-muted); }
.brand-hero > p:last-child { font-size: 15px; line-height: 1.8; }
.swatch, .brand-direction { border-color: var(--premium-border); border-radius: 16px; background: #FFFFFF; }
.swatch-info strong { color: var(--premium-ink); }
.swatch-info p { font-size: 12px; line-height: 1.7; }
.brand-direction { padding: 24px; }
.brand-direction p, .brand-direction ul { font-size: 14px; line-height: 1.85; }
.type-display { color: var(--premium-ink); font-weight: 400; font-size: 34px; line-height: 1.2; letter-spacing: -.035em; }
.brand-sample { padding: 28px 24px; border-color: var(--premium-border); border-radius: 20px; background: var(--premium-surface); }
.brand-sample h3 { font-size: 30px; font-weight: 400; line-height: 1.2; }
.brand-sample p { font-size: 14px; line-height: 1.8; }
.brand-principles span { border-color: var(--premium-border); border-radius: 7px; background: var(--premium-surface); color: var(--premium-ink); }

@media (min-width: 581px) {
  .container { width: min(1160px, calc(100% - 56px)); }
  .section { padding: 80px 0; }
  .page-hero, .resource-hero { padding: 48px 0 64px; }
  .hero h1, .page-hero h1, .resource-hero h1, .guide-heading h1,
  .hero .hero-finance-grid h1 { font-size: 48px; }
  .section-intro h2, .section-header h2, .section-heading h2, .story-grid h2,
  .stage-grid h2, .workflow-intro h2, .clarity-copy h2, .faq-grid h2, .page-faq h2,
  .closing-card h2 { font-size: 38px; }
  .resource-card, .benefit-card { padding: 30px; }
  .resource-card { min-height: 310px; }
  .closing-card { padding: 44px; }
}
@media (min-width: 821px) {
  .brand-guide { padding: 40px 28px 96px; }
  .brand-hero { padding: 64px 0 48px; }
  .brand-hero h1 { font-size: 60px; }
  .type-display { font-size: 44px; }
  .brand-sample { padding: 40px; }
  .site-header .header-inner { width: min(1256px, calc(100% - 56px)); height: 84px; min-height: 84px; gap: 20px; }
  .header-inner .brand img { width: 160px; max-width: 160px; }
  .site-header nav { gap: 20px; background: transparent; }
  .site-header nav > a, .site-header nav > a:nth-child(3), .login-link { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; }
  .header-actions > .button { font-size: 12px; padding: 12px 17px; }
  .hero { padding-top: 52px; }
  .section { padding: 96px 0; }
  .page-hero, .resource-hero { padding: 56px 0 80px; }
  .section-heading { margin-bottom: 40px; }
  .section-heading > p:not(.eyebrow), .page-lead,
  .page-intro > p:not(.eyebrow), .resource-hero-grid > div > p:not(.eyebrow) { font-size: 16px; line-height: 1.85; }
  .section-intro h2, .section-header h2, .section-heading h2, .story-grid h2,
  .stage-grid h2, .workflow-intro h2, .clarity-copy h2, .faq-grid h2, .page-faq h2,
  .closing-card h2 { font-size: clamp(36px, 3.4vw, 45px); }
  .hero h1, .page-hero h1, .resource-hero h1, .guide-heading h1 { font-size: clamp(48px, 4.7vw, 62px); }
  .closing-card { padding: 56px; }
  .faq-list summary, .page-faq .faq-list summary { font-size: 16px; }
  .auth-story h2 { font-size: clamp(36px, 3.45vw, 52px); }
  .auth-form-content h1 { font-size: 38px; }
}
@media (min-width: 1000px) {
  .hero .hero-grid.hero-finance-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4.4vw, 64px); padding-bottom: 72px; }
  .hero .hero-finance-grid h1 { font-size: clamp(48px, 4.7vw, 62px); font-weight: 400; line-height: 1.12; }
  .hero-finance-grid .hero-description { font-size: 16px; line-height: 1.85; }
  .hero-finance-grid .hero-actions { margin-top: 28px; gap: 12px; }
}
@media (max-width: 820px) {
  .site-header nav { top: 71px; left: 0; right: 0; border: 0; border-bottom: 1px solid var(--premium-border); border-radius: 0 0 16px 16px; padding: 16px 20px 22px; background: #FFFFFF; box-shadow: 0 12px 24px rgb(22 22 22 / 6%); max-height: calc(100dvh - 84px); }
  .site-header nav > a, .site-header nav > a:nth-child(3) { min-height: 46px; padding: 12px; font-size: 15px; }
  .page-hero-grid, .resource-hero-grid, .story-grid, .stage-grid { gap: 32px; }
  .site-header nav .mobile-auth { min-height: 44px; color: var(--premium-ink); }
}
@media (max-width: 580px) {
  .hero h1 br { display: none; }
  .hero .hero-finance-grid h1 { font-size: clamp(34px, 8.4vw, 38px); }
  .hero-finance-grid .hero-actions { width: 100%; }
  .hero-finance-grid .hero-actions > .button { width: 100%; }
  .page-hero h1, .resource-hero h1, .guide-heading h1 { font-size: clamp(34px, 8.4vw, 38px); }
  .hero .hero-finance-grid .hero-copy .eyebrow { font-size: 9px; }
  .resource-card { min-height: 0; }
  .resource-grid, .library-grid, .benefits-grid { gap: 16px; }
  .library-card .model-card-copy { padding: 22px; }
  .filter-group { gap: 8px; }
  .filter-group button { padding-inline: 13px; }
  .editorial-photo img, .page-hero-grid .editorial-photo img { border-radius: 16px; }
  .model-detail-main .guide-heading { margin-bottom: 28px; }
  .auth-form-content h1 { font-size: 34px; line-height: 1.18; }
  .auth-brand img { width: 150px; height: auto; }
}
@media (max-width: 359px) {
  .container, .site-header .header-inner { width: calc(100% - 32px); }
  .site-header .header-inner { gap: 8px; }
  .header-inner .brand img { width: 110px; max-width: 110px; }
  .header-actions > .button { min-width: 87px; padding-inline: 9px; font-size: 11px; }
  .hero .hero-finance-grid h1, .hero h1, .page-hero h1, .resource-hero h1, .guide-heading h1 { font-size: 34px; }
  .hero-copy .eyebrow, .hero-finance-grid .hero-copy .eyebrow { font-size: 9px; letter-spacing: .055em; }
}
@media print {
  .document-example, .document-premium { background: #FFFFFF !important; color: var(--premium-ink) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  .document-example .doc-brand-row, .document-example .doc-client-row,
  .document-example td, .document-example .guide-total { border-color: var(--premium-border); }
  .document-premium.theme-executivo .doc-brand-row { background: var(--premium-ink) !important; border-radius: 0; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .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; }
  .document-premium.theme-executivo .premium-monogram { color: #FFFFFF !important; }
  .document-premium .guide-total, .document-premium th { background: #FFFFFF !important; }
}
@media (prefers-reduced-motion: reduce) {
  .resource-card:hover, .model-card:hover, .library-card:hover .model-sheet { transform: none; }
}
