/* ═══════════════ TOKENS ═══════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --onyx:#141414; --onyx-2:#1c1c1c; --onyx-3:#262626;
  --amber:#f5a623; --amber-2:#ffc14d; --amber-deep:#c47f0a;
  --cream:#fdf6ec; --sand:#e8d5b7; --espresso:#3d2a10;
  --muted:rgba(255,255,255,.45); --faint:rgba(255,255,255,.22);
  --border:rgba(255,255,255,.08); --border-amber:rgba(245,166,35,.25);
  --amber-soft:rgba(245,166,35,.07);
  --serif:'DM Serif Display',serif; --sans:'DM Sans',sans-serif; --mono:'Space Mono',monospace;
}
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--onyx); color:#fff; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::selection { background:var(--amber); color:var(--onyx); }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--onyx); }
::-webkit-scrollbar-thumb { background:var(--amber); border-radius:2px; }
.container { max-width:1200px; margin:0 auto; padding:0 48px; }
@media(max-width:700px){ .container { padding:0 24px; } }

/* reveal */
.reveal { opacity:0; transform:translateY(36px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-d1{transition-delay:.08s;} .reveal-d2{transition-delay:.16s;} .reveal-d3{transition-delay:.24s;} .reveal-d4{transition-delay:.32s;}
@keyframes fadeUp { from{opacity:0;transform:translateY(30px);} to{opacity:1;transform:translateY(0);} }
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:0;} }
@keyframes floaty { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);} }
@keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* lockup */
.lockup { display:inline-flex; flex-direction:column; text-decoration:none; }
.lockup-name { font-weight:300; letter-spacing:.08em; text-transform:uppercase; color:#fff; line-height:1; font-size:22px; }
.lockup-name strong { font-weight:700; }
.lockup-tag { font-size:7.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); border-left:2px solid var(--amber); padding-left:6px; margin-top:5px; }

/* nav */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; transition:background .4s,border-color .4s,backdrop-filter .4s; border-bottom:1px solid transparent; }
nav.scrolled { background:rgba(20,20,20,.9); backdrop-filter:blur(20px); border-bottom-color:var(--border); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:78px; }
.nav-links { display:flex; gap:32px; list-style:none; align-items:center; }
.nav-links a { font-size:14px; color:var(--muted); text-decoration:none; transition:color .25s; letter-spacing:.02em; }
.nav-links a:hover { color:var(--amber); }
.btn { display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:14px; font-weight:600; text-decoration:none; border-radius:8px; cursor:pointer; border:none; transition:all .25s; letter-spacing:.02em; }
.btn-amber { background:var(--amber); color:var(--onyx); padding:13px 26px; }
.btn-amber:hover { background:var(--amber-2); transform:translateY(-2px); box-shadow:0 12px 32px rgba(245,166,35,.32); }
.btn-ghost { background:transparent; color:#fff; padding:12px 24px; border:1px solid var(--border); }
.btn-ghost:hover { border-color:var(--amber); color:var(--amber); }
.btn-lg { padding:17px 36px; font-size:15px; }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
.nav-burger span { width:24px; height:2px; background:#fff; border-radius:2px; }
.nav-mobile { display:none; flex-direction:column; background:rgba(20,20,20,.98); backdrop-filter:blur(20px); border-top:1px solid var(--border); }
.nav-mobile.open { display:flex; }
.nav-mobile a { padding:16px 26px; color:var(--muted); text-decoration:none; font-size:15px; border-bottom:1px solid var(--border); }
.nav-mobile a:hover { color:var(--amber); }
@media(max-width:1000px){ .nav-links,.nav-cta-desktop{display:none;} .nav-burger{display:flex;} }

/* hero */
#hero { min-height:100vh; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; padding-top:78px; }
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; }
.hero-gradient { position:absolute; inset:0; background:radial-gradient(ellipse 70% 55% at 78% 35%, rgba(245,166,35,.06), transparent 65%), linear-gradient(180deg, transparent 65%, var(--onyx) 100%); pointer-events:none; }
.hero-inner { position:relative; z-index:2; }
.hero-kicker { font-family:var(--mono); font-size:13px; letter-spacing:.25em; text-transform:uppercase; color:var(--amber); margin-bottom:36px; animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .2s both; }
.hero-h1 { font-family:var(--serif); font-size:clamp(56px,9.5vw,130px); line-height:.95; letter-spacing:-.02em; animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .38s both; }
.hero-h1 .line2 { display:block; font-style:italic; color:var(--amber); }
.hero-h1 .cursor { display:inline-block; width:.08em; height:.82em; background:var(--amber); margin-left:.06em; vertical-align:-.06em; animation:blink 1.1s step-start infinite; }
.hero-sub { font-size:19px; font-weight:300; color:var(--muted); line-height:1.75; max-width:560px; margin-top:36px; animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .55s both; }
.hero-sub strong { color:rgba(255,255,255,.85); font-weight:500; }
.hero-cta { display:flex; gap:16px; flex-wrap:wrap; margin-top:44px; animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .7s both; }
.hero-hint { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; z-index:2; animation:fadeUp 1s ease 1.4s both; }
.hero-hint span { font-family:var(--mono); font-size:10px; letter-spacing:.25em; text-transform:uppercase; color:var(--faint); }
.hero-hint .line { width:1px; height:52px; background:linear-gradient(to bottom, var(--amber), transparent); animation:floaty 2.4s ease-in-out infinite; }

/* marquee */
.marquee { border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--onyx-2); overflow:hidden; padding:22px 0; }
.marquee-track { display:flex; width:max-content; animation:marquee 34s linear infinite; }
.marquee-item { font-family:var(--mono); font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--faint); white-space:nowrap; padding:0 34px; display:flex; align-items:center; gap:34px; }
.marquee-item::after { content:'·'; color:var(--amber); font-size:22px; }

