/* ═══════════════════════════════════════════
   HOME — capa, serviços e rodapé
═══════════════════════════════════════════ */

.home-wrap{
  position:relative;z-index:2;
  width:100%;max-width:468px;margin:0 auto;
  padding:0 22px calc(var(--safe-b) + 128px);
}

/* ── Capa: imagem de topo, sangrando a largura toda ── */
.cover{
  position:relative;z-index:1;overflow:hidden;
  background:#000;animation:fade .6s ease both;
}
/* 851/315 é a proporção nativa do arquivo: no celular entra inteira, sem cortar a marca.
   Passando disso o fundo desfocado preenche o resto da tela. */
.cover-img{
  position:relative;z-index:1;
  width:100%;max-width:851px;margin:0 auto;
  height:auto;aspect-ratio:851/315;object-fit:cover;object-position:center;
}
/* preenche as laterais no desktop com a própria capa borrada */
.cover-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transform:scale(1.2);
  filter:blur(30px) saturate(.7) brightness(.45);
}
/* telas mais largas que a capa: as bordas dissolvem no desfoque, sem emenda */
@media (min-width:940px){
  .cover-img{
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%);
            mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%);
  }
}
/* dissolve a base da capa no fundo da página */
.cover::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:48%;z-index:2;pointer-events:none;
  background:linear-gradient(to top,var(--slate-950) 6%,rgba(10,12,16,.55) 48%,transparent 100%);
}

/* ── Marca: monograma + nome ── */
.hdr{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:5px;padding:0 0 24px;animation:fadeD .6s ease both;
}
/* Moldura em arco (topo redondo, base quase reta) — estilo cartão de bio */
/* sobe sobre a capa, como cartão de bio — menos avanço no celular, onde a capa é baixa */
.avatar-shell{position:relative;z-index:2;width:112px;height:138px;margin:clamp(-58px,-8vw,-34px) 0 16px}
.avatar-ring{
  position:absolute;inset:-7px;border-radius:60px 60px 18px 18px;
  border:1px solid var(--gold-400);
}
.avatar-ring::before{
  content:'';position:absolute;inset:-7px;border-radius:60px 60px 18px 18px;
  border:1px solid var(--line-soft);
}
.avatar-inner{
  width:100%;height:100%;border-radius:56px 56px 14px 14px;overflow:hidden;
  background:#000;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);
  font-family:var(--ff-display);font-size:34px;font-weight:600;color:var(--gold-400);
}
.avatar-inner img{width:60%;height:auto;object-fit:contain}
.cname{font-family:var(--ff-display);font-size:32px;line-height:1.1;font-weight:600;color:var(--ink)}
.ctag{
  font-family:var(--ff-mono);font-size:9px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold-600);margin-top:4px;
}
.csub{font-size:13px;color:var(--dim);margin-top:2px}

/* ── Capa: texto ── */
.hero-text{padding:6px 2px 0;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;animation:fadeU .7s ease both}
.hero-bio{font-size:15.5px;line-height:1.72;color:var(--ink-2);text-wrap:pretty}
.badges{display:flex;flex-wrap:wrap;gap:7px;padding-top:2px;justify-content:center}

/* ── Pilares ── */
.pilares{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  margin-top:22px;background:var(--line-soft);
  border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden;
}
.pil{background:rgba(255,255,255,.04);padding:15px 6px;text-align:center;min-width:0}
/* clamp: em telas de 320-360px "Treinamento" não cabe a 19px */
.pil-v{
  font-family:var(--ff-display);font-weight:600;color:var(--ink);line-height:1.15;
  font-size:clamp(15px,4.6vw,19px);hyphens:auto;
}
.pil-l{
  font-family:var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--dim);margin-top:6px;font-size:clamp(7px,2.1vw,8px);
}

/* ── CTA principal ── */
.hero-cta{margin-top:22px}

