/* ============================================================================
   CELERA landing · paleta partilhada com a pagina Produtos

   Esta folha e intencionalmente carregada por ultimo. Ela altera apenas cor,
   superficie, contraste e tratamento cromatico das imagens; dimensoes,
   tipografia, conteudo, movimento e comportamento continuam nas folhas-base.
   ========================================================================== */

:root,
:root[data-theme='dark'] {
  --paper: #1d1c19;
  --paper-alt: #211f1b;
  --paper-hero: #1d1c19;
  --card: #292620;
  --dark-panel: #24211c;
  --ink: #f2e5cf;
  --body: #d1c0a6;
  --muted: #a99a84;
  --faint: #817565;
  --accent: #c9522e;
  --accent-deep: #a94127;
  --accent-ink: #c9522e;
  --accent-contrast: #1d1c19;
  --accent-10: rgba(201, 82, 46, .10);
  --accent-14: rgba(201, 82, 46, .14);
  --accent-22: rgba(201, 82, 46, .22);
  --accent-wash: #2e251f;
  --hairline: #3d352c;
  --hairline-soft: #302a24;
  --state-off: #817565;
  --state-warn: #c9522e;
  --state-live: #d6a274;
  --neon: #c9522e;
  --neon-deep: #a94127;
  --gold: #c9522e;
  --banda: #1d1c19;
  --banda-arco: rgba(201, 82, 46, .055);
  --banda-ink: #f2e5cf;
  --banda-body: #d1c0a6;
  --banda-muted: #a99a84;
  --banda-faint: #817565;
  --banda-tone: #c9522e;
  --banda-tone-deep: #a94127;
  --banda-hair: rgba(255, 255, 255, .10);
  --banda-hair-soft: rgba(255, 255, 255, .055);
  --banda-nested: #292620;
  --glass-surface: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
  --glass-border: rgba(255, 255, 255, .10);
  --glass-shadow: 0 20px 48px -30px rgba(0, 0, 0, .82);
  --glass-edge: inset 0 1px 0 rgba(255, 255, 255, .055);
  --card-ink: #f2e5cf;
  --card-body: #d1c0a6;
  --card-muted: #a99a84;
  --card-faint: #817565;
  --card-tone: #c9522e;
  --card-tone-deep: #a94127;
  --card-gold: #c9522e;
  --card-nested: rgba(255, 255, 255, .035);
  --card-panel: #24211c;
  --shadow-card: 0 4px 14px rgba(0, 0, 0, .26);
  --shadow-lift: 0 18px 38px -24px rgba(0, 0, 0, .76);
  --shadow-float: 0 22px 54px -28px rgba(0, 0, 0, .86);
  --shadow-accent: 0 12px 28px -14px rgba(201, 82, 46, .38);
  --header: rgba(16, 17, 18, .88);
  color-scheme: dark;
}

