/* Vitrine pública /consultores — direção aprovada em 14/08/2026.
   O filtro continua server-side; o formulário do modo pool usa /api/leads. */

.consultoresPage{
  --erro:#a92724;
  --erro-soft:#fff1f0;
}

.topbar nav>a:not(.navCta){position:relative}
.topbar nav>a[aria-current="page"]{color:var(--text-accent)}
.topbar nav>a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;border-radius:2px;background:var(--brand)}

[hidden]{display:none!important}

.consultoresPage .container{max-width:1240px}

/* Hero */
.hero{padding:82px 0 44px;text-align:center;position:relative}
.hero::before{content:"";position:absolute;inset:-50px 15% auto;height:360px;
  background:radial-gradient(ellipse,var(--tint-brand),transparent 68%);
  filter:blur(24px);opacity:.9;pointer-events:none}
.hero>*{position:relative}
.hero h1{font-size:var(--fs-hero);font-weight:800;line-height:1.03;
  letter-spacing:-.04em;max-width:15ch;margin:18px auto 22px}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero .lead{max-width:850px;margin:0 auto;color:var(--text-muted);
  font-size:17px;line-height:1.7}
.heroTrust{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.heroTrust span{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;
  border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-card);
  color:#3f556b;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm)}
.heroTrust i{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;
  background:#e6f6f1;color:#08795c;font-style:normal}

/* Filtro */
.filterPanel{display:grid;grid-template-columns:1fr minmax(300px,360px);align-items:end;gap:28px;
  margin:0 0 52px;padding:28px 32px;background:var(--surface-card);border:1px solid var(--border);
  border-radius:var(--r-lg);box-shadow:var(--shadow-md)}
.filterEyebrow{display:inline-block;color:var(--text-accent);font-family:var(--font-display);
  font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.filterPanel h2{font-size:24px;line-height:1.2;margin:7px 0 5px}
.filterPanel p{color:var(--text-muted);font-size:14px;margin:0}
.filterControls>label{display:block;margin-bottom:7px;color:#344b63;font-size:12px;
  font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.filterControls>div{display:grid;grid-template-columns:1fr auto;gap:8px}
.filterControls select{width:100%;height:50px;border:1px solid var(--border-field);border-radius:var(--r-md);
  background:var(--surface-card);color:var(--text-strong);padding:0 42px 0 15px;
  font:700 15px var(--font-text);box-shadow:var(--shadow-sm)}
.filterControls button{min-width:82px;min-height:50px;border:0;border-radius:var(--r-md);
  background:var(--brand-strong);color:var(--text-on-fill);font:700 13px var(--font-display);cursor:pointer}
.filterControls button:hover{background:var(--brand-royal)}

/* Rede e cards */
.network{padding-bottom:78px;scroll-margin-top:92px}
.sectionHeading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px}
.sectionHeading h2{font-size:32px;letter-spacing:-.025em;margin:7px 0 0}
.sectionHeading>p{margin:0;color:var(--text-muted);font-size:13px;font-weight:650}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.consultantCard{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-card);
  border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base)}
.consultantCard:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:var(--accent)}
.portraitStage{min-height:168px;padding:24px 22px 18px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;background:linear-gradient(150deg,var(--tint-brand),#d8effb 62%,#edf6fd);
  position:relative;overflow:hidden}
.portraitStage::before,.portraitStage::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.portraitStage::before{width:180px;height:180px;left:-75px;top:-95px;border:42px solid oklch(0.605 0.132 243 / .055)}
.portraitStage::after{width:140px;height:140px;right:-60px;bottom:-80px;background:oklch(0.782 0.118 218 / .11)}
.portrait{width:108px;height:108px;border-radius:50%;padding:4px;background:var(--surface-card);
  box-shadow:0 14px 32px oklch(0.40 0.10 244 / .20);position:relative;z-index:1}
.portrait img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 32%;
  background:var(--grad-photo);filter:saturate(.94) contrast(1.03)}
.portraitInitials{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;
  background:var(--grad-photo);color:var(--text-on-fill);font:800 27px var(--font-display)}