/* provocação */
#provoca { padding:150px 0 110px; }
.provoca-step { max-width:880px; margin:0 auto 120px; text-align:center; padding:0 24px; }
.provoca-step:last-child { margin-bottom:0; }
.provoca-num { font-family:var(--mono); font-size:12px; letter-spacing:.3em; color:var(--amber); margin-bottom:26px; }
.provoca-step h2 { font-family:var(--serif); font-size:clamp(34px,5.5vw,62px); line-height:1.08; letter-spacing:-.01em; }
.provoca-step h2 em { font-style:italic; color:var(--amber); }
.provoca-step p { font-size:18px; font-weight:300; color:var(--muted); line-height:1.75; max-width:620px; margin:26px auto 0; }
.provoca-step p strong { color:rgba(255,255,255,.85); font-weight:500; }

/* section heads */
.section-head { margin-bottom:64px; max-width:760px; }
.section-kicker { display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--amber); margin-bottom:24px; }
.section-kicker::before { content:''; width:32px; height:1px; background:var(--amber); }
.section-title { font-family:var(--serif); font-size:clamp(38px,5.5vw,68px); line-height:1.0; letter-spacing:-.015em; }
.section-title em { font-style:italic; color:var(--amber); }
.section-sub { font-size:17px; font-weight:300; color:var(--muted); line-height:1.75; margin-top:22px; max-width:580px; }

/* ═══ soluções inteligência (8 cards) ═══ */
#solucoes { padding:140px 0; background:var(--onyx-2); position:relative; overflow:hidden; }
#solucoes::before { content:''; position:absolute; top:-300px; right:-300px; width:800px; height:800px; background:radial-gradient(circle, rgba(245,166,35,.045), transparent 65%); pointer-events:none; }
.sol-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--border); border-radius:18px; overflow:hidden; }
@media(max-width:1050px){ .sol-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .sol-grid{grid-template-columns:1fr;} }
.sol-card { background:var(--onyx-2); padding:40px 32px 36px; position:relative; overflow:hidden; transition:background .35s; min-height:290px; display:flex; flex-direction:column; }
.sol-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--amber); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.16,1,.3,1); }
.sol-card:hover { background:var(--onyx-3); }
.sol-card:hover::after { transform:scaleX(1); }
.sol-icon { width:52px; height:52px; border-radius:12px; background:var(--amber-soft); border:1px solid var(--border-amber); display:flex; align-items:center; justify-content:center; margin-bottom:24px; flex-shrink:0; }
.sol-icon svg { width:24px; height:24px; stroke:var(--amber); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sol-card h3 { font-size:18px; font-weight:600; line-height:1.3; margin-bottom:12px; }
.sol-card p { font-size:13.5px; font-weight:300; color:var(--muted); line-height:1.6; flex:1; }
.sol-q { font-family:var(--mono); font-size:10.5px; color:var(--amber-deep); letter-spacing:.03em; margin-top:18px; padding-top:14px; border-top:1px solid var(--border); line-height:1.5; }
.sol-card:hover .sol-q { color:var(--amber); }

/* ═══ ESPECIALIDADES — accordion técnico ═══ */
#especialidades { padding:140px 0; }
.esp-list { display:flex; flex-direction:column; gap:2px; background:var(--border); border-radius:18px; overflow:hidden; }
.esp-item { background:var(--onyx); transition:background .3s; }
.esp-item:hover { background:var(--onyx-2); }
.esp-head { display:flex; align-items:center; gap:28px; padding:34px 40px; cursor:pointer; user-select:none; }
@media(max-width:640px){ .esp-head{ padding:26px 22px; gap:16px; } }
.esp-num { font-family:var(--serif); font-style:italic; font-size:17px; color:var(--amber); width:40px; flex-shrink:0; }
.esp-title-wrap { flex:1; }
.esp-head h3 { font-family:var(--serif); font-size:clamp(20px,2.8vw,28px); font-weight:400; line-height:1.15; }
.esp-badge { font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); background:var(--amber-soft); border:1px solid var(--border-amber); border-radius:100px; padding:4px 12px; margin-left:14px; vertical-align:middle; white-space:nowrap; display:inline-block; }
.esp-toggle { font-family:var(--mono); font-size:24px; color:var(--amber); transition:transform .35s; flex-shrink:0; }
.esp-item.open .esp-toggle { transform:rotate(45deg); }
.esp-body { max-height:0; overflow:hidden; transition:max-height .55s cubic-bezier(.16,1,.3,1); }
.esp-item.open .esp-body { max-height:640px; }
.esp-body-inner { padding:0 40px 42px 108px; }
@media(max-width:640px){ .esp-body-inner{ padding:0 22px 34px 22px; } }
.esp-desc { font-size:15px; font-weight:300; color:var(--muted); line-height:1.7; margin-bottom:24px; max-width:640px; }
.esp-desc strong { color:rgba(255,255,255,.85); font-weight:500; }
.esp-items { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px 32px; }
@media(max-width:760px){ .esp-items{grid-template-columns:1fr;} }
.esp-items li { font-size:14px; font-weight:300; color:rgba(255,255,255,.6); display:flex; gap:12px; line-height:1.55; }
.esp-items li::before { content:''; width:16px; height:1px; background:var(--amber); opacity:.65; flex-shrink:0; margin-top:11px; }
.esp-items li strong { color:rgba(255,255,255,.85); font-weight:500; }