:root[data-theme='light'] {
  --paper: #f6ede0;
  --paper-alt: #eee2d3;
  --paper-hero: #f6ede0;
  --card: #fffaf2;
  --dark-panel: #2b2722;
  --ink: #2b2722;
  --body: #51463b;
  --muted: #756657;
  --faint: #847564;
  --accent: #c9522e;
  --accent-deep: #a94127;
  --accent-ink: #ad4529;
  --accent-contrast: #fffaf2;
  --accent-10: rgba(201, 82, 46, .10);
  --accent-14: rgba(201, 82, 46, .14);
  --accent-22: rgba(201, 82, 46, .22);
  --accent-wash: #efd9bf;
  --hairline: #ded0bf;
  --hairline-soft: #eee2d5;
  --state-off: #847564;
  --state-warn: #c9522e;
  --state-live: #b75b3e;
  --neon: #c9522e;
  --neon-deep: #a94127;
  --gold: #c9522e;
  --banda: #f6ede0;
  --banda-arco: rgba(201, 82, 46, .055);
  --banda-ink: #2b2722;
  --banda-body: #51463b;
  --banda-muted: #756657;
  --banda-faint: #847564;
  --banda-tone: #c9522e;
  --banda-tone-deep: #a94127;
  --banda-hair: rgba(43, 39, 34, .13);
  --banda-hair-soft: rgba(43, 39, 34, .07);
  --banda-nested: #fffaf2;
  --glass-surface: linear-gradient(180deg, #fffaf2, #fffaf2);
  --glass-border: rgba(43, 39, 34, .10);
  --glass-blur: none;
  --glass-shadow: 0 4px 14px rgba(43, 39, 34, .07);
  --glass-edge: inset 0 1px 0 #fffaf2;
  --card-ink: #2b2722;
  --card-body: #51463b;
  --card-muted: #756657;
  --card-faint: #847564;
  --card-tone: #c9522e;
  --card-tone-deep: #a94127;
  --card-gold: #c9522e;
  --card-nested: rgba(43, 39, 34, .045);
  --card-panel: #2b2722;
  --shadow-card: 0 4px 12px rgba(43, 39, 34, .06);
  --shadow-lift: 0 14px 32px -18px rgba(43, 39, 34, .25);
  --shadow-float: 0 18px 48px -24px rgba(43, 39, 34, .28);
  --shadow-accent: 0 12px 28px -14px rgba(201, 82, 46, .30);
  --header: rgba(246, 247, 246, .94);
  color-scheme: light;
}

body { background: var(--paper); color: var(--body); }

/* Marca, navegacao e menus. */
.brand { color: var(--ink); }
.brand svg { stroke: var(--accent); }
.product-rail,
.menu-product-rail,
.menu-drawer { background: var(--card); border-color: var(--hairline); }
:root[data-theme='light'] .masthead[data-stuck='true'] .masthead-pill,
:root[data-theme='dark'] .masthead[data-stuck='true'] .masthead-pill {
  background: var(--header);
  border-color: var(--hairline);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

/* Herói: conserva a sala e o nucleo, trocando apenas a familia cromatica. */
:root[data-theme='dark'] .hero-room {
  --room-ceiling-near: #343738;
  --room-ceiling-far: #292c2e;
  --room-wall-near: #303335;
  --room-wall-far: #2b2e30;
  --room-back-top: #2d3032;
  --room-back-bottom: #2b2e30;
  --room-floor-far: #2d3032;
  --room-floor-near: #353839;
  --room-light: #f6ead4;
  --room-grid: #806f5c;
}
:root[data-theme='light'] .hero-room {
  --room-ceiling-near: #f2f0ea;
  --room-ceiling-far: #ddd9ce;
  --room-wall-near: #d7d3c8;
  --room-wall-far: #e5e2da;
  --room-back-top: #e4e1d8;
  --room-back-bottom: #d8d4c9;
  --room-floor-far: #dedbd2;
  --room-floor-near: #f0eee8;
  --room-light: #fffaf2;
  --room-grid: #88775c;
}
.nucleo-orbe {
  --nucleo-halo: #c9522e;
  --nucleo-fio: #f6ead4;
  --nucleo-quente: #a94127;
  --nucleo-claro: #fff4e2;
}
.hero-shell .accent,
:root[data-theme='light'] .hero-shell .accent,
:root[data-theme='dark'] .hero-shell .accent { color: var(--accent-ink) !important; }
.hero-actions .btn--quiet { border-color: var(--accent-22); }

/* Uma linguagem de cor unica em toda a landing. */
:is(#inicio, #publico, #funciona, #prova, #organograma, #entregas, #custo, #fundador, #provas-sociais, #diagnostico, #perguntas, #faq, .rodape) {
  --ink: #f2e5cf;
  --body: #d1c0a6;
  --muted: #a99a84;
  --faint: #817565;
  --accent: #c9522e;
  --accent-deep: #a94127;
  --accent-ink: #c9522e;
  --accent-contrast: #1d1c19;
  --hairline: #3d352c;
  --hairline-soft: #302a24;
  --card: #292620;
  --paper: #1d1c19;
  color: var(--body);
}
:root[data-theme='dark'] :is(#inicio, #publico, #funciona, #prova, #organograma, #entregas, #custo, #fundador, #provas-sociais, #diagnostico, #perguntas, #faq, .rodape) {
  --ink: #f2e5cf;
  --body: #d1c0a6;
  --muted: #a99a84;
  --faint: #817565;
  --accent: #c9522e;
  --accent-deep: #a94127;
  --accent-ink: #c9522e;
  --accent-contrast: #1d1c19;
  --hairline: #3d352c;
  --hairline-soft: #302a24;
  --card: #292620;
  --paper: #1d1c19;
  color: var(--body);
}
:root[data-theme='light'] :is(#inicio, #publico, #funciona, #prova, #organograma, #entregas, #custo, #fundador, #provas-sociais, #diagnostico, #perguntas, #faq, .rodape) {
  --ink: #2b2722;
  --body: #51463b;
  --muted: #756657;
  --faint: #847564;
  --accent: #c9522e;
  --accent-deep: #a94127;
  --accent-ink: #ad4529;
  --accent-contrast: #fffaf2;
  --hairline: #ded0bf;
  --hairline-soft: #eee2d5;
  --card: #fffaf2;
  --paper: #f6ede0;
  color: var(--body);
}

:root[data-theme='dark'] :is(#prova, #entregas, #fundador, #perguntas, #organograma, .rodape) {
  background-color: #1d1c19;
  background-image: none;
}
:root[data-theme='dark'] :is(#publico, #custo) {
  background-color: #211f1b;
  background-image:
    radial-gradient(42rem 28rem at 12% 18%, rgba(201, 82, 46, .095), transparent 68%),
    radial-gradient(38rem 28rem at 88% 82%, rgba(242, 229, 207, .045), transparent 70%),
    linear-gradient(118deg, #181816, #1d1c19 58%, #1d1c19);
}
:root[data-theme='dark'] #funciona {
  background-color: #1d1c19;
  background-image:
    linear-gradient(90deg, rgba(16, 17, 18, .92), rgba(20, 21, 22, .84), rgba(16, 17, 18, .94)),
    url('./method-workflow-bg.webp');
}
:root[data-theme='dark'] #organograma {
  --accent: #c9522e;
  --accent-22: rgba(201, 82, 46, .42);
  background-color: #1d1c19;
  background-image:
    linear-gradient(90deg, rgba(16, 17, 18, .92), rgba(20, 21, 22, .84), rgba(16, 17, 18, .94)),
    url('./method-workflow-bg.webp');
}
:root[data-theme='light'] #organograma {
  --accent: #c9522e;
  --accent-22: rgba(201, 82, 46, .42);
  background-color: #f6ede0;
  background-image:
    linear-gradient(90deg, rgba(246, 247, 246, .93), rgba(238, 240, 238, .84), rgba(246, 247, 246, .94)),
    url('./method-workflow-bg.webp');
}
:root[data-theme='dark'] #diagnostico {
  background-color: #1d1c19;
  background-image:
    linear-gradient(90deg, rgba(16, 17, 18, .94), rgba(20, 21, 22, .86), rgba(16, 17, 18, .95)),
    url('./diagnostic-focus-bg.webp');
}
:root[data-theme='dark'] #provas-sociais {
  background: linear-gradient(118deg, #1e1d18, #211f1b 52%, #1d1c19);
  color: var(--body);
}

