@font-face{font-family:Poppins;src:url(fontes/Poppins-Regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(fontes/Poppins-Medium.ttf);font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(fontes/Poppins-SemiBold.ttf);font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url(fontes/Poppins-Bold.ttf);font-weight:700;font-display:swap}
:root{
  /* Freedom Pagamentos — azul do esboço da arquitetura de marca (#0048D8) */
  --navy:#01011f; --azul-esc:#002a8f; --azul:#0048d8; --azul-med:#1f66e6; --azul-cl:#4d9bff; --acento:#0048d8;
  --texto:#1b2333; --suave:#5b6577; --fundo:#ffffff; --fundo-alt:#f2f6fd; --borda:#dde5f3; --verde:#1fae5b;
  --grad:linear-gradient(45deg,#002a8f 0%,#0048d8 55%,#4d9bff 100%);
  --destaque:#bfe0ff; --sombra-btn:rgba(0,72,216,.35);
  --raio:20px; --sombra:0 18px 50px rgba(0,42,143,.14);
}
/* Freedom Capital — verde do esboço (#127836) */
body.capital{
  --azul-esc:#0b4a22; --azul:#127836; --azul-med:#1c9447; --azul-cl:#46c878; --acento:#127836;
  --fundo-alt:#f1f8f3; --borda:#dcebe1;
  --grad:linear-gradient(45deg,#0b4a22 0%,#127836 55%,#3dbb6c 100%);
  --destaque:#c8f2d6; --sombra-btn:rgba(18,120,54,.35); --sombra:0 18px 50px rgba(11,74,34,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Poppins,system-ui,sans-serif;color:var(--texto);background:var(--fundo);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1160px,100% - 32px);margin-inline:auto}
section{padding:96px 0}
.tag{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--acento);margin-bottom:14px}
h1,h2,h3{color:var(--navy);line-height:1.15;font-weight:700}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:18px}
h3{font-size:1.15rem;font-weight:600;margin-bottom:8px}
.lead{font-size:1.08rem;color:var(--suave);max-width:640px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;font-weight:600;font-size:.98rem;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.btn-zap{background:#fff;color:var(--azul-esc);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.btn-borda{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn-azul{background:var(--grad);color:#fff;box-shadow:0 10px 30px var(--sombra-btn)}
.btn svg{width:20px;height:20px;flex:none}

/* topo */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--borda)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav img{height:40px;width:auto}
.nav ul{display:flex;gap:30px;list-style:none;font-size:.93rem;font-weight:500}
.nav ul a:hover{color:var(--acento)}
.nav .btn{padding:10px 20px;font-size:.88rem}
.nav-dir{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--borda);border-radius:12px;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn span{width:20px;height:2px;border-radius:2px;background:var(--navy);transition:transform .2s,opacity .2s}
header.aberto .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.aberto .menu-btn span:nth-child(2){opacity:0}
header.aberto .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1100px){
  .nav ul{display:none}.nav img{height:32px}.menu-btn{display:flex}
  header.aberto .nav ul{display:flex;flex-direction:column;gap:0;position:absolute;top:72px;left:0;right:0;background:#fff;padding:8px 24px 18px;border-bottom:1px solid var(--borda);box-shadow:0 18px 30px rgba(0,0,0,.08)}
  header.aberto .nav ul a{display:block;padding:13px 0;border-bottom:1px solid var(--borda);font-size:1rem}
  header.aberto .nav ul li:last-child a{border-bottom:0}
}
@media (max-width:420px){.nav .btn{padding:10px 14px;font-size:.82rem}}

/* hero */
.hero{background:var(--grad);color:#fff;position:relative;overflow:hidden;padding:88px 0 110px}
.hero::before{content:"";position:absolute;width:720px;height:720px;right:-220px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;position:relative}
.hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:20px}
.hero h1 span{color:var(--destaque)}
.hero p{font-size:1.12rem;opacity:.92;max-width:540px;margin-bottom:34px}
.hero .acoes{display:flex;flex-wrap:wrap;gap:14px}
.selos{display:flex;flex-wrap:wrap;gap:22px;margin-top:42px;font-size:.9rem;opacity:.95}
.selos div{display:flex;align-items:center;gap:8px}
.selos b{font-size:1.25rem}
.vitrine{position:relative;height:500px}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.vitrine{height:440px;margin-top:10px}}

/* máquina (ilustração) */
.pos{position:absolute;left:8%;top:10px;width:230px;height:430px;background:linear-gradient(160deg,#1d2433,#0b0f19);border-radius:34px 34px 30px 30px;box-shadow:0 40px 80px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,255,255,.08);padding:18px 14px;transform:rotate(-6deg)}
.pos .impressora{height:46px;border-radius:20px 20px 8px 8px;background:#151b27;margin:-4px 0 12px;display:flex;align-items:center;justify-content:center}
.pos .impressora i{width:120px;height:6px;border-radius:4px;background:#05070c}
.pos .tela{background:linear-gradient(180deg,#0d2c57,#0a2246);border-radius:14px;height:300px;padding:14px 12px;color:#fff;display:flex;flex-direction:column;align-items:center}
.pos .tela img{width:120px;margin:4px 0 14px}
.pos .valor{font-size:.72rem;opacity:.75}
.pos .valor b{display:block;font-size:1.5rem;opacity:1;margin-top:2px}
.pos .ok{width:64px;height:64px;border-radius:50%;background:var(--verde);display:grid;place-items:center;margin:16px 0 10px;box-shadow:0 0 0 8px rgba(31,174,91,.18)}
.pos .ok svg{width:30px}
.pos .tela small{font-size:.78rem;font-weight:500}
.pos .botoes{display:flex;justify-content:space-around;margin-top:16px;opacity:.5}
.pos .botoes i{width:16px;height:4px;border-radius:3px;background:#fff}

/* celular (ilustração) */
.cel{position:absolute;right:4%;top:60px;width:220px;height:440px;background:#0b0f19;border-radius:38px;padding:10px;box-shadow:0 40px 80px rgba(0,0,0,.35);transform:rotate(5deg)}
.cel .tela{background:#f4f8fc;border-radius:30px;height:100%;overflow:hidden;color:var(--texto);font-size:.7rem}
.cel .app-topo{background:var(--grad);color:#fff;padding:26px 14px 18px}
.cel .app-topo img{width:92px;margin-bottom:12px}
.cel .app-topo small{opacity:.85}
.cel .app-topo b{display:block;font-size:1.35rem;margin-top:2px}
.cel .atalhos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:12px}
.cel .atalhos div{background:#fff;border-radius:10px;padding:8px 2px;text-align:center;font-weight:600;font-size:.62rem;color:var(--azul-esc);box-shadow:0 2px 8px color-mix(in srgb,var(--azul-esc) 8%,transparent)}
.cel .atalhos svg{width:18px;height:18px;margin:0 auto 3px;display:block}
.cel .lista{padding:0 12px}
.cel .lista p{font-weight:600;margin:4px 0 6px;color:var(--navy)}
.cel .item{display:flex;justify-content:space-between;background:#fff;border-radius:10px;padding:8px 10px;margin-bottom:6px}
.cel .item span{color:var(--suave)}
.cel .item b{color:var(--verde)}
@media (max-width:520px){.vitrine{height:380px}.pos{left:-6px;transform:rotate(-6deg) scale(.78);transform-origin:top left}.cel{right:-6px;top:40px;transform:rotate(5deg) scale(.78);transform-origin:top right}}

/* quem somos */
.quem .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.valores{display:grid;gap:16px}
.valor-card{display:flex;gap:18px;align-items:flex-start;padding:22px;border:1px solid var(--borda);border-radius:var(--raio);background:#fff}
.valor-card .n{font-weight:700;font-size:1.4rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;min-width:38px}
.valor-card p{color:var(--suave);font-size:.95rem}
@media (max-width:900px){.quem .wrap{grid-template-columns:1fr;gap:36px}}

/* soluções */
.solucoes{background:var(--fundo-alt)}
.cabeca{text-align:center;max-width:720px;margin:0 auto 56px}
.cabeca .lead{margin-inline:auto}
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border-radius:var(--raio);padding:30px 26px;box-shadow:0 6px 24px color-mix(in srgb,var(--azul-esc) 6%,transparent);border:1px solid var(--borda);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.icone{width:54px;height:54px;border-radius:16px;background:var(--grad);display:grid;place-items:center;margin-bottom:20px}
.icone svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card p{color:var(--suave);font-size:.93rem}
@media (max-width:1000px){.grade{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grade{grid-template-columns:1fr}}

.grade-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.grade-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grade-3{grid-template-columns:1fr}}

/* máquinas */
.maquinas-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.maq{border:1px solid var(--borda);border-radius:24px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.maq:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.maq-foto{background:var(--grad);height:230px;display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden}
.maq-foto::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);top:-60px;right:-60px}
.mini{background:linear-gradient(160deg,#1d2433,#0b0f19);box-shadow:0 20px 40px rgba(0,0,0,.35);position:relative;margin-bottom:-24px;padding:10px 8px}
.mini .t{background:linear-gradient(180deg,#0d2c57,#0a2246);border-radius:8px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.mini .t img{width:70%}
.mini .t i{width:28px;height:28px;border-radius:50%;background:var(--verde);display:block}
.mini.essencial{width:110px;height:200px;border-radius:22px}
.mini.essencial .t{height:118px;margin-top:22px}
.mini.smart{width:120px;height:215px;border-radius:24px}
.mini.balcao{width:230px;height:160px;border-radius:16px;margin-bottom:-14px}
.mini.balcao .t{height:100%}
.maq-corpo{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1}
.maq-corpo .tipo{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acento)}
.maq-corpo h3{font-size:1.3rem;margin:4px 0 8px}
.maq-corpo p{color:var(--suave);font-size:.93rem}
.pilulas{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}
.pilulas span{font-size:.76rem;font-weight:500;padding:6px 12px;border-radius:999px;background:var(--fundo-alt);color:var(--azul-esc)}
.maq-corpo .btn{margin-top:auto;align-self:flex-start;padding:11px 20px;font-size:.88rem}
@media (max-width:1000px){.maquinas-grade{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.maquinas-grade{grid-template-columns:1fr}}

#servicos .grade{display:flex;flex-wrap:wrap;justify-content:center}
#servicos .card{flex:0 1 calc((100% - 44px)/3)}
@media (max-width:1000px){#servicos .card{flex-basis:calc((100% - 22px)/2)}}
@media (max-width:560px){#servicos .card{flex-basis:100%}}

/* representante */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.bloco{border-radius:28px;padding:44px 40px;position:relative;overflow:hidden}
.bloco.claro{background:var(--fundo-alt);border:1px solid var(--borda)}
.bloco.escuro{background:var(--navy);color:#fff}
.bloco.escuro h2{color:#fff}
.bloco.escuro .tag{color:var(--azul-cl)}
.bloco p{color:var(--suave);margin-bottom:22px}
.bloco.escuro p{color:rgba(255,255,255,.78)}
.bloco ul{list-style:none;display:grid;gap:10px;margin-bottom:28px}
.bloco li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.bloco li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--azul-cl);margin-top:9px;flex:none}
.bloco h2{font-size:clamp(1.5rem,2.6vw,2rem)}
@media (max-width:900px){.duo{grid-template-columns:1fr}.bloco{padding:36px 26px}}
.representante{padding:56px 56px}
.representante::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-160px;background:radial-gradient(circle,color-mix(in srgb,var(--azul-cl) 28%,transparent),transparent 65%)}
.representante p{max-width:640px}
.representante ul{grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 36px}
@media (max-width:900px){.representante{padding:40px 26px}.representante ul{grid-template-columns:1fr}}

/* interesses no contato */
.interesses{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;position:relative}
.interesses a{padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);font-size:.85rem;font-weight:500;transition:background .15s}
.interesses a:hover{background:rgba(255,255,255,.26)}

/* painel */
.painel .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}
.dash{background:#fff;border-radius:22px;box-shadow:var(--sombra);border:1px solid var(--borda);overflow:hidden}
.dash-topo{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--borda)}
.dash-topo img{height:26px}
.dash-topo span{font-size:.75rem;color:var(--suave)}
.dash-corpo{padding:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kpi{background:var(--fundo-alt);border-radius:14px;padding:14px}
.kpi small{font-size:.7rem;color:var(--suave);display:block}
.kpi b{font-size:1.1rem;color:var(--navy)}
.grafico{grid-column:1/-1;background:var(--fundo-alt);border-radius:14px;padding:18px 18px 10px}
.grafico small{font-size:.72rem;color:var(--suave)}
.barras{display:flex;align-items:flex-end;gap:10px;height:130px;margin-top:10px}
.barras i{flex:1;border-radius:6px 6px 2px 2px;background:var(--grad);opacity:.9}
.dias{display:flex;gap:10px;margin-top:6px}
.dias span{flex:1;text-align:center;font-size:.65rem;color:var(--suave)}
.checks{list-style:none;margin-top:26px;display:grid;gap:14px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks svg{width:22px;height:22px;flex:none;margin-top:2px}
@media (max-width:900px){.painel .wrap{grid-template-columns:1fr}.dash{order:2}}

/* diferenciais */
.difs{background:var(--grad);color:#fff}
.difs h2,.difs .tag{color:#fff}
.difs .tag{opacity:.8}
.difs .lead{color:rgba(255,255,255,.88)}
.difs-grade{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.dif{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--raio);padding:28px 24px;backdrop-filter:blur(4px)}
.dif .grande{font-size:2.4rem;font-weight:700;line-height:1;margin-bottom:12px}
.dif h3{color:#fff}
.dif p{font-size:.92rem;opacity:.88}
@media (max-width:1000px){.difs-grade{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.difs-grade{grid-template-columns:1fr}}

/* como funciona */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:p;position:relative}
.passo{text-align:center;padding:0 10px;position:relative}
.passo .bola{width:66px;height:66px;border-radius:50%;background:#fff;border:2px solid var(--azul-med);display:grid;place-items:center;margin:0 auto 18px;font-weight:700;font-size:1.3rem;color:var(--azul);position:relative;z-index:1}
.passos::before{content:"";position:absolute;top:33px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--azul-med) 0 8px,transparent 8px 16px)}
.passo p{color:var(--suave);font-size:.93rem}
@media (max-width:860px){.passos{grid-template-columns:1fr 1fr;row-gap:40px}.passos::before{display:none}}
@media (max-width:480px){.passos{grid-template-columns:1fr}}

/* presença */
.presenca{background:var(--fundo-alt)}
.presenca .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.numero{background:#fff;border-radius:28px;box-shadow:var(--sombra);padding:52px 40px;text-align:center;position:relative;overflow:hidden}
.numero::after{content:"";position:absolute;inset:auto -60px -90px auto;width:240px;height:240px;border-radius:50%;background:var(--grad);opacity:.08}
.numero b{display:block;font-size:6rem;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.numero span{font-size:1.2rem;font-weight:600;color:var(--navy)}
.numero p{color:var(--suave);margin-top:8px;font-size:.95rem}
@media (max-width:900px){.presenca .wrap{grid-template-columns:1fr}}

/* faq */
.faq .wrap{max-width:860px}
details{border-bottom:1px solid var(--borda);padding:20px 0}
summary{cursor:pointer;font-weight:600;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:1.02rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--acento);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--suave);margin-top:10px;font-size:.96rem}

/* contato */
.contato{padding:0 0 96px}
.cta{background:var(--grad);border-radius:32px;padding:64px 48px;color:#fff;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;bottom:-200px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 65%)}
.cta h2{color:#fff}
.cta p{opacity:.9;max-width:520px}
.cta .acoes{display:flex;flex-direction:column;gap:12px;align-items:flex-start;position:relative}
@media (max-width:860px){.cta{grid-template-columns:1fr;padding:44px 26px}}

footer{background:var(--navy);color:rgba(255,255,255,.75);padding:48px 0 32px;font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center}
footer img{height:36px;width:auto}
footer .redes{display:flex;gap:18px}
footer .redes a:hover{color:#fff}
footer .fim{width:100%;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:8px;font-size:.8rem;opacity:.7}

.zap-flutuante{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:60}
.zap-flutuante svg{width:30px;height:30px;fill:#fff}

/* atalhos para a Freedom Capital dentro da página de Pagamentos ficam no verde da Capital */
.card-capital .icone{background:linear-gradient(45deg,#0b4a22 0%,#127836 55%,#3dbb6c 100%)}
.card-capital a,.nav a.link-capital{color:#127836!important;font-weight:600}
section[id]{scroll-margin-top:72px}

/* nossa essência */
.essencia{padding-top:0}
.essencia-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.atendemos{margin-top:44px;text-align:center}
.atendemos h3{margin-bottom:16px}
.segmentos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.segmentos span{padding:9px 18px;border-radius:999px;background:var(--fundo-alt);border:1px solid var(--borda);font-size:.9rem;font-weight:500;color:var(--azul-esc)}
@media (max-width:900px){.essencia-grade{grid-template-columns:1fr}}
.redes{flex-wrap:wrap}
