/* =========================================================
   APPO v4 — consultoria em duas frentes (overrides sobre v3)
   Página única · pilares com accent próprio · sem toggle
   ========================================================= */

/* aurora fixa com as duas cores da marca (violeta IA + ciano finanças) */
.aurora .b1 { background: radial-gradient(circle, rgba(124,92,255,1), transparent 60%) !important; }
.aurora .b2 { background: radial-gradient(circle, rgba(22,208,230,.95), transparent 60%) !important; }
.aurora .b3 { background: radial-gradient(circle, rgba(196,92,255,.6), transparent 62%) !important; }

/* hero line entrance (no mode panes in v4) */
.hero.show h1 .line > span { transform: translateY(0); }
.hero.show h1 .line:nth-child(2) > span { transition-delay: .06s; }
.hero.show h1 .line:nth-child(3) > span { transition-delay: .12s; }

/* nav links */
.logo-mark { height: 1.5em; width: auto; margin-right: 9px; display: inline-block; vertical-align: middle; }
.nav-links { display: flex; gap: 26px; align-items: center; }
.nav-links a { font-size: .88rem; font-weight: 600; color: var(--muted); white-space: nowrap; transition: color .3s; }
.nav-links a:hover { color: var(--white); }
@media (max-width: 920px) { .nav-links { display: none; } }

/* hero dual eyebrow chips */
.duo-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 22px; }
.duo-chips span { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; padding: 8px 14px; border-radius: 100px; border: 1px solid var(--glass-bd2); background: rgba(255,255,255,.04); }
.duo-chips .c-fin { color: #16d0e6; border-color: rgba(22,208,230,.35); }
.duo-chips .c-ai { color: #a78bff; border-color: rgba(124,92,255,.4); }

/* ---------------- pillars ---------------- */
.pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: stretch; }
.pillar { border: 1px solid var(--glass-bd); border-radius: 24px; background: var(--panel); backdrop-filter: blur(14px); padding: 38px 34px; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.pillar::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.pillar.fin { --accent: #16d0e6; --accent-2: #2b8fff; --accent-rgb: 22,208,230; --accent-2-rgb: 43,143,255; }
.pillar .p-tag { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
.pillar h3 { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.02em; color: var(--white); line-height: 1.1; margin-bottom: 12px; }
.pillar .p-desc { color: var(--muted); font-size: .98rem; line-height: 1.65; margin-bottom: 28px; }
.p-items { display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.pitem { display: flex; gap: 16px; align-items: flex-start; padding: 18px; border: 1px solid var(--glass-bd); border-radius: 14px; background: rgba(255,255,255,.025); transition: border-color .3s, background .3s, transform .3s var(--ease); }
.pitem:hover { border-color: rgba(var(--accent-rgb),.45); background: rgba(var(--accent-rgb),.06); transform: translateX(4px); }
.pitem .pi-ico { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; flex-shrink: 0; color: var(--accent); background: rgba(var(--accent-rgb),.1); border: 1px solid rgba(var(--accent-rgb),.22); }
.pitem .pi-ico svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.6; }
.pitem strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: 1.02rem; color: var(--white); margin-bottom: 4px; line-height: 1.25; }
.pitem span { color: var(--muted); font-size: .88rem; line-height: 1.55; }
.pillar .p-note { margin-top: 22px; padding-top: 18px; border-top: 1px dashed var(--glass-bd2); color: var(--muted-2); font-size: .84rem; line-height: 1.6; }
.pillar .p-note b { color: var(--muted); font-weight: 600; }

@media (max-width: 980px) { .pillars { grid-template-columns: 1fr; } }

/* ---------------- azul como cor mestre · violeta marca a IA ---------------- */
.grad-ai { background: linear-gradient(100deg, #7c5cff, #c45cff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.pillar.ai { --accent: #7c5cff; --accent-2: #c45cff; --accent-rgb: 124,92,255; --accent-2-rgb: 196,92,255; }

/* ---------------- hero mini dashboard ---------------- */
.dash-rows { display: flex; flex-direction: column; margin-top: 10px; }
.dash-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--glass-bd); font-size: .86rem; color: var(--muted); }
.dash-row:last-child { border-bottom: none; }
.dash-row .dv { font-family: var(--font-display); font-weight: 700; color: var(--white); font-size: 1.04rem; white-space: nowrap; }
.dash-row small { font-size: .72rem; font-weight: 600; }
.dash-row .up { color: #3ddc97; }
.ai-feed { display: flex; flex-direction: column; gap: 9px; }
.ai-item { display: flex; gap: 9px; align-items: flex-start; font-size: .78rem; color: var(--muted); line-height: 1.45; padding: 9px 11px; border: 1px solid var(--glass-bd); border-radius: 10px; background: rgba(255,255,255,.03); }
.ai-item::before { content: '✦'; color: #a78bff; flex-shrink: 0; }
.ai-item b { color: var(--text); font-weight: 600; }

/* ---------------- FAQ ---------------- */
.faq { display: flex; flex-direction: column; gap: 12px; max-width: 780px; }
.faq details { border: 1px solid var(--glass-bd); border-radius: 16px; background: var(--panel); backdrop-filter: blur(10px); overflow: hidden; transition: border-color .3s; }
.faq details[open] { border-color: rgba(var(--accent-rgb), .4); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; font-family: var(--font-display); font-weight: 600; font-size: 1.04rem; color: var(--white); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-family: var(--font-mono); color: var(--accent); font-size: 1.25rem; transition: transform .3s var(--ease); flex-shrink: 0; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .fa-body { padding: 0 24px 20px; color: var(--muted); font-size: .95rem; line-height: 1.7; }
