/* CELERA — adaptação cromática da referência Upstash, sem alterar composição. */
:root[data-theme='dark'] {
  --paper: #070b0a;
  --paper-alt: #0b1511;
  --paper-hero: #070b0a;
  --card: #0d1a15;
  --dark-panel: #0b1712;
  --ink: #edf7f2;
  --body: #a6b4ad;
  --muted: #8e9f96;
  --faint: #6d8277;
  --accent: #00c995;
  --accent-deep: #00a87d;
  --accent-ink: #00c995;
  --accent-contrast: #04110d;
  --accent-10: rgba(0, 201, 149, .10);
  --accent-14: rgba(0, 201, 149, .14);
  --accent-22: rgba(0, 201, 149, .24);
  --accent-wash: #0c261b;
  --hairline: #1c3a2e;
  --hairline-soft: #10281e;
  --state-off: #6d8277;
  --state-warn: #d6bd43;
  --state-live: #00c995;
  --neon: #00c995;
  --neon-deep: #00a87d;
  --gold: #d6bd43;
  --banda: #070b0a;
  --banda-ink: #edf7f2;
  --banda-body: #a6b4ad;
  --banda-muted: #8e9f96;
  --banda-faint: #6d8277;
  --banda-tone: #00c995;
  --banda-tone-deep: #00a87d;
  --banda-hair: rgba(0, 201, 149, .22);
  --banda-hair-soft: rgba(0, 201, 149, .10);
  --banda-nested: #0d1a15;
  --card-ink: #edf7f2;
  --card-body: #a6b4ad;
  --card-muted: #8e9f96;
  --card-faint: #6d8277;
  --card-tone: #00c995;
  --card-tone-deep: #00a87d;
  --card-gold: #d6bd43;
  --card-nested: rgba(0, 201, 149, .05);
  --card-panel: #0b1712;
  --glass-surface: linear-gradient(145deg, rgba(20, 53, 38, .46), rgba(8, 22, 16, .82));
  --glass-border: rgba(57, 184, 134, .23);
  --glass-edge: inset 0 1px 0 rgba(152, 231, 192, .08);
  --shadow-accent: 0 12px 30px -18px rgba(0, 201, 149, .45);
  --header: rgba(7, 11, 10, .9);
  --bg: #070b0a;
  --sidebar: #0a120f;
  --panel: #0d1a15;
  --panel-hover: #14251b;
  --line: #1c3a2e;
  --field: #0b1712;
  --green: #00c995;
  --accent-soft: rgba(0, 201, 149, .11);
}

:root[data-theme='light'] {
  --paper: #f2f8f4;
  --paper-alt: #e9f3ed;
  --paper-hero: #f2f8f4;
  --card: #ffffff;
  --dark-panel: #e9f3ed;
  --ink: #10251c;
  --body: #365648;
  --muted: #5b7869;
  --faint: #748d7f;
  --accent: #008d68;
  --accent-deep: #006f53;
  --accent-ink: #007b5b;
  --accent-contrast: #ffffff;
  --accent-10: rgba(0, 141, 104, .10);
  --accent-14: rgba(0, 141, 104, .14);
  --accent-22: rgba(0, 141, 104, .22);
  --accent-wash: #dff2e8;
  --hairline: #c9ddd0;
  --hairline-soft: #e1efe5;
  --state-off: #748d7f;
  --state-warn: #9b7d2c;
  --state-live: #008d68;
  --neon: #008d68;
  --neon-deep: #006f53;
  --gold: #9b7d2c;
  --banda: #f2f8f4;
  --banda-ink: #10251c;
  --banda-body: #365648;
  --banda-muted: #5b7869;
  --banda-faint: #748d7f;
  --banda-tone: #008d68;
  --banda-tone-deep: #006f53;
  --banda-hair: rgba(0, 111, 83, .18);
  --banda-hair-soft: rgba(0, 111, 83, .08);
  --banda-nested: #ffffff;
  --card-ink: #10251c;
  --card-body: #365648;
  --card-muted: #5b7869;
  --card-faint: #748d7f;
  --card-tone: #008d68;
  --card-tone-deep: #006f53;
  --card-gold: #9b7d2c;
  --card-nested: rgba(0, 111, 83, .045);
  --card-panel: #e9f3ed;
  --glass-surface: #ffffff;
  --glass-border: #c9ddd0;
  --glass-edge: inset 0 1px 0 #ffffff;
  --shadow-accent: 0 12px 30px -18px rgba(0, 111, 83, .28);
  --header: rgba(242, 248, 244, .94);
  --bg: #f2f8f4;
  --sidebar: #e9f3ed;
  --panel: #ffffff;
  --panel-hover: #e7f4ec;
  --line: #c9ddd0;
  --field: #ffffff;
  --green: #008d68;
  --accent-soft: rgba(0, 141, 104, .10);
}