/* ═══ SEGMENTOS ═══ */
#segmentos { padding:140px 0; background:var(--onyx-2); border-top:1px solid var(--border); }
.seg-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media(max-width:1000px){ .seg-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .seg-grid{grid-template-columns:1fr;} }
.seg-card { border:1px solid var(--border); border-radius:14px; padding:30px 26px; transition:border-color .3s, background .3s, transform .3s; background:transparent; }
.seg-card:hover { border-color:var(--border-amber); background:var(--amber-soft); transform:translateY(-4px); }
.seg-icon { font-size:24px; margin-bottom:16px; display:block; }
.seg-card h4 { font-size:15.5px; font-weight:600; line-height:1.35; margin-bottom:8px; }
.seg-card p { font-size:13px; font-weight:300; color:var(--muted); line-height:1.6; }

/* ═══ FORMAS DE ATUAÇÃO — tabs ═══ */
#atuacao { padding:140px 0; }
.tabs { display:flex; gap:2px; border-radius:14px 14px 0 0; overflow:hidden; max-width:820px; }
.tab-btn { flex:1; padding:20px 18px; background:var(--onyx-3); border:none; color:var(--muted); font-family:var(--sans); font-size:15px; font-weight:500; cursor:pointer; transition:background .3s, color .3s; letter-spacing:.02em; text-align:center; }
.tab-btn:hover { color:#fff; }
.tab-btn.active { background:var(--amber); color:var(--onyx); font-weight:700; }
.tab-panels { max-width:820px; background:var(--onyx-2); border:1px solid var(--border); border-radius:0 0 18px 18px; border-top:none; }
.tab-panel { display:none; padding:48px 48px 52px; }
@media(max-width:640px){ .tab-panel{ padding:32px 24px 36px; } }
.tab-panel.active { display:block; animation:fadeUp .5s cubic-bezier(.16,1,.3,1) both; }
.tab-panel h3 { font-family:var(--serif); font-size:clamp(22px,3vw,30px); line-height:1.2; margin-bottom:18px; }
.tab-panel h3 em { font-style:italic; color:var(--amber); }
.tab-panel > p { font-size:16px; font-weight:300; color:var(--muted); line-height:1.75; margin-bottom:26px; max-width:600px; }
.tab-panel > p strong { color:rgba(255,255,255,.85); font-weight:500; }
.tab-fit { display:flex; flex-direction:column; gap:10px; }
.tab-fit li { list-style:none; font-size:14px; font-weight:300; color:rgba(255,255,255,.6); display:flex; gap:12px; align-items:baseline; }
.tab-fit li::before { content:'→'; color:var(--amber); flex-shrink:0; }
.tab-fit-label { font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--amber); margin-bottom:14px; }