:root[data-theme='light'] :is(#prova, #entregas, #fundador, #perguntas, #organograma, .rodape) {
  background-color: #f6ede0;
  background-image: none;
}
:root[data-theme='light'] :is(#publico, #custo) {
  background-color: #eee2d3;
  background-image:
    radial-gradient(42rem 28rem at 12% 18%, rgba(201, 82, 46, .10), transparent 68%),
    radial-gradient(38rem 28rem at 88% 82%, rgba(58, 111, 61, .055), transparent 70%),
    linear-gradient(118deg, #f5f1e8, #eee2d3 58%, #e7eae7);
}
:root[data-theme='light'] #funciona {
  background-color: #f6ede0;
  background-image:
    linear-gradient(90deg, rgba(246, 247, 246, .93), rgba(238, 240, 238, .84), rgba(246, 247, 246, .94)),
    url('./method-workflow-bg.webp');
}
:root[data-theme='light'] #diagnostico {
  background-color: #f6ede0;
  background-image:
    linear-gradient(90deg, rgba(246, 247, 246, .95), rgba(238, 240, 238, .86), rgba(246, 247, 246, .96)),
    url('./diagnostic-focus-bg.webp');
}
:root[data-theme='light'] #provas-sociais {
  background: linear-gradient(118deg, #efd9bf, #eee2d3 56%, #f6ede0);
  color: var(--body);
}

