/* FelizCred — visual system 2026 */
:root {
  --fc-ink: #092036;
  --fc-copy: #405466;
  --fc-muted: #566b79;
  --fc-green: #00c85a;
  --fc-green-dark: #08733c;
  --fc-mint: #eaf9f0;
  --fc-sky: #edf5ff;
  --fc-paper: #ffffff;
  --fc-canvas: #f6f8f7;
  --fc-line: #dfe8e3;
  --fc-radius: 16px;
  --fc-shadow: 0 24px 70px rgba(21, 48, 38, .10);
  --fc-ease: cubic-bezier(.22, 1, .36, 1);
}

html { background: var(--fc-paper); }
body { background: var(--fc-paper) !important; color: var(--fc-ink); }
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%); }
::selection { background:rgba(0,200,90,.2); color:var(--fc-ink); }

nav {
  top: 14px; left: 50%; right: auto; width: min(1180px, calc(100% - 32px));
  transform: translateX(-50%); padding: 10px 12px 10px 20px !important;
  border: 1px solid rgba(9,32,54,.08); border-radius: 999px;
  background: rgba(255,255,255,.88) !important; box-shadow: 0 8px 34px rgba(9,32,54,.06);
  color: var(--fc-ink); backdrop-filter: blur(18px);
}
nav.is-scrolled { top:8px; padding-block:8px !important; background:rgba(255,255,255,.96) !important; box-shadow:0 12px 34px rgba(9,32,54,.11); }
.logo { color:var(--fc-ink) !important; font-size:24px; }
.nav-links { align-items:center; gap:6px; }
.nav-links a { color:#455768; padding:10px 13px; border-radius:999px; transition:color .25s var(--fc-ease),background .25s var(--fc-ease),transform .25s var(--fc-ease); }
.nav-links a:hover { color:var(--fc-ink); background:#f0f5f2; }
.nav-cta { background:var(--fc-ink) !important; color:#fff !important; padding:12px 20px !important; box-shadow:none !important; }
.nav-cta:hover { background:var(--fc-green-dark) !important; transform:translateY(-1px) !important; }

.hero {
  min-height: auto !important; padding: 154px 5% 88px !important; overflow:clip;
  background:
    radial-gradient(circle at 86% 18%, rgba(0,200,90,.12), transparent 25%),
    linear-gradient(180deg,#fbfefc 0%,#fff 100%) !important;
}
.hero::before { inset:auto; left:-8%; top:22%; width:420px; height:420px; border-radius:50%; background:rgba(218,244,230,.55); filter:blur(80px); }
.hero::after { width:340px !important; height:340px !important; min-width:0 !important; min-height:0 !important; top:15% !important; right:4% !important; background:rgba(198,242,219,.52) !important; filter:blur(70px) !important; }
.hero-grid { grid-template-columns:minmax(0,1.05fr) minmax(390px,.85fr) !important; gap:clamp(70px,8vw,130px) !important; max-width:1180px !important; }
.badge { margin:0 0 24px; padding:7px 12px; border-color:rgba(8,115,60,.14); background:var(--fc-mint); color:var(--fc-green-dark); letter-spacing:.02em; }
.hero h1 { max-width:700px !important; margin-bottom:24px; color:var(--fc-ink); font-size:clamp(48px,5.2vw,76px) !important; line-height:1.01 !important; letter-spacing:-.04em !important; }
.hero h1 em { display:block !important; color:var(--fc-green-dark) !important; }
.hero-sub { max-width:620px !important; margin-bottom:32px; color:var(--fc-copy) !important; font-size:18px !important; line-height:1.7; }
.hero-btns { gap:12px; }
.btn-primary,.btn-secondary { min-height:52px; border-radius:999px !important; padding:0 22px; transition:transform .28s var(--fc-ease),box-shadow .28s var(--fc-ease),background .28s var(--fc-ease) !important; }
.btn-primary { background:var(--fc-green) !important; color:#062817 !important; box-shadow:0 12px 30px rgba(0,200,90,.18) !important; }
.btn-primary:hover { background:#08d465 !important; transform:translateY(-2px) !important; box-shadow:0 16px 34px rgba(0,200,90,.25) !important; }
.btn-secondary { border-color:#cad8d0 !important; color:var(--fc-ink) !important; background:#fff !important; }
.btn-secondary:hover { border-color:#9bb7a7 !important; background:#f7faf8 !important; transform:translateY(-2px); }
.hero-stats { display:none !important; }

.hero-product { padding:8px !important; border:1px solid rgba(9,32,54,.06); border-radius:26px !important; background:rgba(9,32,54,.055) !important; box-shadow:0 34px 90px rgba(19,66,44,.14) !important; overflow:visible !important; }
.hero-product { animation:none !important; }
.motion-enabled .hero .motion-item { opacity:1 !important; transform:none !important; transition:none !important; }
.hero-product::before { content:"Sua simulação"; display:block; padding:18px 20px 12px; border-radius:20px 20px 0 0; background:#fff; color:var(--fc-ink); font:700 13px 'Sora',sans-serif; }
.hero-options { gap:7px !important; padding:8px !important; border-radius:0 0 20px 20px; background:#f7fbf8; }
.hero-option { min-height:76px; padding:15px 14px !important; border:1px solid transparent; color:#5a6e61 !important; }
.hero-option.is-active { color:var(--fc-ink) !important; transform:none !important; }
.hero-option-highlight { border:1px solid rgba(9,32,54,.06); box-shadow:0 14px 34px rgba(27,65,47,.10) !important; }
.hero-option .option-mark { border-radius:12px !important; background:#e3f8eb !important; }
.hero-option b { color:inherit; font-size:14px !important; }
.hero-option small { color:#536c60 !important; }

.trust-strip { position:relative; z-index:3; padding:0 5%; background:#fff; }
.trust-strip-inner { display:grid; grid-template-columns:repeat(4,1fr); max-width:1180px; margin:0 auto; padding:22px 28px; border-top:1px solid var(--fc-line); border-bottom:1px solid var(--fc-line); }
.trust-proof { display:flex; align-items:center; gap:12px; min-height:48px; padding:0 22px; color:var(--fc-copy); font-size:13px; border-right:1px solid var(--fc-line); }
.trust-proof:last-child { border-right:0; }
.trust-proof strong { display:block; color:var(--fc-ink); font:700 14px 'Sora',sans-serif; }
.trust-icon { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--fc-green); color:transparent; font-size:0; }

.guidance-section { padding:130px 5%; background:#fff; }
.guidance-intro { max-width:760px; margin:0 auto 90px; text-align:center; }
.guidance-intro h2 { color:var(--fc-ink); font-size:clamp(36px,4.4vw,60px); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.guidance-intro > p:last-child { max-width:650px; margin:22px auto 0; color:var(--fc-copy); font-size:18px; line-height:1.7; }
.guidance-flow { display:grid; gap:110px; max-width:1080px; margin:0 auto; }
.guidance-row { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); align-items:center; gap:90px; }
.guidance-row.reverse { grid-template-columns:minmax(420px,1.18fr) minmax(0,.82fr); }
.guidance-row.reverse .guidance-copy { order:2; }
.guidance-row.reverse .guidance-visual { order:1; }
.guidance-index { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:22px; border-radius:50%; background:var(--fc-ink); color:#fff; font:700 12px 'Sora',sans-serif; }
.guidance-copy h3 { margin-bottom:14px; color:var(--fc-ink); font:700 clamp(27px,3vw,40px)/1.12 'Sora',sans-serif; letter-spacing:-.03em; }
.guidance-copy p { color:var(--fc-copy); font-size:17px; line-height:1.7; }
.guidance-visual { position:relative; min-height:330px; padding:36px; border-radius:28px; background:#eef8f2; box-shadow:inset 0 0 0 1px rgba(8,115,60,.07); overflow:hidden; }
.guidance-visual::after { content:""; position:absolute; width:180px; height:180px; right:-60px; bottom:-70px; border-radius:50%; background:rgba(0,200,90,.12); }
.choice-visual { display:grid; align-content:center; gap:14px; }
.mini-choice { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-radius:15px; background:rgba(255,255,255,.72); color:var(--fc-ink); font:700 15px 'Sora',sans-serif; }
.mini-choice i { color:var(--fc-muted); font:500 12px 'DM Sans',sans-serif; }
.mini-choice.active { background:#fff; box-shadow:0 16px 42px rgba(25,76,52,.11); }
.conversation-visual { display:flex; flex-direction:column; justify-content:center; gap:14px; background:#eff5ff; }
.bubble { position:relative; z-index:1; max-width:78%; padding:16px 18px; border-radius:16px 16px 16px 5px; background:#fff; color:var(--fc-copy); font-size:14px; box-shadow:0 10px 24px rgba(9,32,54,.06); }
.bubble.visitor { align-self:flex-end; border-radius:16px 16px 5px 16px; background:var(--fc-ink); color:#fff; }
.typing { display:flex; gap:5px; width:max-content; padding:13px 16px; border-radius:16px; background:#fff; }
.typing i { width:5px; height:5px; border-radius:50%; background:#8aa096; }
.status-visual { display:flex; align-items:center; justify-content:center; gap:20px; background:#f8f5ed; }
.status-check { position:relative; z-index:1; display:grid; place-items:center; width:68px; height:68px; border-radius:50%; background:var(--fc-green); color:#052b18; font-size:28px; font-weight:800; }
.status-visual div { position:relative; z-index:1; display:grid; gap:6px; }
.status-visual small { color:var(--fc-green-dark); font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.status-visual strong { color:var(--fc-ink); font:700 21px 'Sora',sans-serif; }
.status-visual div span { color:var(--fc-muted); font-size:13px; }

.section { max-width:none !important; padding:120px max(5%,calc((100vw - 1180px)/2)) !important; }
.section-label { display:none; }
h2 { color:var(--fc-ink); font-size:clamp(36px,4.4vw,58px); line-height:1.08; letter-spacing:-.035em; }
.section-sub { max-width:650px; color:var(--fc-copy) !important; font-size:18px; }

#produtos { background:var(--fc-canvas) !important; color:var(--fc-ink) !important; }
#produtos > h2 { max-width:700px; }
.products-grid { gap:22px; }
.product-card { min-height:520px; padding:38px !important; border-radius:22px !important; box-shadow:none !important; }
.product-card.clt,.product-card.fgts { color:var(--fc-ink) !important; }
.product-card.clt { border:1px solid #b9dfc9 !important; background:#edf9f2 !important; }
.product-card.fgts { border:1px solid #cddbea !important; background:#eef5fc !important; }
.product-card.clt p,.product-card.fgts p { color:var(--fc-copy) !important; }
.product-card h3 { max-width:430px; color:var(--fc-ink); font-size:29px; letter-spacing:-.025em; }
.product-card .product-tag { color:var(--fc-green-dark); background:rgba(255,255,255,.72) !important; }
.product-card.fgts .product-tag { color:#1b5689; }
.product-card .product-features li { color:var(--fc-copy); border-color:rgba(9,32,54,.1) !important; }
.product-card .product-features li::before { color:var(--fc-green-dark); }
.product-card .product-btn { margin-top:auto; border:0 !important; border-radius:999px; background:var(--fc-ink) !important; color:#fff !important; }
.highlight-badge { top:22px; right:22px; background:#fff !important; color:var(--fc-green-dark) !important; border:1px solid #cce9d7; }
.product-card::after { background:rgba(255,255,255,.42); }
.product-card:hover,.product-card:focus-within { transform:translateY(-5px) !important; box-shadow:0 24px 60px rgba(18,58,41,.10) !important; }

.sim-section { max-width:1180px !important; margin:100px auto !important; padding:56px !important; border:0 !important; border-radius:28px !important; background:var(--fc-ink) !important; box-shadow:0 30px 80px rgba(9,32,54,.16); }
.sim-section::before { display:none !important; }
.sim-section > div:first-child { height:0 !important; }
.sim-section > div:nth-child(2) { margin-bottom:50px !important; padding:20px 22px !important; border:1px solid rgba(255,255,255,.10) !important; background:rgba(255,255,255,.06) !important; }
.sim-section h2 { color:#fff; }
.sim-section .section-sub,.sim-section p,.sim-section .step-text span { color:#bfd0dd !important; }
.sim-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:36px; }
.sim-steps::before { left:8%; right:8%; top:25px; bottom:auto; width:auto; height:1px; transform:scaleX(0); transform-origin:left; }
.sim-steps.is-visible::before { transform:scaleX(1); }
.sim-step { display:block !important; padding:0 6px; }
.step-num { width:50px !important; height:50px !important; margin-bottom:22px; border:1px solid rgba(255,255,255,.12) !important; background:#fff !important; color:var(--fc-ink) !important; }
.step-text strong { color:#fff; font-size:15px; }
.contact-cta { margin-top:46px; padding:24px 26px; border-radius:16px; background:rgba(255,255,255,.07); }
.contact-cta strong { color:#fff; }

#fgts-instrucoes { max-width:none !important; margin:0 !important; padding:110px max(5%,calc((100vw - 1180px)/2)) !important; background:#f7f9f8; }
#fgts-instrucoes > div { padding:0 !important; border:0 !important; background:transparent !important; }
#fgts-instrucoes > div > div:first-child > div:first-child { display:none !important; }
#fgts-instrucoes h2 { color:var(--fc-ink); }
#fgts-instrucoes p { color:var(--fc-copy) !important; }
#fgts-instrucoes .banks-grid > div,#fgts-instrucoes .steps-grid > div { border:1px solid var(--fc-line) !important; background:#fff !important; box-shadow:0 14px 42px rgba(20,55,40,.055); }
#fgts-instrucoes .banks-grid p:first-child { color:var(--fc-ink) !important; }
#fgts-instrucoes .steps-grid { gap:14px !important; }
#fgts-instrucoes .steps-grid > div { min-height:220px; padding:28px 20px !important; text-align:left !important; }
#fgts-instrucoes .steps-grid > div > div { margin:0 0 22px !important; border-color:#d8e5dd !important; background:var(--fc-mint) !important; color:var(--fc-green-dark) !important; }
#fgts-instrucoes a { border-radius:999px !important; background:var(--fc-ink) !important; color:#fff !important; }

#como-funciona { background:#fff; }
.how-grid { position:relative; gap:0; margin-top:64px; }
.how-grid::before { content:""; position:absolute; left:10%; right:10%; top:29px; height:1px; background:var(--fc-line); }
.how-card { position:relative; z-index:1; padding:0 28px 20px !important; border:0 !important; background:transparent !important; box-shadow:none !important; text-align:center; }
.how-num { width:58px !important; height:58px !important; margin:0 auto 28px; border:8px solid #fff; background:var(--fc-ink) !important; color:#fff !important; }
.how-card h3 { color:var(--fc-ink); font:700 17px 'Sora',sans-serif; margin-bottom:8px; }
.how-card p { color:var(--fc-copy); font-size:14px; }
.how-card:hover { transform:none !important; box-shadow:none !important; }

#calculadoras { background:var(--fc-canvas); }
.calc-grid { grid-template-columns:repeat(3,1fr) !important; gap:14px !important; }
.calc-card { display:grid !important; grid-template-columns:40px 1fr; align-content:start; column-gap:14px; min-height:172px; padding:26px !important; border:1px solid transparent !important; border-radius:16px !important; background:#fff !important; box-shadow:0 10px 35px rgba(21,48,38,.04); }
.calc-card .calc-icon { display:grid !important; grid-row:1 / span 2; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--fc-mint); font-size:20px !important; }
.calc-card .calc-icon { color:transparent; font-size:0 !important; }
.calc-card .calc-icon::before { color:var(--fc-green-dark); font:800 9px 'Sora',sans-serif; letter-spacing:-.02em; }
.calc-card:nth-child(1) .calc-icon::before { content:'FGTS'; }
.calc-card:nth-child(2) .calc-icon::before { content:'RSC'; }
.calc-card:nth-child(3) .calc-icon::before { content:'CLT'; }
.calc-card:nth-child(4) .calc-icon::before { content:'INSS'; }
.calc-card:nth-child(5) .calc-icon::before { content:'FÉR'; }
.calc-card:nth-child(6) .calc-icon::before { content:'MC'; }
.calc-card:nth-child(7) .calc-icon::before { content:'13º'; }
.calc-card:nth-child(8) .calc-icon::before { content:'R$'; }
.calc-card:nth-child(9) .calc-icon::before { content:'IR'; }
.calc-card:nth-child(10) .calc-icon::before { content:'SD'; }
.calc-card:nth-child(11) .calc-icon::before { content:'APO'; }
.calc-card h4,.calc-card h3 { align-self:center; color:var(--fc-ink) !important; font:700 16px 'Sora',sans-serif; }
.calc-card p { grid-column:2; color:var(--fc-copy) !important; }
.calc-card:hover { border-color:#bfdfcc !important; background:#fff !important; transform:translateY(-4px) !important; box-shadow:0 18px 44px rgba(21,48,38,.08) !important; }

.testimonials-section { padding:120px max(5%,calc((100vw - 1180px)/2)) !important; background:var(--fc-ink) !important; }
.testimonials-section h2 { color:#fff; }
.testimonials-section .section-label { color:#72e6a6 !important; }
.testi-grid { gap:16px; }
.testi-card { min-height:300px; padding:30px !important; border:1px solid rgba(255,255,255,.08) !important; border-radius:16px !important; background:rgba(255,255,255,.055) !important; }
.testi-text { color:#e5eef3 !important; font-size:15px !important; }
.author-name { color:#fff; }
.author-city { color:#9eb2c0 !important; }

#faq { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(500px,1.28fr); gap:80px; background:#fff; }
#faq > .section-label,#faq > h2 { grid-column:1; }
#faq > h2 { align-self:start; margin-top:-62px; }
.faq-list { grid-column:2; grid-row:1 / span 2; }
.faq-item { border-color:var(--fc-line) !important; }
.faq-question { min-height:76px; color:var(--fc-ink) !important; font-size:16px !important; }
.faq-answer { color:var(--fc-copy) !important; line-height:1.7; }
.faq-question::after { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--fc-mint); color:var(--fc-green-dark); }

.cta-final { max-width:1180px !important; margin:20px auto 110px !important; padding:76px 7% !important; border-radius:28px !important; background:#ddf8e8 !important; box-shadow:none !important; }
.cta-final h2 { max-width:780px; margin-inline:auto; color:var(--fc-ink) !important; font-size:clamp(36px,4.2vw,58px) !important; }
.cta-final p { max-width:650px; margin-inline:auto; color:var(--fc-copy) !important; }
.cta-final .btn-dark { border-radius:999px !important; background:var(--fc-ink) !important; }
.cta-final .btn-outline { border-radius:999px !important; border-color:rgba(9,32,54,.22) !important; color:var(--fc-ink) !important; }

footer { padding:72px max(5%,calc((100vw - 1180px)/2)) 34px !important; background:#061626 !important; }
footer .logo { color:#fff !important; }
.footer-grid,.footer-bottom { max-width:none !important; }
.footer-brand p,.footer-col a { color:#9eb1bf !important; }

.popup-box { border:0 !important; background:#fff !important; color:var(--fc-ink) !important; box-shadow:var(--fc-shadow); }
.popup-box p,.popup-close { color:var(--fc-copy) !important; }

@media (max-width:900px) {
  nav { top:10px; width:calc(100% - 20px); border-radius:18px; }
  .nav-toggle { display:block; border-color:#dce6e0 !important; background:#f6f9f7 !important; }
  .nav-toggle span { background:var(--fc-ink) !important; }
  .nav-links { top:calc(100% + 8px) !important; border:1px solid #dfe7e2 !important; background:rgba(255,255,255,.98) !important; box-shadow:0 24px 60px rgba(9,32,54,.15) !important; }
  .nav-links a { color:var(--fc-ink) !important; }
  .nav-links a:hover { background:#f0f5f2 !important; }
  .nav-links .nav-cta { color:#fff !important; }
  .hero { padding:130px 22px 70px !important; }
  .hero-grid { grid-template-columns:1fr !important; gap:48px !important; text-align:left !important; }
  .hero h1,.hero-sub { text-align:left !important; }
  .hero h1 { font-size:clamp(43px,10vw,62px) !important; }
  .hero-product { display:block !important; width:100%; max-width:600px; }
  .badge { margin-left:0 !important; }
  .hero-btns { justify-content:flex-start !important; }
  .trust-strip-inner { grid-template-columns:1fr 1fr; padding:18px 0; }
  .trust-proof { padding:14px; border-bottom:1px solid var(--fc-line); }
  .trust-proof:nth-child(2) { border-right:0; }
  .trust-proof:nth-child(3),.trust-proof:nth-child(4) { border-bottom:0; }
  .guidance-section { padding:90px 22px; }
  .guidance-intro { margin-bottom:60px; text-align:left; }
  .guidance-intro > p:last-child { margin-left:0; }
  .guidance-flow { gap:64px; }
  .guidance-row,.guidance-row.reverse { grid-template-columns:1fr; gap:28px; }
  .guidance-row.reverse .guidance-copy,.guidance-row.reverse .guidance-visual { order:initial; }
  .guidance-visual { min-height:280px; }
  .section { padding:90px 22px !important; }
  .section-label,h2,.section-sub { text-align:left !important; margin-left:0 !important; }
  .products-grid { grid-template-columns:1fr; }
  .sim-section { margin:70px 14px !important; padding:38px 24px !important; }
  .sim-steps { grid-template-columns:1fr 1fr; gap:34px 20px; }
  .sim-steps::before { display:none; }
  #fgts-instrucoes { padding:90px 22px !important; }
  #fgts-instrucoes .steps-grid { grid-template-columns:1fr 1fr !important; }
  .how-grid { grid-template-columns:1fr 1fr; gap:42px 18px; }
  .how-grid::before { display:none; }
  .calc-grid { grid-template-columns:1fr 1fr !important; }
  #faq { grid-template-columns:1fr; gap:18px; }
  #faq > .section-label,#faq > h2,.faq-list { grid-column:1; grid-row:auto; }
  #faq > h2 { margin-top:0; margin-bottom:36px !important; }
  .cta-final { margin:10px 14px 80px !important; padding:58px 24px !important; }
}

@media (max-width:600px) {
  .hero { padding-inline:18px !important; }
  .hero h1 { font-size:clamp(39px,12.5vw,54px) !important; }
  .hero-btns { align-items:stretch !important; }
  .hero-options { grid-template-columns:1fr !important; }
  .trust-strip { padding:0 18px; }
  .trust-strip-inner { grid-template-columns:1fr; }
  .trust-proof { border-right:0; border-bottom:1px solid var(--fc-line) !important; }
  .trust-proof:last-child { border-bottom:0 !important; }
  .guidance-visual { min-height:260px; padding:24px; }
  .mini-choice { align-items:flex-start; gap:8px; padding:18px; }
  .mini-choice i { text-align:right; }
  .product-card { min-height:0; padding:30px 24px !important; }
  .highlight-badge { position:static !important; display:inline-block; margin-bottom:18px; }
  .sim-steps { grid-template-columns:1fr; }
  #fgts-instrucoes .steps-grid,.calc-grid,.how-grid { grid-template-columns:1fr !important; }
  .how-card { display:grid; grid-template-columns:58px 1fr; column-gap:18px; text-align:left; }
  .how-num { grid-row:1 / span 2; margin:0 !important; }
  .how-card h3,.how-card p { text-align:left; }
  .testi-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-product,.hero::after { animation:none !important; }
}