/* números */
#numeros { padding:110px 0; background:var(--onyx-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.num-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:48px; }
@media(max-width:900px){ .num-grid{grid-template-columns:repeat(2,1fr); gap:40px;} }
.num-value { font-family:var(--serif); font-size:clamp(44px,5.5vw,72px); line-height:1; background:linear-gradient(120deg, var(--amber) 20%, var(--amber-2) 80%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:12px; }
.num-label { font-size:14px; color:var(--muted); line-height:1.55; font-weight:300; }

/* manifesto */
#manifesto { padding:160px 0; position:relative; overflow:hidden; }
#manifesto::before { content:'"'; font-family:var(--serif); font-size:600px; position:absolute; top:-140px; right:-60px; color:rgba(245,166,35,.03); line-height:1; pointer-events:none; }
.manifesto-inner { max-width:860px; }
.manifesto-line { font-family:var(--serif); font-size:clamp(28px,4.2vw,48px); line-height:1.3; margin-bottom:34px; color:rgba(255,255,255,.9); }
.manifesto-line em { font-style:italic; color:var(--amber); }
.manifesto-line.small { font-family:var(--sans); font-size:17px; font-weight:300; color:var(--muted); line-height:1.8; max-width:620px; }
.manifesto-sign { margin-top:56px; display:inline-flex; flex-direction:column; }
.manifesto-sign .lockup-name { font-size:26px; }
.manifesto-sign .lockup-tag { font-size:8.5px; }

/* faq */
#faq { padding:140px 0; background:var(--onyx-2); }
.faq-list { max-width:860px; }
.faq-item { border-bottom:1px solid var(--border); padding:34px 0; cursor:pointer; }
.faq-item:first-child { border-top:1px solid var(--border); }
.faq-q { display:flex; align-items:baseline; justify-content:space-between; gap:24px; }
.faq-q h3 { font-family:var(--serif); font-size:clamp(20px,2.6vw,27px); font-weight:400; line-height:1.25; transition:color .25s; }
.faq-item:hover .faq-q h3 { color:var(--amber); }
.faq-toggle { font-family:var(--mono); font-size:22px; color:var(--amber); flex-shrink:0; transition:transform .35s; user-select:none; }
.faq-item.open .faq-toggle { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .5s cubic-bezier(.16,1,.3,1), padding-top .4s; }
.faq-item.open .faq-a { max-height:420px; padding-top:20px; }
.faq-a p { font-size:16px; font-weight:300; color:var(--muted); line-height:1.8; max-width:700px; }
.faq-a p strong { color:rgba(255,255,255,.85); font-weight:500; }

/* cta */
#contato { padding:170px 0; position:relative; overflow:hidden; text-align:center; }
#contato::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 75% 60% at 50% 45%, rgba(245,166,35,.08), transparent 68%); pointer-events:none; }
.cta-inner { position:relative; z-index:1; }
.cta-title { font-family:var(--serif); font-size:clamp(44px,7.5vw,96px); line-height:.98; letter-spacing:-.015em; }
.cta-title em { font-style:italic; color:var(--amber); }
.cta-sub { font-size:18px; font-weight:300; color:var(--muted); line-height:1.75; max-width:540px; margin:30px auto 50px; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* footer */
footer { background:#0d0d0d; border-top:1px solid var(--border); padding:72px 0 40px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:52px; margin-bottom:60px; }
@media(max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr; gap:40px;} }
@media(max-width:520px){ .footer-grid{grid-template-columns:1fr;} }
.footer-brand p { font-size:14px; font-weight:300; color:rgba(255,255,255,.35); line-height:1.75; max-width:280px; margin:20px 0 26px; }
.footer-domains { display:flex; flex-direction:column; gap:6px; }
.footer-domain { font-family:var(--mono); font-size:12px; color:rgba(255,255,255,.25); letter-spacing:.04em; }
.footer-col h5 { font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:20px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:12px; }
.footer-col a { font-size:14px; color:rgba(255,255,255,.45); text-decoration:none; transition:color .25s; font-weight:300; }
.footer-col a:hover { color:var(--amber); }
.footer-bottom { border-top:1px solid var(--border); padding-top:30px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.footer-copy { font-size:13px; color:rgba(255,255,255,.2); font-weight:300; }
.footer-links { display:flex; gap:26px; }
.footer-links a { font-size:13px; color:rgba(255,255,255,.22); text-decoration:none; transition:color .25s; font-weight:300; }
.footer-links a:hover { color:var(--amber); }

.cursor-glow { position:fixed; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle, rgba(245,166,35,.055) 0%, transparent 70%); pointer-events:none; z-index:9999; transform:translate(-50%,-50%); mix-blend-mode:screen; }
/* ═══ ajustes de conteúdo (mantêm o design do protótipo) ═══ */
.hero-h1.long { font-size:clamp(46px,6.6vw,92px); line-height:1.0; }
.sol-problem { display:block; color:rgba(255,255,255,.88); font-weight:500; font-size:15px; line-height:1.5; margin-bottom:10px; }
.sol-num { font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--amber); margin-bottom:10px; display:block; }
.seg-grid > * { min-width:0; }
.seg-card .esp-badge { margin:16px 0 0; white-space:normal; line-height:1.5; }
.sub-head { margin:96px 0 40px; }
.sub-head h3 { font-family:var(--serif); font-size:clamp(28px,3.6vw,42px); line-height:1.1; font-weight:400; }
.sub-head h3 em { font-style:italic; color:var(--amber); }
.sub-head p { font-size:16px; font-weight:300; color:var(--muted); line-height:1.7; margin-top:14px; max-width:620px; }
.num-value { white-space:nowrap; font-size:clamp(40px,4.6vw,62px); }
.num-label small { display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-top:8px; }
.case-note { font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--faint); margin-top:22px; }
.tab-note { font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--amber); margin-top:22px; }
@media(max-width:640px){ .esp-badge{ margin-left:0; margin-top:8px; white-space:normal; } }

/* ═══════════════ V2: acréscimos ═══════════════ */
html { scroll-padding-top:90px; }
img { max-width:100%; display:block; }
a { color:inherit; }
:focus-visible { outline:2px solid var(--amber); outline-offset:3px; border-radius:6px; }
@media(max-width:480px){ .hero-cta .btn, .cta-actions .btn { width:100%; justify-content:center; } }