/* Landing: os elementos com tokens locais acompanham o tema global. */
:root[data-theme='dark'] :is(#inicio,#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape),
:root[data-theme='light'] :is(#inicio,#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  --ink: var(--banda-ink);
  --body: var(--banda-body);
  --muted: var(--banda-muted);
  --faint: var(--banda-faint);
  --accent: var(--banda-tone);
  --accent-deep: var(--banda-tone-deep);
  --accent-ink: var(--banda-tone);
  --accent-contrast: var(--paper);
  --accent-10: color-mix(in srgb, var(--accent) 10%, transparent);
  --accent-14: color-mix(in srgb, var(--accent) 14%, transparent);
  --accent-22: color-mix(in srgb, var(--accent) 22%, transparent);
  --accent-wash: var(--banda-nested);
  --hairline: var(--banda-hair);
  --hairline-soft: var(--banda-hair-soft);
  --card: var(--banda-nested);
  --card-ink: var(--banda-ink);
  --card-body: var(--banda-body);
  --card-muted: var(--banda-muted);
  --card-faint: var(--banda-faint);
  --card-tone: var(--banda-tone);
  --card-tone-deep: var(--banda-tone-deep);
  --card-gold: var(--gold);
  --paper: var(--banda);
  color: var(--body);
}
:root[data-theme='dark'] :is(#inicio,#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  --banda-tone: #00c995;
  --banda-tone-deep: #00a87d;
  --accent-contrast: #04110d;
}
:root[data-theme='light'] :is(#inicio,#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  --banda-tone: #008d68;
  --banda-tone-deep: #006f53;
  --accent-ink: #007b5b;
  --accent-contrast: #ffffff;
}
:root[data-theme='light'] #inicio .hero-room {
  --room-ceiling-near: #f2faf4;
  --room-ceiling-far: #e5f2e9;
  --room-wall-near: #e0f0e5;
  --room-wall-far: #eaf5ed;
  --room-back-top: #e7f3ea;
  --room-back-bottom: #dff0e4;
  --room-floor-far: #e7f4e9;
  --room-floor-near: #f2faf4;
  --room-light: #ffffff;
  --room-grid: #6b9a7a;
  --room-light-opacity: .42;
}
:root[data-theme='dark'] #inicio .hero-room {
  --room-ceiling-near: rgba(25, 74, 53, .54);
  --room-ceiling-far: rgba(8, 24, 17, .76);
  --room-wall-near: rgba(18, 55, 39, .50);
  --room-wall-far: rgba(8, 24, 17, .72);
  --room-back-top: rgba(19, 62, 44, .56);
  --room-back-bottom: rgba(7, 18, 13, .78);
  --room-floor-far: rgba(13, 44, 31, .54);
  --room-floor-near: rgba(7, 11, 10, .84);
  --room-light: #00c995;
  --room-grid: #60d6ae;
  --room-light-opacity: .16;
  background:
    radial-gradient(42rem 24rem at 50% 14%, rgba(0, 201, 149, .18), transparent 72%),
    linear-gradient(145deg, rgba(21, 58, 42, .34), rgba(7, 11, 10, .86));
  -webkit-backdrop-filter: blur(18px) saturate(1.16);
  backdrop-filter: blur(18px) saturate(1.16);
}
:root[data-theme='light'] #inicio .hero-room {
  --room-ceiling-near: rgba(255, 255, 255, .72);
  --room-ceiling-far: rgba(224, 244, 233, .68);
  --room-wall-near: rgba(235, 249, 241, .66);
  --room-wall-far: rgba(214, 238, 225, .60);
  --room-back-top: rgba(255, 255, 255, .70);
  --room-back-bottom: rgba(219, 242, 229, .66);
  --room-floor-far: rgba(230, 246, 236, .66);
  --room-floor-near: rgba(255, 255, 255, .76);
  --room-light: #008d68;
  --room-grid: #438e66;
  --room-light-opacity: .18;
  background:
    radial-gradient(42rem 24rem at 50% 14%, rgba(0, 141, 104, .14), transparent 72%),
    linear-gradient(145deg, rgba(255, 255, 255, .62), rgba(226, 243, 233, .82));
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
  backdrop-filter: blur(18px) saturate(1.12);
}
:root[data-theme='light'] #inicio .hero-room-grid { stroke-opacity: .17; }
:root[data-theme='light'] #inicio .hero-room-edges { stroke-opacity: .25; }
:root[data-theme='dark'] #inicio .nucleo-orbe {
  --nucleo-halo: #00c995;
  --nucleo-fio: #83caa1;
  --nucleo-p1: #00c995;
  --nucleo-p2: #14d3a0;
  --nucleo-p3: #47cc8c;
  --nucleo-p4: #79c875;
  --nucleo-p5: #a9c65c;
  --nucleo-p6: #d6bd43;
  --nucleo-quente: #c4ca6b;
  --nucleo-claro: #e7f2d0;
}
:root[data-theme='light'] #inicio .nucleo-orbe {
  --nucleo-halo: #008d68;
  --nucleo-fio: #529d78;
  --nucleo-p1: #008d68;
  --nucleo-p2: #179b70;
  --nucleo-p3: #3ca773;
  --nucleo-p4: #65ab6d;
  --nucleo-p5: #989e49;
  --nucleo-p6: #b49a31;
  --nucleo-quente: #a78f34;
  --nucleo-claro: #276e51;
}