/* Corrige regras antigas que gravavam azul ou branco directamente. */
:root[data-theme='dark'] :is(#publico, #custo) :is(h1, h2, h3, h4, h5, h6, p, span, li, label, small, strong, a),
:root[data-theme='light'] :is(#publico, #custo) :is(h1, h2, h3, h4, h5, h6, p, span, li, label, small, strong, a) {
  color: inherit;
}
:is(#inicio, #publico, #funciona, #prova, #organograma, #entregas, #custo, #fundador, #diagnostico, #perguntas, #faq, .rodape) .accent,
:root[data-theme='light'] :is(#inicio, #publico, #funciona, #prova, #organograma, #entregas, #custo, #fundador, #diagnostico, #perguntas, #faq, .rodape) .accent,
:root[data-theme='dark'] :is(#inicio, #publico, #funciona, #prova, #organograma, #entregas, #custo, #fundador, #diagnostico, #perguntas, #faq, .rodape) .accent,
:root[data-theme='light'] :is(#publico, #custo) .accent,
:root[data-theme='dark'] :is(#publico, #custo) .section--head :is(.t-section, .accent) {
  color: var(--accent-ink) !important;
}
#desafios-cards .painel h3,
:root[data-theme='light'] #desafios-cards .painel h3,
:root[data-theme='dark'] #desafios-cards .painel h3,
:root[data-theme='dark'] #metodo-cards .passo h3,
:root[data-theme='dark'] #prova .prod h3 { color: var(--accent-ink) !important; }

:root[data-theme='light'] #perguntas .section--head :is(.eyebrow, .t-section, .accent),
:root[data-theme='dark'] #perguntas .section--head :is(.eyebrow, .t-section, .accent) {
  color: var(--accent-ink) !important;
}
#perguntas .faq-item {
  background: var(--glass-surface);
  border-color: var(--glass-border);
  color: var(--ink);
}
#perguntas .faq-item summary,
#perguntas .faq-item[open] summary { color: var(--ink); }
#perguntas .faq-corpo p { color: var(--muted); }
#perguntas .faq-item summary::after { background: var(--accent-10); color: var(--accent-ink); }
#perguntas :is(.prova-social-card blockquote, .prova-social-pessoa) { color: var(--ink); }

:is(#funciona, #prova, #organograma, #diagnostico, #publico, #custo, #fundador, #faq) :is(.btn--accent, .btn--dark, .btn--contact),
:root[data-theme='dark'] :is(.btn--accent, .btn--dark:not(.masthead-cta), .btn--contact),
.hero-actions .btn--accent {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--accent-contrast) !important;
}
:is(#funciona, #prova, #organograma, #diagnostico, #publico, #custo, #fundador, #faq) :is(.btn--accent, .btn--dark, .btn--contact):hover,
.hero-actions .btn--accent:hover {
  background: var(--accent-deep) !important;
  border-color: var(--accent-deep) !important;
  color: var(--accent-contrast) !important;
}
#custo .calc-cta,
#custo .calc-cta .ph-icon { color: #1d1c19 !important; }

/* As cenas internas mantem o desenho pontilhado, agora em dourado neutro. */
:root[data-theme='dark'] :is(#publico, #funciona) .card-scene {
  --scene-blue: #c9522e;
  --scene-text: #d1c0a6;
  --scene-line: #6e6b61;
  --scene-wash: #2e251f;
  --scene-paper: #292620;
  --scene-dim: #a99a84;
  background-color: #24211c;
  background-image: radial-gradient(circle, rgba(201, 82, 46, .20) .7px, transparent .8px);
  border-color: var(--hairline);
  color: var(--body);
}
:root[data-theme='light'] :is(#publico, #funciona) .card-scene {
  --scene-blue: #c9522e;
  --scene-text: #51463b;
  --scene-line: #a79b87;
  --scene-wash: #efd9bf;
  --scene-paper: #fffaf2;
  --scene-dim: #847564;
  background-color: #fffaf2;
  background-image: radial-gradient(circle, rgba(201, 82, 46, .18) .7px, transparent .8px);
  border-color: var(--hairline);
  color: var(--body);
}
:root[data-theme='dark'] :is(#publico, #funciona) .scene-white { fill: #24211c; }
:root[data-theme='dark'] :is(#publico, #funciona) .scene-on-solid { stroke: #24211c; }
:root[data-theme='dark'] #publico .scene-controls { color: var(--body); }

/* Paleta clara: tokens cromáticos sem forçar as superfícies das secções. */
:root[data-theme='light'] :is(#inicio,#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  --ink:#2b2722; --body:#51463b; --muted:#756657; --faint:#847564;
  --accent:#c9522e; --accent-deep:#a94127; --accent-ink:#ad4529; --accent-contrast:#fffaf2;
  --hairline:#ded0bf; --hairline-soft:#eee2d5; --card:#fffaf2; --paper:#f6ede0;
  color:var(--body);
}
:root[data-theme='light'] :is(h1,h2,h3,h4,h5,h6,p,li,label,small,summary) { color:inherit; }
:root[data-theme='light'] :is(.accent,.eyebrow,.t-section,.card h3,.card h4) { color:var(--accent-ink); }
:root[data-theme='light'] :is(input,select,textarea) { color:var(--ink); background-color:#fffaf2; border-color:var(--hairline); }
:root[data-theme='light'] :is(input,select,textarea)::placeholder { color:var(--muted); opacity:1; }
:root[data-theme='light'] :is(input,select,textarea):focus-visible { outline-color:var(--accent); border-color:var(--accent); }
:root[data-theme='dark'] #custo .calc-saida-rot { color: var(--card-muted); }
:root[data-theme='dark'] #custo .calc-saida-num { color: var(--accent); }
:root[data-theme='dark'] #custo .calc-conta,
:root[data-theme='dark'] #custo .calc-horas-ano { color: var(--card-body); }
:root[data-theme='dark'] #provas-sociais .prova-social-card {
  background: var(--glass-surface) !important; border-color: var(--glass-border) !important;
}
:root[data-theme='dark'] #provas-sociais .prova-social-foto {
  background: var(--dark-panel) !important; border-color: var(--hairline) !important;
}
:root[data-theme='dark'] #provas-sociais :is(.prova-social-marca,.prova-social-empresa) { color: var(--muted) !important; }
:root[data-theme='dark'] #provas-sociais :is(.prova-social-card blockquote,.prova-social-pessoa) { color: var(--ink) !important; }
:root[data-theme='dark'] #provas-sociais .prova-arrow { background: var(--accent-10); color: var(--accent); }
:root[data-theme='dark'] #provas-sociais .prova-arrow--prev { background: var(--card); color: var(--muted); }

:root[data-theme='dark'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact) {
  background: var(--accent) !important; border-color: var(--accent) !important; color: var(--accent-contrast) !important;
}
:root[data-theme='dark'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact):is(:hover,:focus-visible,:active) {
  background: var(--accent-deep) !important; border-color: var(--accent-deep) !important; color: var(--accent-contrast) !important;
}
:root[data-theme='dark'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact) :is(svg,.ph-icon) { color: var(--accent-contrast) !important; }
:root[data-theme='dark'] .calc-campo input[type='range']::-webkit-slider-thumb,
:root[data-theme='dark'] .calc-campo input[type='range']::-moz-range-thumb { box-shadow: 0 1px 5px -1px rgba(201,82,46,.45); }

:root[data-theme='light'] #custo .calc-saida {
  background: #fffaf2 !important; border: 1px solid var(--hairline); color: var(--body);
}
:root[data-theme='light'] #custo .calc-saida-rot { color: var(--muted); }
:root[data-theme='light'] #custo .calc-saida-num { color: var(--accent); }
:root[data-theme='light'] #custo .calc-conta,
:root[data-theme='light'] #custo .calc-horas-ano { color: var(--body); }
:root[data-theme='light'] #provas-sociais .prova-social-card {
  border-color: var(--hairline) !important;
}
:root[data-theme='light'] #provas-sociais .prova-social-foto {
  background: #eee2d3 !important; border-color: var(--hairline) !important;
}
:root[data-theme='light'] #provas-sociais .prova-social-marca { color: var(--muted) !important; }
:root[data-theme='light'] #provas-sociais .prova-social-card blockquote,
:root[data-theme='light'] #provas-sociais .prova-social-pessoa { color: var(--ink) !important; }
:root[data-theme='light'] #provas-sociais .prova-social-empresa { color: var(--muted) !important; }
:root[data-theme='light'] #provas-sociais .prova-arrow { background: var(--accent-10); color: var(--accent-ink); }
:root[data-theme='light'] #provas-sociais .prova-arrow--prev { background: #eee2d3; color: var(--muted); }
:root[data-theme='light'] :is(#desafios-cards .card,#metodo-cards .card,#prova .prod.card) {
  border-color: var(--hairline) !important;
}
:root[data-theme='light'] :is(#desafios-cards .card::before,#metodo-cards .card::before,#prova .prod.card::before) { background: var(--accent-14) !important; }
:root[data-theme='light'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact) {
  background: var(--accent) !important; border-color: var(--accent) !important; color: #fffaf2 !important;
}
:root[data-theme='light'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact):is(:hover,:focus-visible,:active) {
  background: var(--accent-deep) !important; border-color: var(--accent-deep) !important; color: #fffaf2 !important;
}
:root[data-theme='light'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact) :is(svg,.ph-icon) { color: #fffaf2 !important; }
:root[data-theme='light'] .calc-campo input[type='range']::-webkit-slider-thumb,
:root[data-theme='light'] .calc-campo input[type='range']::-moz-range-thumb { box-shadow: 0 1px 5px -1px rgba(201,82,46,.35); }

/* Correc��es de contraste nas �reas que ainda tinham regras antigas mais espec�ficas. */
:root[data-theme='light'] #inicio #hero-title { color: var(--ink) !important; }
:root[data-theme='light'] #inicio #hero-title .accent { color: var(--accent-ink) !important; }
:root[data-theme='light'] #desafios-cards .painel h3 { color: var(--accent-ink) !important; }
:root[data-theme='light'] #desafios-cards .painel,
:root[data-theme='light'] #desafios-cards .painel.card {
  border-color: var(--hairline) !important; color: var(--body) !important;
}
:root[data-theme='light'] #desafios-cards .painel::before { background: var(--accent-14) !important; }
:root[data-theme='light'] #perguntas .section--head :is(.eyebrow,.t-section,.accent) { color: var(--accent-ink) !important; }
:root[data-theme='light'] #perguntas .faq-item { border-color: var(--hairline) !important; color: var(--ink) !important; }
:root[data-theme='light'] #perguntas .faq-item summary,
:root[data-theme='light'] #perguntas .faq-item[open] summary { color: var(--ink) !important; }
:root[data-theme='light'] #perguntas .faq-corpo p { color: var(--body) !important; }
:root[data-theme='light'] #perguntas .faq-item summary::after { background: var(--accent-10) !important; color: var(--accent-ink) !important; }
:root[data-theme='light'] #funciona .card-scene { --scene-blue:var(--accent-ink); --scene-text:var(--body); --scene-line:#ded0bf; --scene-wash:var(--accent-wash); --scene-paper:#fffaf2; --scene-dim:var(--muted); }

:root[data-theme='light'] #inicio .hero-shell :is(.eyebrow,.t-display) { color:var(--ink); }
:root[data-theme='light'] #inicio .hero-shell .accent { color:var(--accent-ink) !important; }
:root[data-theme='light'] .btn--contact,
:root[data-theme='light'] .hero-actions .btn--accent,
:root[data-theme='light'] .masthead .masthead-cta,
:root[data-theme='light'] #menu-drawer .btn--dark {
  background:var(--accent) !important; border-color:var(--accent) !important; color:#fffaf2 !important;
}
:root[data-theme='light'] :is(.btn--contact,.hero-actions .btn--accent,.masthead .masthead-cta,#menu-drawer .btn--dark):is(:hover,:focus-visible,:active) {
  background:var(--accent-deep) !important; border-color:var(--accent-deep) !important; color:#fffaf2 !important;
}
:root[data-theme='dark'] #desafios-cards .painel h3,
:root[data-theme='dark'] #metodo-cards .passo h3,
:root[data-theme='dark'] #prova .prod h3 { color:var(--accent) !important; }
:root[data-theme='dark'] #desafios-cards .card::before,
:root[data-theme='dark'] #metodo-cards .card::before,
:root[data-theme='dark'] #prova .prod.card::before { background:var(--accent-22) !important; }
:root[data-theme='dark'] #perguntas .section--head :is(.eyebrow,.t-section,.accent) { color:var(--accent) !important; }

/* Contraste de texto nas bandas que tinham uma regra branca com maior especificidade. */
:root[data-theme='light'] #publico :is(h1,h2,h3,h4,h5,h6,p,span,li,label,small,strong,a) { color:var(--body) !important; }
:root[data-theme='light'] #custo :is(h1,h2,h3,h4,h5,h6,p,span,li,label,small,strong,a) { color:var(--body) !important; }
:root[data-theme='light'] #publico .section--head .t-section,
:root[data-theme='light'] #custo .section--head .t-section { color:var(--ink) !important; }
:root[data-theme='light'] #publico .section--head .t-section .accent,
:root[data-theme='light'] #custo .section--head .t-section .accent { color:var(--accent-ink) !important; }
:root[data-theme='light'] #publico .painel h3,
:root[data-theme='light'] #custo .calc-saida-num { color:var(--accent-ink) !important; }
:root[data-theme='light'] #publico .painel p,
:root[data-theme='light'] #custo .calc-conta,
:root[data-theme='light'] #custo .calc-horas-ano { color:var(--body) !important; }

/* Tokens locais herdados pelo CSS antigo das sec��es de p�blico e custo. */
:root[data-theme='light'] #publico,
:root[data-theme='light'] #custo {
  --ink:#2b2722; --body:#51463b; --muted:#756657; --faint:#847564;
  --accent:#c9522e; --accent-deep:#a94127; --accent-ink:#ad4529; --accent-contrast:#fffaf2;
  --accent-10:rgba(201,82,46,.10); --accent-14:rgba(201,82,46,.14); --accent-22:rgba(201,82,46,.22);
  --accent-wash:#efd9bf; --hairline:#ded0bf; --hairline-soft:#eee2d5;
  --card:#fffaf2; --paper:#f6ede0; color:var(--body);
}
:root[data-theme='light'] #publico .section--head .t-section { color:var(--ink) !important; }
:root[data-theme='light'] #publico .section--head .t-section .accent { color:var(--accent-ink) !important; }
:root[data-theme='light'] #publico .painel h3 { color:var(--accent-ink) !important; }
:root[data-theme='light'] #custo .calc-saida-num { color:var(--accent-ink) !important; }

/* Cart�es e calculadora redefinem tinta e acento localmente; alinhar esses tokens no tema claro. */
:root[data-theme='light'] #desafios-cards .card,
:root[data-theme='light'] #metodo-cards .card,
:root[data-theme='light'] #prova .prod.card {
  --ink:#2b2722; --body:#51463b; --muted:#756657; --faint:#847564;
  --accent:#c9522e; --accent-deep:#a94127; --accent-ink:#ad4529; --accent-contrast:#fffaf2;
  --tom:#c9522e; --tom-deep:#a94127; --card-tone:#c9522e; --card-tone-deep:#a94127;
  --card-ink:#2b2722; --card-body:#51463b; --card-muted:#756657; --card-faint:#847564;
  --hairline:#ded0bf; --glass-border:rgba(43,39,34,.10); --glass-surface:#fffaf2;
  color:#51463b !important;
}
:root[data-theme='light'] #custo .calc {
  --ink:#2b2722; --body:#51463b; --muted:#756657; --faint:#847564;
  --accent:#c9522e; --accent-deep:#a94127; --accent-ink:#ad4529; --accent-contrast:#fffaf2;
  --neon:#c9522e; --hairline:#ded0bf; --hairline-soft:#eee2d5;
  --card:#fffaf2; --dark-panel:#fffaf2; --card-ink:#2b2722; --card-body:#51463b;
  color:#51463b;
}
:root[data-theme='light'] #custo .calc-saida { color:#51463b !important; }
:root[data-theme='light'] #custo .calc-saida-rot { color:#756657 !important; }
:root[data-theme='light'] #custo .calc-saida-num { color:#ad4529 !important; }
:root[data-theme='light'] #custo :is(.calc-conta,.calc-horas-ano) { color:#51463b !important; }