/* ── Cards de serviço ── */
.svc-list{margin-top:11px;display:flex;flex-direction:column;gap:12px}
.svc{
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);
}
.svc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.svc-tag{
  font-family:var(--ff-mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-400);background:var(--gold-100);border-radius:999px;padding:5px 10px;white-space:nowrap;
}
.svc-title{font-family:var(--ff-display);font-size:19px;font-weight:600;color:var(--ink);margin-top:6px}
.svc-desc{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin-top:8px}
.svc-acoes{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.svc-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:12px 16px;border-radius:999px;
  border:1px solid var(--line-strong);color:var(--slate-100);font-size:13px;font-weight:500;
  background:rgba(255,255,255,.05);transition:border-color .2s,background .2s;
}
.svc-btn:active{background:rgba(255,255,255,.09)}
@media(hover:hover){.svc-btn:hover{border-color:var(--gold-500);color:var(--gold-700)}}

/* ── Folder institucional ── */
.folder{
  position:relative;cursor:zoom-in;
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  background:#000;box-shadow:var(--shadow-sm);
  transition:border-color .2s,transform .15s;
}
.folder:active{transform:scale(.99)}
@media(hover:hover){.folder:hover{border-color:var(--gold-500)}}
.folder img{width:100%;height:auto}
.folder-cap{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 14px;border-top:1px solid var(--line-soft);
  background:rgba(255,255,255,.04);
  font-family:var(--ff-mono);font-size:8.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dim);
}
.folder-zoom{font-size:12px;letter-spacing:0;color:var(--gold-500)}

/* ── Cards de link ── */
.links{margin-top:22px;display:flex;flex-direction:column;gap:9px}
.lcard{
  position:relative;overflow:hidden;cursor:pointer;
  display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  border-radius:var(--r-md);padding:14px 16px;
  transition:border-color .2s,background .2s,transform .15s;
}
.lcard:active{transform:scale(.99)}
@media(hover:hover){.lcard:hover{border-color:var(--gold-500);background:rgba(255,255,255,.08)}}
.cico{
  width:42px;height:42px;flex-shrink:0;border-radius:12px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-size:17px;
  background:rgba(255,255,255,.06);border:1px solid var(--line-soft);
}
.cico svg{width:21px;height:21px}
.cico img{width:100%;height:100%;object-fit:cover}
.cico.mono{font-family:var(--ff-display);font-size:18px;font-weight:600;color:var(--gold-400)}
.ctxt{flex:1;min-width:0}
.ct{font-size:15px;font-weight:500;color:var(--ink)}
.cs{font-size:12px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.carr{font-size:14px;color:var(--gold-500);flex-shrink:0}

/* ── Rodapé ── */
.foot{padding:40px 0 0;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.foot-logo{width:180px;max-width:60%;height:auto;opacity:.9}
.ft{font-size:12.5px;line-height:1.9;color:var(--dim)}
.ft a{color:var(--gold-600)}
.fb{font-family:var(--ff-mono);font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-400);margin-top:6px}
.fb-autor{font-family:var(--ff-mono);font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-400);opacity:.75}

/* ── FABs ── */
.fabs{
  position:fixed;right:0;bottom:calc(var(--safe-b) + 20px);z-index:30;
  display:flex;align-items:center;gap:10px;
  padding-right:22px;pointer-events:none;
  transition:opacity .25s,transform .25s;
}
.fabs.hide{opacity:0;transform:translateY(14px)}
.fab-ai,.fab-wa{pointer-events:auto}
.fabs.hide .fab-ai,.fabs.hide .fab-wa{pointer-events:none}
.fab-ai{
  display:flex;align-items:center;gap:7px;padding:11px 16px 11px 13px;border-radius:999px;
  background:rgba(240,242,247,.94);color:var(--slate-950);font-size:12.5px;font-weight:500;
  box-shadow:var(--shadow-md);backdrop-filter:blur(6px);
}
.fab-ai i{width:7px;height:7px;border-radius:50%;background:#8A6A1E;animation:bk 1.6s ease-in-out infinite}
.fab-wa{
  width:46px;height:46px;flex-shrink:0;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:#25D366;box-shadow:var(--shadow-md);
}
.fab-wa svg{width:22px;height:22px;fill:#fff}
