/* NickPC — Portfólio (padrão: 3 arquivos) */
:root{
  --escuro:#0B1220;
  --painel:#131E36;
  --borda-escura:#26324D;
  --clara:#F6F8FB;
  --texto-escuro:#0F172A;
  --texto:#334155;
  --texto-suave:#64748B;
  --texto-claro:#E2E8F0;
  --texto-claro-suave:#94A3B8;
  --verde:#22C55E;
  --zap:#25D366;
  --zap-texto:#08210F;
  --azul:#1D4ED8;
  --raio:14px;
  --fonte:-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:var(--fonte);color:var(--texto);background:#fff;line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--azul)}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px;border-radius:4px}
.num{font-variant-numeric:tabular-nums}
.container{width:min(1120px,92%);margin:0 auto}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--escuro);color:#fff;padding:10px 16px;z-index:200}
.skip-link:focus{left:0}

/* topo */
.topo{position:fixed;inset:0 0 auto 0;background:rgba(11,18,32,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--borda-escura);z-index:100}
.topo-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.marca-icone{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--verde);color:#06210F;font-size:1.05rem;font-weight:800}
.marca-texto em{font-style:normal;color:var(--verde)}
.menu{display:flex;align-items:center;gap:26px}
.menu a{color:var(--texto-claro);text-decoration:none;font-size:.95rem;font-weight:500}
.menu a:hover{color:#fff}
.menu-zap{color:var(--zap-texto) !important;font-weight:700}
.menu-botao{display:none;background:none;border:1px solid var(--borda-escura);border-radius:10px;color:#fff;padding:8px;cursor:pointer}

/* botões */
.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;border-radius:12px;padding:12px 22px;transition:transform .2s,box-shadow .2s;justify-content:center}
.btn:hover{transform:translateY(-2px)}
.btn-grande{padding:15px 28px;font-size:1.05rem}
.btn-zap{background:var(--zap);color:var(--zap-texto);box-shadow:0 6px 20px rgba(37,211,102,.3)}
.btn-zap:hover{box-shadow:0 12px 28px rgba(37,211,102,.42)}
.btn-fantasma{border:1.5px solid var(--borda-escura);color:var(--texto-claro)}
.btn-fantasma:hover{border-color:var(--verde);color:#fff}

/* hero */
.hero{background:var(--escuro);color:#fff;padding:150px 0 90px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-160px;top:-160px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.16),transparent 65%);pointer-events:none}
.hero-eyebrow{color:var(--verde);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}
.hero-titulo{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.15;letter-spacing:-.03em;max-width:18ch;font-weight:800}
.destaque{color:var(--verde)}
.hero-sub{color:var(--texto-claro-suave);font-size:1.13rem;max-width:56ch;margin-top:20px}
.hero-acoes{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-chips{list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin-top:38px}
.hero-chips li{background:var(--painel);border:1px solid var(--borda-escura);color:var(--texto-claro);padding:8px 15px;border-radius:99px;font-size:.88rem}

/* seções */
.secao{padding:84px 0;background:#fff}
.secao-clara{background:var(--clara)}
.eyebrow{color:var(--azul);font-weight:700;font-size:.88rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}
.secao-titulo{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--texto-escuro);letter-spacing:-.02em;font-weight:800}
.secao-sub{max-width:60ch;margin-top:14px;color:var(--texto-suave)}

/* trabalhos */
.grade-trabalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;margin-top:44px}
.card-trabalho{background:#fff;border:1px solid #E4E9F2;border-radius:18px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.card-trabalho:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,23,42,.1)}
.card-foto{display:block;background:var(--escuro)}
.card-foto img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}
.card-corpo{padding:26px}
.card-tag{display:inline-block;background:#EAF7EF;color:#15803D;font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:99px;margin-bottom:12px}
.card-corpo h3{color:var(--texto-escuro);font-size:1.25rem;margin-bottom:8px}
.card-corpo p{color:var(--texto-suave);font-size:.98rem}
.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:var(--azul);font-weight:700;text-decoration:none}
.card-link:hover{text-decoration:underline}
.card-proximo{background:repeating-linear-gradient(-45deg,#fff,#fff 14px,#F3F6FB 14px,#F3F6FB 28px);border-style:dashed;border-color:#C3CEDF}
.card-proximo .card-corpo{padding-top:44px}

/* passos */
.passos{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:44px;counter-reset:passo}
.passo{background:#fff;border:1px solid #E4E9F2;border-radius:18px;padding:30px 26px;position:relative}
.passo-num{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--escuro);color:var(--verde);font-weight:800;font-size:1.25rem;margin-bottom:16px}
.passo h3{color:var(--texto-escuro);font-size:1.12rem;margin-bottom:8px}
.passo p{color:var(--texto-suave);font-size:.97rem}

/* diferenciais */
.grade-difs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:44px}
.dif{background:#fff;border:1px solid #E4E9F2;border-radius:16px;padding:26px}
.dif-icone{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#EAF7EF;color:#15803D;margin-bottom:16px}
.dif h3{color:var(--texto-escuro);font-size:1.06rem;margin-bottom:8px}
.dif p{color:var(--texto-suave);font-size:.95rem}

/* cta final */
.cta-final{background:var(--escuro);padding:90px 0;text-align:center}
.cta-final h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.5rem);letter-spacing:-.02em;font-weight:800}
.cta-final p{color:var(--texto-claro-suave);margin:14px 0 30px;font-size:1.08rem}

/* rodapé */
.rodape{background:#070D18;color:var(--texto-claro-suave);padding:34px 0;border-top:1px solid var(--borda-escura);font-size:.92rem}
.rodape-inner{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rodape strong{color:#fff}
.rodape-nota{color:#64748B}

/* zap flutuante */
.zap-flutuante{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--zap);color:var(--zap-texto);display:grid;place-items:center;box-shadow:0 10px 28px rgba(37,211,102,.45);z-index:90;transition:transform .2s}
.zap-flutuante:hover{transform:scale(1.08)}

/* revelar */
.revelar{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.revelar.visivel{opacity:1;transform:none}
.no-js .revelar{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .revelar{opacity:1;transform:none;transition:none}
  .btn:hover{transform:none}
}

/* menu mobile */
@media (max-width:820px){
  .menu-botao{display:block}
  .menu{position:absolute;top:68px;left:0;right:0;background:var(--escuro);border-bottom:1px solid var(--borda-escura);flex-direction:column;align-items:stretch;gap:0;padding:8px 6% 18px;display:none}
  .menu.aberto{display:flex}
  .menu a{padding:13px 4px;border-bottom:1px solid var(--borda-escura);font-size:1rem}
  .menu a:last-child{border-bottom:0;margin-top:12px;text-align:center}
  .hero{padding:120px 0 70px}
  .hero-acoes .btn{width:100%}
}
@media (max-width:560px){
  body{font-size:16px}
  .secao{padding:64px 0}
  .card-corpo{padding:22px}
  .zap-flutuante{right:16px;bottom:16px}
}