/* Títulos de secção: tinta escura, com destaque castanho apenas no trecho marcado. */
:root[data-theme='light'] :is(#funciona,#prova,#organograma,#entregas,#fundador,#diagnostico,#perguntas) .section--head .t-section { color:var(--ink) !important; }
:root[data-theme='light'] :is(#funciona,#prova,#organograma,#entregas,#fundador,#diagnostico,#perguntas) .section--head .t-section .accent { color:var(--accent-ink) !important; }
:root[data-theme='light'] :is(#funciona,#prova,#organograma,#entregas,#fundador,#diagnostico,#perguntas) .t-section { color:var(--ink) !important; }
:root[data-theme='light'] :is(#funciona,#prova,#organograma,#entregas,#fundador,#diagnostico,#perguntas) .t-section .accent { color:var(--accent-ink) !important; }
:root[data-theme='dark'] :is(#publico,#custo,#funciona,#prova,#organograma,#entregas,#fundador,#diagnostico,#perguntas) .t-section { color:var(--ink) !important; }
:root[data-theme='dark'] :is(#publico,#custo,#funciona,#prova,#organograma,#entregas,#fundador,#diagnostico,#perguntas) .t-section .accent { color:var(--accent) !important; }
/* Tokens cromáticos de utilitários e cartões aninhados. */
:root[data-theme='light'] :is(#inicio,#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  --accent-10:rgba(201,82,46,.10); --accent-14:rgba(201,82,46,.14); --accent-22:rgba(201,82,46,.22);
  --accent-wash:#efd9bf; --banda-tone:#c9522e; --banda-tone-deep:#a94127;
  --card-tone:#c9522e; --card-tone-deep:#a94127; --card-gold:#c9522e;
}
:root[data-theme='dark'] :is(#inicio,#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  --accent-10:rgba(201,82,46,.10); --accent-14:rgba(201,82,46,.14); --accent-22:rgba(201,82,46,.22);
  --accent-wash:#2e251f; --banda-tone:#c9522e; --banda-tone-deep:#a94127;
  --card-tone:#c9522e; --card-tone-deep:#a94127; --card-gold:#c9522e;
}
:root[data-theme='light'] :is(.tile,.mini-tile,.org-agente-icone,.roster-card-tile) {
  background-color:var(--accent-10) !important; color:var(--accent-ink) !important; border-color:var(--hairline);
}
:root[data-theme='light'] :is(.tile,.mini-tile,.org-agente-icone,.roster-card-tile) :is(svg,.ph-icon) { color:var(--accent-ink) !important; }
:root[data-theme='dark'] :is(.tile,.mini-tile,.org-agente-icone,.roster-card-tile) {
  background-color:var(--accent-10) !important; color:var(--accent) !important; border-color:var(--hairline);
}
:root[data-theme='dark'] :is(.tile,.mini-tile,.org-agente-icone,.roster-card-tile) :is(svg,.ph-icon) { color:var(--accent) !important; }
:root[data-theme='light'] .fundador-retrato { background:var(--accent-10) !important; border-color:var(--hairline); }
:root[data-theme='light'] .fundador-retrato figcaption { color:var(--accent-22) !important; }
:root[data-theme='dark'] .fundador-retrato { background:var(--accent-10) !important; border-color:var(--hairline); }
:root[data-theme='dark'] .fundador-retrato figcaption { color:var(--accent-22) !important; }/* Fundo do organograma alinhado com a secao Funcionalidade. */
:root[data-theme='dark'] #organograma {
  --ink: #f2e5cf; --body: #d1c0a6; --muted: #a99a84; --faint: #817565;
  --accent: #c9522e; --accent-ink: #c9522e; --accent-22: rgba(201, 82, 46, .42);
  --hairline: #3d352c;
  background-color: #1d1c19;
  background-image:
    linear-gradient(90deg, rgba(16, 17, 18, .92), rgba(20, 21, 22, .84), rgba(16, 17, 18, .94)),
    url('./method-workflow-bg.webp');
  color: var(--body);
}
:root[data-theme='light'] #organograma {
  --ink: #2b2722; --body: #51463b; --muted: #756657; --faint: #847564;
  --accent: #c9522e; --accent-ink: #ad4529; --accent-22: rgba(201, 82, 46, .42);
  --hairline: #c8d1ca;
  background-color: #f6ede0;
  background-image:
    linear-gradient(90deg, rgba(246, 247, 246, .93), rgba(238, 240, 238, .84), rgba(246, 247, 246, .94)),
    url('./method-workflow-bg.webp');
  color: var(--body);
}
/* Organograma: ligações e contornos dourados, legíveis nos dois temas. */
:root[data-theme='dark'] #organograma .org-fios path {
  stroke: rgba(201, 82, 46, .68);
  stroke-width: 1.5;
}
:root[data-theme='light'] #organograma .org-fios path {
  stroke: rgba(201, 82, 46, .58);
  stroke-width: 1.5;
}
#organograma :is(.org-dep, .org-agente) {
  border-color: var(--accent-22);
}
#organograma .org-ponto {
  background: var(--accent);
  opacity: .9;
}