.verified{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;min-height:30px;
  padding:0 10px;border:1px solid rgba(8,121,92,.16);border-radius:var(--r-pill);
  background:var(--surface-card);color:#08795c;font-size:11px;font-weight:800;box-shadow:var(--shadow-sm)}
.verified i{font-style:normal;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;
  background:#08795c;color:var(--text-on-fill);font-size:10px}
.consultantBody{display:flex;flex-direction:column;gap:14px;flex:1;padding:23px 22px 22px}
.consultantBody header{display:grid;gap:8px}
.consultantBody h3{font-size:20px;line-height:1.2;letter-spacing:-.02em;text-align:center}
.coverage{justify-self:center;min-height:29px;padding:6px 11px;border-radius:var(--r-pill);
  background:var(--tint-brand);color:var(--text-accent);font-size:11px;font-weight:750;text-align:center}
.coverage--general{background:var(--tint-royal);color:var(--brand-royal)}
.bio{min-height:66px;margin:0;color:var(--text-muted);font-size:13.5px;line-height:1.62;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.tags{display:flex;align-content:flex-start;flex-wrap:wrap;gap:7px;min-height:60px}
.tags span{min-height:28px;padding:6px 9px;border-radius:var(--r-xs);background:var(--surface-sunken);
  color:#3e5267;font-size:10.5px;font-weight:700}
.service{display:flex;justify-content:space-between;gap:8px;padding-top:14px;border-top:1px solid var(--border);
  color:#53687d;font-size:11px;font-weight:700}
.service span{display:inline-flex;align-items:center;gap:5px}
.service span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 4px oklch(0.782 0.118 218 / .12)}
.service span:last-child::before{background:#d79b22;box-shadow:0 0 0 4px rgba(215,155,34,.12)}
.service span:only-child::before{background:var(--accent);box-shadow:0 0 0 4px oklch(0.782 0.118 218 / .12)}
.cardCta{min-height:48px;margin-top:auto;border-radius:var(--r-md);display:flex;align-items:center;
  justify-content:center;gap:9px;background:var(--brand-strong);color:var(--text-on-fill);
  font:700 13px var(--font-display);box-shadow:0 10px 22px oklch(0.525 0.118 245 / .18);
  transition:background var(--dur-fast),transform var(--dur-fast)}
.cardCta:hover{background:var(--brand-royal);transform:translateY(-1px)}
.emptyState{max-width:560px;margin:20px auto 0;text-align:center;background:var(--surface-card);
  border:1px solid var(--border);border-radius:var(--r-lg);padding:40px 28px;box-shadow:var(--shadow-md)}
.emptyState p{color:var(--text-muted);font-size:15px;line-height:1.6;margin:0 0 18px}

/* Formulário no modo pool */
.leadSection{margin:0 0 80px;padding:48px;display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);align-items:start;gap:48px;
  border-radius:var(--r-2xl);color:var(--text-on-fill);background:var(--grad-cta);
  position:relative;overflow:hidden;scroll-margin-top:92px}
.leadSection::before,.leadSection::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.leadSection::before{width:380px;height:380px;right:-130px;bottom:-190px;
  background:radial-gradient(circle,oklch(0.845 0.115 218 / .38),transparent 70%)}
.leadSection::after{width:280px;height:280px;left:-150px;top:-120px;border:55px solid oklch(1 0 0 / .05)}
.leadSection>*{position:relative;z-index:1}
.leadIntro{padding:28px 0}
.leadIntro .eyebrow{color:#cceffc}
.leadIntro h2{font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.04em;
  max-width:11ch;margin:14px 0 20px}
.leadIntro>p{max-width:480px;margin:0;color:#e8f3fd;font-size:16px;line-height:1.7}
.leadIntro ul{display:grid;gap:14px;margin:30px 0 0;padding:0;list-style:none}
.leadIntro li{display:flex;align-items:flex-start;gap:11px;color:#f2f9fd;font-size:13px;font-weight:700;line-height:1.45}
.leadIntro li i{flex:0 0 24px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;
  background:oklch(1 0 0 / .16);color:#bff4ff;font-style:normal}
.leadForm{padding:30px;display:grid;gap:0;border:1px solid oklch(1 0 0 / .6);
  border-radius:var(--r-xl);background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-lg)}
.formHeading{display:flex;align-items:center;gap:13px;padding-bottom:18px;margin-bottom:2px;border-bottom:1px solid var(--border)}
.formHeading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r-md);
  background:var(--tint-brand);color:var(--text-accent);font:800 13px var(--font-display)}
.formHeading h3{font-size:20px;letter-spacing:-.02em}
.formHeading p{margin:2px 0 0;color:var(--text-muted);font-size:12px}
.leadForm .formRow{grid-template-columns:minmax(0,1.5fr) minmax(130px,.5fr);gap:14px}
.leadForm .formRow--optional{grid-template-columns:1fr 1fr;padding-top:2px}
.field{display:grid;gap:7px;margin-top:16px;color:#344b63;font-size:12px;font-weight:800}
.field small{color:var(--text-muted);font-weight:600}
.field input,.field select{width:100%;height:50px;border:1px solid var(--border-field);border-radius:var(--r-md);
  background:var(--surface-card);color:var(--text-strong);padding:0 14px;font:600 14px var(--font-text);box-shadow:var(--shadow-sm)}
.field input::placeholder{color:#8898a9}
.field input.inputError,.field select.inputError{border-color:var(--erro);background:var(--erro-soft)}
.situationGroup{min-width:0;margin:18px 0 0;padding:0;border:0}
.situationGroup legend{margin-bottom:10px;color:#344b63;font-size:12px;font-weight:800}
.situationList{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.situationList label{min-height:54px;padding:10px 11px;display:flex;align-items:flex-start;gap:8px;
  border:1px solid var(--border-field);border-radius:var(--r-sm);background:#f9fbfd;
  color:#445a70;font-size:11px;font-weight:700;line-height:1.35;cursor:pointer}
.situationList label:has(input:checked){border-color:var(--brand);background:var(--tint-brand);color:var(--text-accent)}
.situationGroup.inputError .situationList{outline:2px solid var(--erro);outline-offset:2px;border-radius:var(--r-sm)}
.situationList input{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:var(--brand-strong)}
.consent{min-height:48px;margin:18px 0 0;padding:10px 12px;display:flex;align-items:flex-start;gap:10px;
  border-radius:var(--r-sm);background:#f3f7fa;color:#53687d;font-size:11px;font-weight:650;line-height:1.45;cursor:pointer}
.consent input{width:19px;height:19px;flex:0 0 19px;margin:0;accent-color:var(--brand-strong)}
.fieldError{margin:6px 0 0;color:var(--erro);font-size:12px;line-height:1.4}
.submitButton{width:100%;min-height:52px;margin-top:18px;border:0;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;gap:9px;background:var(--brand-strong);
  color:var(--text-on-fill);font:700 13px var(--font-display);box-shadow:var(--shadow-md);cursor:pointer}
.submitButton:hover{background:var(--brand-royal)}
.submitButton[disabled]{opacity:.72;cursor:progress}
.safeNote{display:block;margin:8px 0 0;text-align:center;color:var(--text-muted);font-size:10.5px;font-weight:650}
.leadSuccess{align-self:center;padding:50px 36px;text-align:center;border-radius:var(--r-xl);
  background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-lg)}
.leadSuccess>span{width:58px;height:58px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;
  background:#e6f6f1;color:#08795c;font-size:28px;font-weight:800}
.leadSuccess h3{font-size:26px;margin-bottom:10px}
.leadSuccess p{color:var(--text-muted);line-height:1.65;margin:0 auto 22px;max-width:38ch}
.leadSuccess a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-accent);font-weight:800}
.leadSection--agenda{grid-template-columns:1fr;text-align:center}
.leadSection--agenda .leadIntro{display:grid;justify-items:center}
.leadSection--agenda .leadIntro h2{max-width:16ch}
.leadSection--agenda .leadIntro .btn{margin-top:28px}
.footLinks{display:flex;align-items:center;gap:18px}
.mobileNav{display:none}

@media(max-width:1000px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .leadSection{grid-template-columns:1fr;padding:40px;gap:26px}
  .leadIntro{padding:6px 0}
  .leadIntro h2{max-width:14ch}
}

@media(max-width:680px){
  .consultoresPage{padding-bottom:72px}
  .consultoresPage .container{padding-inline:14px}
  .topbar{height:72px;padding-inline:16px}
  .topbar .brand strong{font-size:13px}
  .topbar .navCta{padding:0 12px;font-size:11px;text-align:center}
  .hero{padding:62px 4px 34px}
  .hero h1{font-size:38px}
  .hero .lead{font-size:15.5px;line-height:1.65}
  .heroTrust{margin-top:24px}
  .heroTrust span{font-size:11px;padding:0 10px}
  .filterPanel{grid-template-columns:1fr;padding:22px;margin-bottom:38px}
  .filterControls>div{grid-template-columns:1fr}
  .filterControls button{width:100%}
  .sectionHeading{display:grid;gap:8px}
  .sectionHeading h2{font-size:27px}
  .cards{grid-template-columns:1fr;gap:18px}
  .portraitStage{min-height:146px;padding:19px 18px 15px}
  .portrait{width:96px;height:96px}
  .consultantBody{padding:21px 20px}
  .bio,.tags{min-height:auto}
  .leadSection{padding:30px 18px;margin-bottom:54px;border-radius:var(--r-xl);gap:22px}
  .leadIntro{padding:2px 4px}
  .leadIntro h2{font-size:34px}
  .leadIntro>p{font-size:15px}
  .leadIntro ul{margin-top:22px}
  .leadForm{padding:22px 18px;border-radius:19px}
  .leadForm .formRow,.leadForm .formRow--optional{grid-template-columns:1fr}
  .situationList{grid-template-columns:1fr}
  .footLinks{align-items:flex-start}
  .mobileNav{height:72px;padding:8px 10px;display:grid;grid-template-columns:repeat(3,1fr);position:fixed;
    left:0;right:0;bottom:0;z-index:40;border-top:1px solid var(--border);background:oklch(1 0 0 / .96);
    backdrop-filter:blur(16px);box-shadow:0 -10px 30px rgba(17,51,82,.1)}
  .mobileNav a{display:grid;place-items:center;align-content:center;gap:3px;border-radius:12px;
    color:#53687d;font-size:10px;font-weight:750;text-align:center}
  .mobileNav a span{font-size:15px;color:var(--brand)}
  .mobileNav a[aria-current="page"]{background:var(--tint-brand);color:var(--text-accent)}
}

@media(prefers-reduced-motion:reduce){
  .consultantCard:hover,.cardCta:hover{transform:none}
}