body { background: var(--paper); color: var(--body); }
:root[data-theme='dark'] :is(#publico,#prova,#funciona,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  background-color: #070b0a;
}
:root[data-theme='light'] :is(#publico,#prova,#funciona,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq,.rodape) {
  background-color: #f2f8f4;
}
:root[data-theme='dark'] :is(#publico,#custo,#provas-sociais) {
  background-image: radial-gradient(42rem 28rem at 50% 12%, rgba(0, 86, 63, .17), transparent 75%);
}
:root[data-theme='light'] :is(#publico,#custo,#provas-sociais) {
  background-image: radial-gradient(42rem 28rem at 50% 12%, rgba(0, 141, 104, .075), transparent 75%);
}
:root[data-theme='dark'] :is(#prova,#entregas,#fundador,#perguntas,#faq,.rodape),
:root[data-theme='light'] :is(#prova,#entregas,#fundador,#perguntas,#faq,.rodape) {
  background-image: none;
}
:root[data-theme='dark'] :is(#funciona,#organograma) {
  background-image: linear-gradient(90deg, rgba(7, 11, 10, .94), rgba(8, 24, 17, .85), rgba(7, 11, 10, .94)), url('./method-workflow-bg.webp');
}
:root[data-theme='light'] :is(#funciona,#organograma) {
  background-image: linear-gradient(90deg, rgba(242, 248, 244, .95), rgba(233, 245, 237, .84), rgba(242, 248, 244, .95)), url('./method-workflow-bg.webp');
}
:root[data-theme='dark'] #diagnostico {
  background-image: linear-gradient(90deg, rgba(7, 11, 10, .95), rgba(8, 24, 17, .87), rgba(7, 11, 10, .95)), url('./diagnostic-focus-bg.webp');
}
:root[data-theme='light'] #diagnostico {
  background-image: linear-gradient(90deg, rgba(242, 248, 244, .95), rgba(233, 245, 237, .85), rgba(242, 248, 244, .95)), url('./diagnostic-focus-bg.webp');
}