/* CTA da calculadora: contraste estável em cada tema. */
:root[data-theme='light'] #custo .calc a.calc-cta,
:root[data-theme='light'] #custo .calc a.calc-cta span,
:root[data-theme='light'] #custo .calc a.calc-cta .ph-icon {
  color: #fffaf2 !important;
}

:root[data-theme='dark'] #custo .calc a.calc-cta,
:root[data-theme='dark'] #custo .calc a.calc-cta span,
:root[data-theme='dark'] #custo .calc a.calc-cta .ph-icon {
  color: #1d1c19 !important;
}
/* Liquid glass: profundidade translúcida apenas nos cartões escuros. */
:root[data-theme='dark'] {
  --glass-surface: linear-gradient(135deg, rgba(255, 255, 255, .115) 0%, rgba(255, 255, 255, .052) 46%, rgba(201, 82, 46, .055) 100%);
  --glass-border: rgba(255, 255, 255, .16);
  --glass-blur: blur(20px) saturate(132%);
  --glass-shadow: 0 24px 54px -34px rgba(0, 0, 0, .92);
  --glass-edge: inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 -1px 0 rgba(255, 255, 255, .035);
}

:root[data-theme='dark'] :is(.card, #perguntas .faq-item) {
  background-color: rgba(41, 38, 32, .64);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border-color: var(--glass-border);
  box-shadow: var(--glass-shadow), var(--glass-edge);
}