/* selo de protótipo */
.proto-badge { position:fixed; top:86px; right:12px; z-index:1200; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.18em; color:var(--onyx); background:repeating-linear-gradient(135deg,var(--amber) 0 10px,var(--amber-2) 10px 20px); padding:6px 10px; border-radius:6px; box-shadow:0 6px 20px rgba(0,0,0,.4); pointer-events:none; }
.lp .proto-badge { top:74px; }

/* placeholder de conteúdo real pendente */
.ph { display:inline-block; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:var(--amber); border:1px dashed var(--amber); background:var(--amber-soft); border-radius:6px; padding:3px 8px; }
.ph-block { border:1.5px dashed var(--border-amber); border-radius:16px; padding:32px; background:var(--amber-soft); }
.ph-block .ph { margin-bottom:14px; }
.ph-block p { color:var(--muted); font-weight:300; line-height:1.7; font-size:15px; }

/* hero v2 */
.hero-proof { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:34px; list-style:none; animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .85s both; }
.hero-proof li { font-size:14px; color:rgba(255,255,255,.7); display:flex; gap:9px; align-items:center; }
.hero-proof li::before { content:'✓'; color:var(--amber); font-weight:700; }
#hero.hero-v2 { min-height:92vh; }
@media(max-width:700px){ #hero.hero-v2 { min-height:auto; padding:130px 0 80px; } .hero-hint{display:none;} .hero-sub{font-size:17px;} }

/* blocos genéricos */
.sec { padding:120px 0; }
.sec.alt { background:var(--onyx-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
@media(max-width:700px){ .sec { padding:84px 0; } #solucoes, #segmentos { padding:84px 0; } .section-head { margin-bottom:44px; } }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media(max-width:1000px){ .grid-4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:860px){ .grid-3 { grid-template-columns:1fr; } }
@media(max-width:520px){ .grid-4 { grid-template-columns:1fr; } }
.grid-3 > *, .grid-4 > * { min-width:0; }

.pain { border:1px solid var(--border); border-radius:16px; padding:34px 30px; background:linear-gradient(180deg,rgba(255,255,255,.02),transparent); transition:border-color .3s, transform .3s; }
.pain:hover { border-color:var(--border-amber); transform:translateY(-4px); }
.pain-n { font-family:var(--mono); font-size:12px; letter-spacing:.25em; color:var(--amber); }
.pain h3 { font-family:var(--serif); font-weight:400; font-size:clamp(24px,2.6vw,30px); line-height:1.15; margin:16px 0 12px; }
.pain h3 em { font-style:italic; color:var(--amber); }
.pain p { color:var(--muted); font-weight:300; line-height:1.7; font-size:15px; }
.pains-close { text-align:center; font-family:var(--serif); font-size:clamp(24px,3.2vw,38px); line-height:1.2; margin-top:64px; }
.pains-close em { color:var(--amber); font-style:italic; }

.result { border:1px solid var(--border-amber); border-radius:18px; padding:34px 30px; background:var(--amber-soft); position:relative; overflow:hidden; }
.result .num-value { font-size:clamp(40px,4.4vw,58px); }
.result h3 { font-size:17px; font-weight:600; margin:6px 0 10px; line-height:1.35; }
.result p { color:var(--muted); font-weight:300; font-size:14.5px; line-height:1.65; }
.result small { display:block; margin-top:16px; font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); }
.note { font-family:var(--mono); font-size:11.5px; letter-spacing:.04em; color:var(--faint); margin-top:24px; line-height:1.6; }
.link-arrow { display:inline-flex; gap:8px; align-items:center; color:var(--amber); text-decoration:none; font-weight:600; font-size:15px; margin-top:30px; }
.link-arrow:hover { gap:12px; }

a.seg-card { text-decoration:none; color:#fff; display:flex; flex-direction:column; }
.seg-card .seg-more { margin-top:auto; padding-top:18px; font-size:13px; font-weight:600; color:var(--amber); }
.seg-card .seg-soon { margin-top:auto; padding-top:18px; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); }

.steps3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border); border-radius:18px; overflow:hidden; counter-reset:st; }
@media(max-width:860px){ .steps3 { grid-template-columns:1fr; } }
.st { background:var(--onyx); padding:38px 32px; position:relative; }
.sec.alt .st { background:var(--onyx-2); }
.st-n { font-family:var(--serif); font-style:italic; font-size:44px; color:var(--amber); line-height:1; }
.st h3 { font-size:19px; font-weight:600; margin:18px 0 10px; }
.st p { color:var(--muted); font-weight:300; line-height:1.7; font-size:15px; }
.price-note { display:inline-flex; gap:12px; align-items:center; margin-top:28px; font-family:var(--mono); font-size:12.5px; letter-spacing:.08em; color:var(--amber); border:1px solid var(--border-amber); border-radius:100px; padding:10px 18px; }

/* formulário */
#contato.contato-v2 { padding:130px 0; text-align:left; }
@media(max-width:700px){ #contato.contato-v2 { padding:90px 0; } }
.contato-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:64px; align-items:start; position:relative; z-index:1; }
@media(max-width:960px){ .contato-grid { grid-template-columns:1fr; gap:44px; } }
.contato-grid > * { min-width:0; }
.contato-v2 .cta-title { font-size:clamp(40px,5.6vw,76px); }
.contato-v2 .cta-sub { margin:26px 0 34px; }
.contato-alt { display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.contato-alt a.mail { color:var(--muted); font-size:14px; text-decoration:none; } .contato-alt a.mail:hover { color:var(--amber); }
.form-card { background:var(--onyx-2); border:1px solid var(--border); border-radius:20px; padding:36px; box-shadow:0 30px 80px rgba(0,0,0,.35); position:relative; }
@media(max-width:520px){ .form-card { padding:26px 20px; border-radius:16px; } }
.form-card h3 { font-family:var(--serif); font-weight:400; font-size:28px; line-height:1.15; }
.form-card h3 em { color:var(--amber); font-style:italic; }
.form-card .form-sub { color:var(--muted); font-size:14px; font-weight:300; margin:8px 0 24px; line-height:1.6; }
.lead-form { display:grid; grid-template-columns:1fr 1fr; gap:14px 14px; }
@media(max-width:560px){ .lead-form { grid-template-columns:1fr; } }
.lead-form .full { grid-column:1/-1; }
.fld { display:flex; flex-direction:column; gap:6px; min-width:0; }
.fld label { font-size:12.5px; font-weight:500; color:rgba(255,255,255,.75); letter-spacing:.01em; }
.fld label .opt { color:var(--faint); font-weight:400; }
.fld input, .fld select, .fld textarea { width:100%; font-family:var(--sans); font-size:15px; color:#fff; background:var(--onyx); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:12px 14px; transition:border-color .2s, box-shadow .2s; -webkit-appearance:none; appearance:none; }
.fld select { background-image:linear-gradient(45deg,transparent 50%,var(--amber) 50%),linear-gradient(135deg,var(--amber) 50%,transparent 50%); background-position:calc(100% - 18px) 52%, calc(100% - 13px) 52%; background-size:5px 5px; background-repeat:no-repeat; padding-right:34px; }
.fld select option { background:var(--onyx-2); color:#fff; }
.fld textarea { resize:vertical; min-height:78px; }
.fld input:focus, .fld select:focus, .fld textarea:focus { outline:none; border-color:var(--amber); box-shadow:0 0 0 3px rgba(245,166,35,.15); }
.fld input::placeholder, .fld textarea::placeholder { color:rgba(255,255,255,.28); }
.lead-form.tried .fld :invalid { border-color:#ee8e6a; }
.form-submit { width:100%; justify-content:center; margin-top:6px; }
.form-legal { font-size:12px; color:var(--faint); line-height:1.6; font-weight:300; }
.form-legal a { color:rgba(255,255,255,.5); }
.form-ok { display:none; text-align:center; padding:26px 6px; animation:fadeUp .6s cubic-bezier(.16,1,.3,1) both; }
.form-card.sent .lead-wrap { display:none; }
.form-card.sent .form-ok { display:block; }
.ok-ico { width:64px; height:64px; border-radius:50%; background:var(--amber-soft); border:1px solid var(--border-amber); color:var(--amber); display:flex; align-items:center; justify-content:center; font-size:28px; margin:0 auto 20px; }
.form-ok h3 { margin-bottom:12px; }
.form-ok p { color:var(--muted); font-weight:300; line-height:1.7; font-size:15px; margin:0 auto 14px; max-width:420px; }
.form-ok .btn { margin:10px 6px 0; }
.proto-note { display:block; margin-top:18px; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; color:var(--faint); }



/* toast */
.toast { position:fixed; left:50%; bottom:96px; transform:translate(-50%,20px); z-index:1300; background:#fff; color:var(--onyx); font-size:14px; font-weight:500; padding:12px 18px; border-radius:10px; box-shadow:0 14px 40px rgba(0,0,0,.45); opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; max-width:calc(100vw - 32px); text-align:center; }
.toast.show { opacity:1; transform:translate(-50%,0); }

/* banner de cookies */
.cookie { position:fixed; left:0; right:0; bottom:0; z-index:1250; background:rgba(28,28,28,.97); backdrop-filter:blur(16px); border-top:1px solid var(--border-amber); padding:20px 0; transform:translateY(110%); transition:transform .5s cubic-bezier(.16,1,.3,1); }
.cookie.show { transform:translateY(0); }
.cookie-in { display:flex; gap:28px; align-items:center; justify-content:space-between; }
@media(max-width:860px){ .cookie-in { flex-direction:column; align-items:stretch; gap:16px; } }
.cookie-txt { font-size:14px; color:rgba(255,255,255,.75); line-height:1.6; font-weight:300; max-width:680px; }
.cookie-txt strong { color:#fff; font-weight:600; }
.cookie-txt a { color:var(--amber); }
.cookie-btns { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }
.cookie-btns .btn { padding:11px 20px; font-size:13.5px; }
@media(max-width:860px){ .cookie-btns { display:grid; grid-template-columns:1fr 1fr; } .cookie-btns .btn { justify-content:center; } .cookie-btns .btn-link { grid-column:1/-1; } }
.btn-outline { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }
.btn-outline:hover { border-color:var(--amber); color:var(--amber); }
.btn-link { background:none; color:var(--muted); text-decoration:underline; padding:11px 8px; }
.cookie-prefs { display:none; margin-top:16px; border-top:1px solid var(--border); padding-top:16px; gap:10px; flex-direction:column; }
.cookie.prefs .cookie-prefs { display:flex; }
.pref { display:flex; gap:14px; align-items:flex-start; font-size:13.5px; color:rgba(255,255,255,.75); line-height:1.5; }
.pref input { margin-top:3px; accent-color:var(--amber); width:16px; height:16px; flex-shrink:0; }
.pref b { color:#fff; font-weight:600; }

/* landing pages */
.lp-nav { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(20,20,20,.9); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.lp-nav .nav-inner { height:66px; }
.lp-nav .btn { padding:10px 18px; font-size:13.5px; }
@media(max-width:420px){ .lp-nav .lockup-tag{display:none;} .lp-nav .btn{padding:9px 14px; font-size:13px;} }
.lp-hero { position:relative; overflow:hidden; padding:140px 0 100px; }
@media(max-width:700px){ .lp-hero { padding:110px 0 70px; } }
.lp-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; position:relative; z-index:2; }
@media(max-width:960px){ .lp-hero-grid { grid-template-columns:1fr; gap:44px; } }
.lp-hero-grid > * { min-width:0; }
.lp-h1 { font-family:var(--serif); font-size:clamp(42px,5.6vw,76px); line-height:1.0; letter-spacing:-.015em; animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .3s both; }
.lp-h1 em { color:var(--amber); font-style:italic; }
.lp-hero .hero-sub { max-width:580px; }
.lp-hero .form-card { animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .6s both; }
.deliver { display:flex; gap:18px; padding:26px 0; border-bottom:1px solid var(--border); }
.deliver:first-child { border-top:1px solid var(--border); }
.deliver-ico { width:44px; height:44px; flex-shrink:0; border-radius:10px; background:var(--amber-soft); border:1px solid var(--border-amber); display:flex; align-items:center; justify-content:center; color:var(--amber); font-family:var(--mono); font-size:13px; font-weight:700; }
.deliver h3 { font-size:17px; font-weight:600; margin-bottom:6px; }
.deliver p { color:var(--muted); font-weight:300; font-size:14.5px; line-height:1.65; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media(max-width:960px){ .two-col { grid-template-columns:1fr; gap:40px; } }
.two-col > * { min-width:0; }
.demo-shot { display:block; position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--border-amber); box-shadow:0 30px 80px rgba(0,0,0,.45); text-decoration:none; transition:transform .35s; }
.demo-shot:hover { transform:translateY(-6px); }
.demo-shot img { width:100%; height:auto; }
.demo-tag { position:absolute; top:14px; left:14px; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--onyx); background:var(--amber); padding:5px 10px; border-radius:6px; font-weight:700; }
.demo-cap { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:14px; font-size:13px; color:var(--muted); }
.demo-cap a { color:var(--amber); font-weight:600; text-decoration:none; }
.case-mini { list-style:none; display:flex; flex-direction:column; gap:2px; background:var(--border); border-radius:16px; overflow:hidden; }
.case-mini li { background:var(--onyx-2); padding:24px 26px; display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:baseline; }
@media(max-width:560px){ .case-mini li { grid-template-columns:1fr; gap:6px; } }
.case-mini b { font-family:var(--serif); font-weight:400; font-size:30px; color:var(--amber); line-height:1; white-space:nowrap; }
.case-mini span { color:rgba(255,255,255,.75); font-weight:300; font-size:15px; line-height:1.6; }
.lp-footer { background:#0d0d0d; border-top:1px solid var(--border); padding:34px 0 100px; }
.lp-footer .footer-bottom { border-top:none; padding-top:0; }

/* blog */
.page-hero { padding:150px 0 70px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:-200px; right:-200px; width:700px; height:700px; background:radial-gradient(circle, rgba(245,166,35,.06), transparent 65%); pointer-events:none; }
@media(max-width:700px){ .page-hero { padding:120px 0 50px; } }
.page-hero .section-title { animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .2s both; }
.blog-tools { display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:40px; }
.chips { display:flex; gap:8px; flex-wrap:wrap; }
.chip { font-family:var(--sans); font-size:13px; font-weight:500; color:var(--muted); background:transparent; border:1px solid var(--border); border-radius:100px; padding:8px 16px; cursor:pointer; transition:all .2s; }
.chip:hover { color:#fff; border-color:rgba(255,255,255,.3); }
.chip.on { background:var(--amber); color:var(--onyx); border-color:var(--amber); font-weight:700; }
.blog-search { flex:1; max-width:300px; min-width:200px; font-family:var(--sans); font-size:14px; color:#fff; background:var(--onyx-2); border:1px solid var(--border); border-radius:100px; padding:10px 18px; }
.blog-search:focus { outline:none; border-color:var(--amber); }
.post-feat { display:grid; grid-template-columns:1.2fr 1fr; gap:0; border:1px solid var(--border); border-radius:20px; overflow:hidden; margin-bottom:28px; background:var(--onyx-2); text-decoration:none; color:#fff; transition:border-color .3s; }
.post-feat:hover { border-color:var(--border-amber); }
@media(max-width:860px){ .post-feat { grid-template-columns:1fr; } }
.post-thumb { position:relative; aspect-ratio:16/9; background:radial-gradient(ellipse at 70% 40%, rgba(245,166,35,.22), transparent 60%), linear-gradient(135deg,#1f1a12,#141414); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.post-feat .post-thumb { aspect-ratio:auto; min-height:260px; }
.post-thumb svg { width:46%; max-width:220px; opacity:.55; }
.post-thumb .ex { position:absolute; top:12px; left:12px; }
.post-body { padding:28px 28px 30px; display:flex; flex-direction:column; gap:12px; }
.post-feat .post-body { padding:40px; justify-content:center; }
@media(max-width:520px){ .post-feat .post-body { padding:26px 22px; } }
.post-cat { font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); }
.post-body h2, .post-body h3 { font-family:var(--serif); font-weight:400; line-height:1.18; }
.post-body h2 { font-size:clamp(26px,3vw,36px); }
.post-body h3 { font-size:22px; }
.post-body p { color:var(--muted); font-weight:300; font-size:14.5px; line-height:1.65; }
.post-meta { font-size:12.5px; color:var(--faint); margin-top:auto; }
.post-card { border:1px solid var(--border); border-radius:18px; overflow:hidden; background:var(--onyx-2); text-decoration:none; color:#fff; display:flex; flex-direction:column; transition:border-color .3s, transform .3s; }
.post-card:hover { border-color:var(--border-amber); transform:translateY(-4px); }
.post-card[hidden] { display:none; }
.blog-cta { margin-top:70px; border:1px solid var(--border-amber); border-radius:20px; padding:44px; background:var(--amber-soft); display:flex; gap:28px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
@media(max-width:520px){ .blog-cta { padding:28px 22px; } }
.blog-cta h3 { font-family:var(--serif); font-weight:400; font-size:clamp(26px,3vw,34px); line-height:1.15; max-width:560px; }
.blog-cta h3 em { color:var(--amber); font-style:italic; }
.blog-empty { display:none; color:var(--muted); padding:30px 0; }

/* sobre / cases */
.partners { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:760px){ .partners { grid-template-columns:1fr; } }
.partner { border:1px solid var(--border); border-radius:18px; padding:30px; display:flex; gap:22px; align-items:flex-start; }
.partner-ph { width:84px; height:84px; border-radius:50%; flex-shrink:0; border:1.5px dashed var(--border-amber); background:var(--amber-soft); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:9px; color:var(--amber); text-align:center; line-height:1.3; padding:6px; }
.partner h3 { font-size:19px; font-weight:600; margin-bottom:6px; }
.partner p { color:var(--muted); font-weight:300; font-size:14.5px; line-height:1.65; margin-top:10px; }
/* banner: os três botões com o mesmo destaque (ANPD) */
.btn-ck { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.55); padding:11px 18px; font-size:13.5px; font-weight:600; justify-content:center; }
.btn-ck:hover { border-color:var(--amber); color:var(--amber); }
@media(max-width:860px){ .cookie-btns { grid-template-columns:1fr; } }
.cookie-prefs .pref-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
@media(max-width:560px){ .cookie-prefs .pref-actions { display:grid; grid-template-columns:1fr; } }
.cookie.prefs .cookie-btns { display:none; }
.cookie { max-height:100vh; overflow-y:auto; }
.pref small { display:block; color:var(--muted); font-size:12.5px; margin-top:2px; }
.lp-hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .7s both; }
.lp-nav-ctas { display:flex; gap:8px; align-items:center; }
.jornada .st .price-tag { display:inline-block; margin-top:16px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--amber); }
.err404 { min-height:80vh; display:flex; align-items:center; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.fld-check { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:rgba(255,255,255,.7); line-height:1.5; cursor:pointer; }
.fld-check input { margin-top:2px; width:16px; height:16px; accent-color:var(--amber); flex-shrink:0; }
.nav-links a[aria-current] { color:var(--amber); }
.lp-hero .hero-canvas { opacity:.8; }
.lp-hero .hero-kicker { margin-bottom:24px; }
.lp-hero .hero-sub { margin-top:24px; }
.lp-proof-note { margin-top:26px; }
.sec-cta { display:flex; gap:12px; flex-wrap:wrap; margin-top:40px; }
@media(max-width:480px){ .sec-cta .btn, .lp-hero-cta .btn { width:100%; justify-content:center; } }
.faq-more { margin-top:34px; }
/* banner de cookies mais compacto no celular (3 botões com o mesmo destaque, lado a lado) */
@media(max-width:560px){
  .cookie { padding:14px 0; }
  .cookie-txt { font-size:12.5px; line-height:1.5; }
  .cookie-in { gap:12px; }
  .cookie-btns { grid-template-columns:repeat(3,1fr); gap:6px; }
  .cookie-btns .btn { padding:10px 6px; font-size:12px; line-height:1.25; text-align:center; white-space:normal; }
}