:root[data-theme='dark'] :is(#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq) .t-section,
:root[data-theme='light'] :is(#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq) .t-section {
  color: var(--ink) !important;
}
:root[data-theme='dark'] :is(#publico,#custo,#perguntas) .section--head .t-section,
:root[data-theme='light'] :is(#publico,#custo,#perguntas) .section--head .t-section {
  color: var(--ink) !important;
}
:root[data-theme='dark'] :is(#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq) :is(.accent,.eyebrow,.provas-social-titulo em),
:root[data-theme='light'] :is(#publico,#funciona,#prova,#organograma,#entregas,#custo,#fundador,#provas-sociais,#diagnostico,#perguntas,#faq) :is(.accent,.eyebrow,.provas-social-titulo em) {
  color: var(--accent-ink) !important;
}
:root[data-theme='dark'] .brand svg { stroke: #00c995; }
:root[data-theme='light'] .brand svg { stroke: #008d68; }
:root[data-theme='dark'] .brand { color: #edf7f2 !important; }
:root[data-theme='light'] .brand { color: #10251c !important; }
:root[data-theme='dark'] .legal-eyebrow { color: #00c995; }
:root[data-theme='light'] .legal-eyebrow { color: #007b5b; }
:root[data-theme='dark'] .masthead[data-stuck='true'] .masthead-pill { background: rgba(7, 11, 10, .91); border-color: var(--banda-hair); }
:root[data-theme='light'] .masthead[data-stuck='true'] .masthead-pill { background: rgba(242, 248, 244, .95); border-color: var(--banda-hair); }

:root[data-theme='dark'] :is(.card,#perguntas .faq-item,#organograma .org-dep,#organograma .org-agente,#provas-sociais .prova-social-card) {
  background-color: rgba(11, 28, 19, .88) !important;
  background-image: linear-gradient(145deg, rgba(24, 66, 43, .30), rgba(8, 22, 16, .86)) !important;
  border-color: rgba(57, 184, 134, .23) !important;
}
:root[data-theme='light'] :is(.card,#perguntas .faq-item,#organograma .org-dep,#organograma .org-agente,#provas-sociais .prova-social-card) {
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: #c9ddd0 !important;
}
:root[data-theme='dark'] :is(#desafios-cards .card,#metodo-cards .card,#prova .prod.card,#custo .calc),
:root[data-theme='light'] :is(#desafios-cards .card,#metodo-cards .card,#prova .prod.card,#custo .calc) {
  --ink: var(--banda-ink);
  --body: var(--banda-body);
  --muted: var(--banda-muted);
  --faint: var(--banda-faint);
  --accent: var(--banda-tone);
  --accent-deep: var(--banda-tone-deep);
  --accent-ink: var(--banda-tone);
  --card-tone: var(--banda-tone);
  --card-tone-deep: var(--banda-tone-deep);
  --card-ink: var(--banda-ink);
  --card-body: var(--banda-body);
  --card-muted: var(--banda-muted);
  --hairline: var(--banda-hair);
  --card: var(--banda-nested);
}
:root[data-theme='light'] :is(#desafios-cards .card,#metodo-cards .card,#prova .prod.card,#custo .calc) {
  --accent-ink: #007b5b;
  --accent-contrast: #ffffff;
  --glass-surface: #ffffff;
  --glass-border: #c9ddd0;
  color: var(--body) !important;
}
:root[data-theme='dark'] #provas-sociais .prova-social-foto { background: #0b1712 !important; border-color: #1c3a2e !important; }
:root[data-theme='light'] #provas-sociais .prova-social-foto { background: #e9f3ed !important; border-color: #c9ddd0 !important; }

:root[data-theme='dark'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact),
:root[data-theme='light'] :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),
:root[data-theme='light'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact):is(:hover,:focus-visible) {
  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),
:root[data-theme='light'] :is(.btn--accent,.btn--dark:not(.masthead-cta),.btn--contact) :is(svg,.ph-icon) { color: var(--accent-contrast) !important; }
:root[data-theme='dark'] #custo .calc a.calc-cta :is(span,.ph-icon),
:root[data-theme='light'] #custo .calc a.calc-cta :is(span,.ph-icon) { color: var(--accent-contrast) !important; }
:root[data-theme='dark'] :is(#publico,#funciona) .card-scene {
  --scene-blue: #00c995;
  --scene-text: #a6b4ad;
  --scene-line: #3c705a;
  --scene-wash: #0c261b;
  --scene-paper: #0d1a15;
  --scene-dim: #8e9f96;
  background-color: #0b1712;
  background-image: radial-gradient(circle, rgba(0, 201, 149, .17) .7px, transparent .8px);
}
:root[data-theme='light'] :is(#publico,#funciona) .card-scene {
  --scene-blue: #008d68;
  --scene-text: #365648;
  --scene-line: #9dc3aa;
  --scene-wash: #dff2e8;
  --scene-paper: #ffffff;
  --scene-dim: #5b7869;
  background-color: #ffffff;
  background-image: radial-gradient(circle, rgba(0, 141, 104, .14) .7px, transparent .8px);
}
:root[data-theme='dark'] #organograma .org-fios path { stroke: rgba(0, 201, 149, .58); }
:root[data-theme='light'] #organograma .org-fios path { stroke: rgba(0, 141, 104, .46); }
:root[data-theme='dark'] #custo .calc-saida-num,
:root[data-theme='light'] #custo .calc-saida-num { color: var(--accent-ink) !important; }
:root[data-theme='dark'] #custo .calc-saida { background: #0d1a15 !important; border-color: #1c3a2e !important; }
:root[data-theme='light'] #custo .calc-saida { background: #ffffff !important; border-color: #c9ddd0 !important; }
:root[data-theme='dark'] :is(input,select,textarea) { background-color: #0d1a15; border-color: #1c3a2e; color: #edf7f2; }
:root[data-theme='light'] :is(input,select,textarea) { background-color: #ffffff; border-color: #c9ddd0; color: #10251c; }

/* Biblioteca Produtos: mesma paleta nas superfícies e nos detalhes próprios. */
:root[data-theme='dark'] .hero-art::before { background: radial-gradient(ellipse, rgba(0, 201, 149, .19), transparent 67%); }
:root[data-theme='light'] .hero-art::before { background: radial-gradient(ellipse, rgba(0, 141, 104, .13), transparent 67%); }
:root[data-theme='dark'] .liquid-form {
  background: radial-gradient(ellipse at 20% 20%, #ddcd69 0%, #75bd72 25%, #0d372a 48%, #008e70 68%, #d6bd43 100%);
  border-color: rgba(98, 208, 148, .45);
}
:root[data-theme='light'] .liquid-form {
  background: radial-gradient(ellipse at 20% 20%, #f2e49c 0%, #a1d7a5 25%, #2d9a74 48%, #b0d8a2 68%, #d8c370 100%);
  border-color: rgba(0, 111, 83, .25);
}
:root[data-theme='dark'] .floating-card { background: rgba(11, 31, 22, .74); border-color: rgba(57, 184, 134, .28); color: #edf7f2; }
:root[data-theme='light'] .floating-card { background: rgba(255, 255, 255, .88); border-color: #c9ddd0; color: #10251c; }
:root[data-theme='dark'] .hero-copy h1 span,
:root[data-theme='light'] .hero-copy h1 span {
  background: linear-gradient(95deg, #00c995, #80c36b 64%, #d6bd43);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
:root[data-theme='light'] .hero-copy h1 span {
  background-image: linear-gradient(95deg, #008d68, #4b9e65 64%, #907825);
}