:root[data-theme='dark'] :is(.card, #perguntas .faq-item):hover {
  border-color: rgba(201, 82, 46, .52);
  box-shadow: var(--glass-shadow), var(--glass-edge), 0 18px 38px -28px rgba(201, 82, 46, .46);
}

@media (prefers-reduced-transparency: reduce) {
  :root[data-theme='dark'] :is(.card, #perguntas .faq-item) {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: #292620;
  }
}
/* Glassmorphism de referência: vidro fumado, reflexo creme e profundidade discreta. */
:root[data-theme='dark'] {
  --glass-surface: linear-gradient(135deg, rgba(242, 229, 207, .11) 0%, rgba(242, 229, 207, .045) 48%, rgba(201, 82, 46, .052) 100%);
  --glass-border: rgba(242, 229, 207, .18);
  --glass-blur: blur(22px) saturate(118%);
  --glass-shadow: 0 22px 46px -30px rgba(0, 0, 0, .78);
  --glass-edge: inset 0 1px 0 rgba(242, 229, 207, .16), inset 0 -1px 0 rgba(242, 229, 207, .035);
}

:root[data-theme='dark'] :is(.card, #perguntas .faq-item, #organograma .org-dep, #organograma .org-agente) {
  background-color: rgba(35, 33, 29, .73);
  background-image: var(--glass-surface);
  border-color: var(--glass-border);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  box-shadow: var(--glass-shadow), var(--glass-edge);
}

:root[data-theme='dark'] :is(.card, #perguntas .faq-item, #organograma .org-dep, #organograma .org-agente):hover {
  border-color: rgba(242, 229, 207, .32);
  box-shadow: var(--glass-shadow), var(--glass-edge), 0 16px 34px -26px rgba(201, 82, 46, .38);
}
/* Liquidmorphism: reflexos fluidos dentro do vidro, sem movimentar a geometria. */
:root[data-theme='dark'] :is(.card, #perguntas .faq-item, #organograma .org-dep, #organograma .org-agente) {
  background-image:
    radial-gradient(78% 64% at 8% -12%, rgba(242, 229, 207, .15), transparent 62%),
    radial-gradient(74% 72% at 104% 118%, rgba(201, 82, 46, .13), transparent 64%),
    var(--glass-surface);
  background-size: 165% 165%, 180% 180%, 100% 100%;
  background-position: 0% 0%, 100% 100%, 0 0;
}

:root[data-theme='dark'] :is(.card, #perguntas .faq-item) {
  animation: liquid-glass-drift 16s ease-in-out infinite alternate;
}

@keyframes liquid-glass-drift {
  from { background-position: 0% 0%, 100% 100%, 0 0; }
  to { background-position: 18% 14%, 82% 86%, 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  :root[data-theme='dark'] :is(.card, #perguntas .faq-item) {
    animation: none;
  }
}

/* Paleta de referência Upstash aplicada apenas ao herói, no tema escuro. */
:root[data-theme='dark'] #inicio {
  --ink: #ecf8f3;
  --body: #a2aca8;
  --muted: #8f9b96;
  --faint: #687570;
  --accent: #00c995;
  --accent-deep: #00ad82;
  --accent-ink: #00c995;
  --accent-contrast: #04110d;
  --accent-10: rgba(0, 201, 149, .10);
  --accent-22: rgba(0, 201, 149, .24);
  --hairline: rgba(59, 197, 154, .24);
  --hairline-soft: rgba(59, 197, 154, .13);
  --card: rgba(7, 24, 18, .78);
  --paper: #070b0a;
  --banda: #070b0a;
  --banda-ink: #ecf8f3;
  --banda-body: #a2aca8;
  --banda-muted: #8f9b96;
  --banda-tone: #00c995;
  --banda-tone-deep: #00ad82;
  background-color: #070b0a;
  background-image:
    radial-gradient(ellipse 64% 76% at 50% 38%, rgba(0, 96, 69, .23), transparent 74%),
    linear-gradient(180deg, #080c0b 0%, #07100d 58%, #070b0a 100%);
  color: var(--body);
}

:root[data-theme='dark'] #inicio .hero-room {
  --room-ceiling-near: #0a1914;
  --room-ceiling-far: #07120f;
  --room-wall-near: #081510;
  --room-wall-far: #07110e;
  --room-back-top: #07130f;
  --room-back-bottom: #081510;
  --room-floor-far: #07120e;
  --room-floor-near: #0b1914;
  --room-light: #00c995;
  --room-light-opacity: .14;
  --room-grid: #176d58;
}
:root[data-theme='dark'] #inicio .hero-room-grid { stroke-opacity: .16; }
:root[data-theme='dark'] #inicio .hero-room-edges { stroke-opacity: .25; }

:root[data-theme='dark'] #inicio .hero-shell :is(.t-display, .t-display .accent) {
  background-image: linear-gradient(100deg, #00c995 0%, #27c78b 40%, #91bf64 72%, #d6bd43 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
}

:root[data-theme='dark'] #inicio .hero-badge {
  background: rgba(7, 24, 18, .72);
  border-color: rgba(0, 201, 149, .28);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .14);
}

:root[data-theme='dark'] #inicio .hero-actions .btn--accent {
  background: #00c995;
  border-color: #00c995;
  color: #04110d !important;
}
:root[data-theme='dark'] #inicio .hero-actions .btn--accent:hover {
  background: #19d5a1;
  border-color: #19d5a1;
}
:root[data-theme='dark'] #inicio .hero-actions .btn--quiet {
  border-color: rgba(0, 201, 149, .46);
  color: #d6e6df;
}
