:root{
  --orange:#f58220;
  --orange-dark:#d86812;
  --green:#69b42e;
  --green-dark:#198754;
  --purple:#5c1f82;
  --text:#4a4a4a;
  --dark:#252525;
  --muted:#7a7f86;
  --bg:#f6f6f6;
  --card:#ffffff;
  --border:#e9e9e9;
  --shadow:0 16px 38px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
.top-strip{background:#f3f3f3;border-bottom:1px solid #e5e5e5;font-size:13px;color:#555}
.top-strip .inner{max-width:1280px;margin:auto;height:40px;display:flex;justify-content:space-between;align-items:center;padding:0 24px}
.top-links{display:flex;gap:30px;font-weight:700;color:#222}
.public-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;box-shadow:0 2px 14px rgba(0,0,0,.04)}
.public-header .inner{max-width:1280px;margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:#333;font-size:40px;line-height:1;letter-spacing:0}
.brand-image{max-height:64px;max-width:230px;display:block;object-fit:contain}
.brand-custom-text{font-weight:900;color:#333;font-size:42px;letter-spacing:-.05em}
.brand .di{color:#333}.brand .casa{color:#333}.brand .c{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;border:2px solid #b35f20;border-radius:50%;width:48px;height:48px;font-size:34px;margin:0 -2px}.brand .leaf{width:10px;height:10px;border-radius:50%;background:var(--green);display:inline-block;margin-right:-6px;align-self:flex-start;margin-top:8px}.brand small{display:block;font-size:11px;letter-spacing:.18em;color:#999;font-weight:700;margin-left:4px;margin-top:4px}
.nav{display:flex;align-items:center;gap:26px;color:#666;font-weight:800;font-size:15px;text-transform:uppercase}.nav a:hover{color:var(--orange)}
.header-actions{display:flex;align-items:center;gap:14px;color:#666;font-weight:800;text-transform:uppercase;font-size:14px}.circle-icon{width:38px;height:38px;border-radius:50%;border:3px solid #777;display:inline-block;position:relative}.circle-icon.search:after{content:"";position:absolute;right:-8px;bottom:-6px;width:14px;height:4px;background:#777;transform:rotate(45deg);border-radius:4px}.circle-icon.user:before{content:"";position:absolute;left:10px;top:7px;width:12px;height:12px;background:#777;border-radius:50%}.circle-icon.user:after{content:"";position:absolute;left:6px;bottom:7px;width:20px;height:12px;background:#777;border-radius:12px 12px 4px 4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 22px;font-weight:900;font-size:15px;cursor:pointer;color:#fff;background:var(--orange);box-shadow:0 10px 22px rgba(245,130,32,.22);transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn.green{background:var(--green-dark);box-shadow:0 10px 22px rgba(25,135,84,.18)}.btn.light{background:#fff;color:var(--orange);border:1px solid #ffd6b6;box-shadow:none}.btn.gray{background:#777}.btn.outline{background:#fff;color:var(--green-dark);border:1px solid #bfe7ce;box-shadow:none}
.hero{background:#fff;padding:0}.hero-grid{max-width:none;margin:0;display:block}.hero-main{min-height:360px;border-radius:0;padding:52px 24px;background:linear-gradient(90deg,color-mix(in srgb, var(--purple) 94%, black),color-mix(in srgb, var(--purple) 84%, var(--orange))),linear-gradient(135deg,var(--orange),var(--purple));color:#fff;box-shadow:none;display:grid;place-items:center;text-align:left}.hero-content{max-width:1280px;width:100%;display:grid;grid-template-columns:1fr .9fr;gap:36px;align-items:center}.hero-copy{position:relative;z-index:2}.hero-kicker{display:inline-flex;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:999px;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.08em;margin-bottom:14px}.hero-main h1{font-size:54px;line-height:1.02;margin:0 0 18px;color:#bfff00;font-weight:900;font-style:italic;letter-spacing:-.04em}.hero-main p{font-size:24px;line-height:1.35;margin:0;max-width:650px;color:#fff;font-weight:600}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-visual{height:260px;border-radius:28px;background:linear-gradient(135deg,#ff9f43,#f58220);position:relative;overflow:hidden;box-shadow:inset 0 -12px 0 rgba(0,0,0,.08)}.hero-visual:before{content:"";position:absolute;left:42px;bottom:48px;width:230px;height:128px;background:#f58220;border:8px solid #cf6419;border-radius:10px;box-shadow:90px 40px 0 -20px #f1b07b,170px 28px 0 -14px #d49564}.hero-visual:after{content:"diCasa";position:absolute;left:70px;top:82px;color:#fff;font-weight:900;font-size:34px;text-shadow:0 2px 5px rgba(0,0,0,.25)}.custom-banner{background-size:cover!important;background-position:center!important}.custom-banner:before,.custom-banner:after{display:none!important}.hero-workshop{background:linear-gradient(135deg,#fff,#f8f8f8)}.hero-workshop:before{display:none}.hero-workshop:after{content:"";display:block;position:absolute;inset:0;background:radial-gradient(circle at 70% 30%, rgba(255,255,255,.42), transparent 180px),linear-gradient(135deg,rgba(245,130,32,.85),rgba(25,135,84,.82));}.hero-badge-card{position:absolute;right:34px;bottom:30px;width:110px;height:110px;border-radius:28px;background:#fff;color:var(--green-dark);z-index:2;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:34px;box-shadow:0 18px 38px rgba(0,0,0,.18)}
.quick-benefits{max-width:1120px;margin:20px auto 8px;display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0 24px}.benefit-pill{background:#fff;border-radius:999px;padding:18px 28px;box-shadow:0 10px 28px rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;gap:14px;font-size:22px;color:#666}.benefit-mark{width:34px;height:34px;border-radius:10px;background:#f1f1f1;color:var(--orange);display:flex;align-items:center;justify-content:center;font-weight:900}.hero-side{display:none}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.container{max-width:1280px;margin:auto;padding:28px 24px 40px}.careers-container{padding-top:0}.panel{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow);margin:20px 0}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.panel-head h2{margin:0;color:#333;font-size:28px}.panel-head p{margin:5px 0 0;color:var(--muted)}
.search-panel{margin-top:-43px;position:relative;z-index:5;border:0;box-shadow:0 24px 60px rgba(0,0,0,.12);padding:22px 24px}.search-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:16px;align-items:end}label{display:block;font-size:13px;font-weight:900;margin-bottom:8px;color:#333}input,select,textarea{width:100%;border:1px solid #d7dbe2;border-radius:14px;padding:13px 15px;font-size:15px;outline:none;background:#fff}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(245,130,32,.12)}.search-actions .btn{height:48px;min-width:138px;border-radius:16px}
.jobs-title{text-align:center;margin:34px 0 24px}.jobs-title h2{margin:0;color:#333;font-size:38px;font-weight:900;letter-spacing:-.04em}.jobs-title p{margin:8px 0 0;color:var(--muted);font-size:17px}.title-line{display:block;width:86px;height:5px;background:linear-gradient(90deg,var(--orange),var(--green-dark));border-radius:999px;margin:0 auto 14px}.compact-title h2{font-size:30px}.jobs-section{padding-top:4px}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:24px}.featured-jobs-grid{align-items:stretch}.job-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;min-height:268px;transition:.2s}.job-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(0,0,0,.10)}
.featured-job-card{position:relative;overflow:hidden;border-radius:24px;padding:28px 28px 26px;min-height:310px;border:1px solid #ededed;box-shadow:0 18px 46px rgba(0,0,0,.10);background:linear-gradient(145deg,#fff,#fff)}.featured-job-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--orange)}.featured-job-card:after{content:"";position:absolute;right:-90px;top:-90px;width:230px;height:230px;border-radius:50%;background:rgba(245,130,32,.12)}.featured-job-card.green-card:before{background:var(--green-dark)}.featured-job-card.green-card:after{background:rgba(25,135,84,.13)}.job-top-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;position:relative;z-index:2}.role-icon{width:104px;height:104px;border-radius:999px;background:linear-gradient(135deg,var(--orange),#ff7a00);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900;box-shadow:0 18px 35px rgba(245,130,32,.28);letter-spacing:-.06em}.green-card .role-icon{background:linear-gradient(135deg,#22b455,var(--green-dark));box-shadow:0 18px 35px rgba(25,135,84,.24)}.badge{display:inline-flex;width:max-content;border-radius:999px;padding:8px 13px;background:#fff1e5;color:#c65f12;font-weight:900;font-size:12px;text-transform:uppercase}.green-card .badge{background:#e7f8ec;color:var(--green-dark)}.job-main-content{position:relative;z-index:2}.job-card h3{margin:16px 0 10px;font-size:26px;color:#222;text-transform:uppercase;font-weight:900;letter-spacing:-.04em}.job-desc{color:#343a40;line-height:1.5;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px}.meta-wrap{display:flex;gap:8px;flex-wrap:wrap}.professional-meta{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.meta{background:#f8f8f8;border:1px solid #ededed;border-radius:13px;padding:9px 11px;color:#555;font-size:13px}.professional-meta .meta{display:flex;flex-direction:column;gap:3px;background:#fff8f1;border-color:#ffead8;color:#313131}.green-card .professional-meta .meta{background:#effaf3;border-color:#d9f2e2}.professional-meta .meta strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8a5a34}.green-card .professional-meta .meta strong{color:#1b7940}.job-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;color:#777}.featured-footer{position:relative;z-index:2;margin-top:24px}.featured-footer small{font-size:14px;color:#60656d}.apply-btn{min-width:190px;min-height:52px;font-size:17px;text-transform:uppercase;box-shadow:0 16px 34px rgba(25,135,84,.24)}.btn-arrow{width:26px;height:26px;border:2px solid rgba(255,255,255,.78);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;margin-left:4px}
.strip{background:linear-gradient(135deg,#fff,#fff7ef);border:1px solid #f3dfca;border-radius:24px;padding:26px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin:26px 0;box-shadow:var(--shadow)}.talent-cta{grid-template-columns:auto 1fr auto;margin-top:42px;padding:30px 34px}.talent-icon-card{width:110px;height:110px;border-radius:26px;background:#fff;box-shadow:0 14px 30px rgba(245,130,32,.18);border:3px solid #ffe5d0;display:flex;align-items:center;justify-content:center;color:var(--green-dark);font-size:36px;font-weight:900}.strip h2{margin:0 0 8px;color:#333;font-size:28px}.strip p{margin:0;color:#666;font-size:16px}.talent-btn{text-transform:uppercase;min-height:48px;padding-left:30px;padding-right:30px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{background:#fff;border:1px solid var(--border);border-radius:22px;text-align:center;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.06)}.step-number{width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-weight:900}.step h3{margin:0 0 8px;color:#333}.step p{margin:0;color:#666}
.form-page{max-width:1040px;margin:auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-full{grid-column:1/-1}.lgpd{background:#f4fff7;border:1px solid #bfe8d0;border-radius:16px;padding:16px;display:flex;gap:12px;align-items:flex-start}.lgpd input{width:auto;margin-top:4px}.empty{text-align:center;padding:38px;color:var(--muted)}.footer{background:#333;color:#fff;padding:28px 24px}.footer .inner{max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer p{margin:5px 0;color:#ddd}
@media(max-width:1120px){.jobs-grid{grid-template-columns:1fr}.professional-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.hero-content{grid-template-columns:1fr}.hero-visual{display:none}.search-grid,.strip,.talent-cta{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.nav,.header-actions{display:none}.quick-benefits{grid-template-columns:1fr}.hero-main h1{font-size:40px}.hero-main p{font-size:19px}.form-grid{grid-template-columns:1fr}.search-panel{margin-top:20px}}
@media(max-width:650px){.jobs-grid,.steps,.professional-meta{grid-template-columns:1fr}.brand{font-size:32px}.brand .c{width:40px;height:40px;font-size:28px}.public-header .inner{min-height:74px}.hero-main{min-height:auto;padding:38px 18px}.container{padding-left:16px;padding-right:16px}.job-top-row{display:block}.role-icon{width:78px;height:78px;font-size:24px;margin-top:16px}.job-footer{align-items:flex-start;flex-direction:column}.apply-btn{width:100%}.talent-icon-card{width:82px;height:82px;font-size:26px}.jobs-title h2{font-size:30px}}

/* Atualização: banner público full-width e compatível com upload da personalização */
.hero-careers{
  position:relative;
  min-height:430px;
  width:100%;
  background-color:var(--purple);
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.hero-careers.hero-default{
  background:linear-gradient(105deg,var(--purple) 0%,#6f2a82 58%,var(--orange) 120%);
}
.hero-careers.hero-upload{
  min-height:430px;
}
.hero-full-inner{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
  position:relative;
  z-index:2;
  min-height:430px;
  display:flex;
  align-items:center;
}
.hero-copy-default{
  max-width:620px;
  color:#fff;
  padding:52px 0;
}
.hero-copy-default .hero-kicker{
  display:inline-flex;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  text-transform:uppercase;
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.hero-copy-default h1{
  font-size:58px;
  line-height:1.02;
  margin:0 0 18px;
  color:#bfff00;
  font-weight:900;
  font-style:italic;
  letter-spacing:-.04em;
}
.hero-copy-default p{
  font-size:24px;
  line-height:1.35;
  margin:0;
  max-width:650px;
  color:#fff;
  font-weight:600;
}
.hero-illustration-card{
  margin-left:auto;
  width:470px;
  height:250px;
  border-radius:30px;
  background:linear-gradient(135deg,#fff,#fff7ef);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 22px 60px rgba(0,0,0,.20);
  position:relative;
  overflow:hidden;
}
.hero-illustration-card:before{
  content:"diCasa";
  position:absolute;
  left:36px;
  top:32px;
  font-size:58px;
  font-weight:900;
  color:#2d2d2d;
  letter-spacing:-.06em;
}
.hero-illustration-card:after{
  content:"Trabalhe conosco";
  position:absolute;
  left:38px;
  top:110px;
  font-size:42px;
  line-height:1.02;
  font-weight:900;
  color:var(--orange);
  max-width:280px;
}
.hero-illustration-card .hero-badge-card{
  position:absolute;
  right:30px;
  bottom:28px;
  width:92px;
  height:92px;
  border-radius:24px;
  background:var(--green-dark);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:28px;
  box-shadow:0 14px 32px rgba(25,135,84,.28);
}
.hero-floating-actions{
  position:absolute;
  left:24px;
  bottom:38px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero-upload .hero-floating-actions{
  background:rgba(255,255,255,.05);
  padding:0;
}
.quick-benefits{
  max-width:1120px;
  margin:-28px auto 8px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  padding:0 24px;
  position:relative;
  z-index:3;
}
.benefit-pill{
  background:#fff;
  border-radius:22px;
  padding:20px 28px;
  box-shadow:0 14px 38px rgba(0,0,0,.09);
  display:flex;
  align-items:center;
  gap:16px;
  font-size:21px;
  color:#383838;
  border:1px solid #efefef;
}
.benefit-mark{
  min-width:46px;
  height:46px;
  border-radius:16px;
  background:#fff1e5;
  color:var(--orange);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:22px;
}
.search-panel{
  margin-top:26px!important;
}
/* Corrige qualquer herança antiga que tentava mostrar mini-banner dentro do banner */
.hero-grid,.hero-main,.hero-content{
  all:unset;
}
.hero-careers .hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}

@media(max-width:1050px){
  .hero-careers,.hero-careers.hero-upload,.hero-full-inner{min-height:360px;}
  .hero-full-inner{padding:0 18px;}
  .hero-copy-default h1{font-size:42px;}
  .hero-copy-default p{font-size:19px;}
  .hero-illustration-card{display:none;}
  .quick-benefits{grid-template-columns:1fr;margin-top:16px;}
  .benefit-pill{font-size:17px;}
  .hero-floating-actions{left:18px;bottom:24px;}
}
@media(max-width:650px){
  .hero-careers,.hero-careers.hero-upload,.hero-full-inner{min-height:300px;}
  .hero-copy-default h1{font-size:34px;}
  .hero-copy-default p{font-size:16px;}
  .hero-floating-actions{position:static;margin-top:auto;padding-bottom:22px;}
  .hero-full-inner{align-items:flex-end;}
  .hero-floating-actions .btn{width:100%;}
}

/* Ajuste 05/07 - home com vagas compactas e paginação */
.jobs-summary-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    background:#fff;
    border:1px solid #eeeeee;
    border-radius:18px;
    padding:16px 20px;
    margin:0 auto 20px;
    max-width:1320px;
    box-shadow:0 10px 28px rgba(0,0,0,.05);
}
.jobs-summary-bar strong{display:block;color:#2b2b2b;font-size:18px;font-weight:900}
.jobs-summary-bar span{display:block;color:#777;margin-top:3px;font-size:14px}.page-indicator{font-weight:900;color:var(--green-dark);background:#e7f8ec;border-radius:999px;padding:9px 14px;white-space:nowrap}.compact-jobs-grid{grid-template-columns:repeat(auto-fill,minmax(520px,1fr));gap:20px}.compact-job-card{min-height:0;padding:24px 24px 22px}.compact-job-card:after{right:-70px;top:-70px;width:185px;height:185px}.compact-job-top{align-items:flex-start}.compact-job-top h3{margin:18px 0 8px;max-width:360px}.compact-job-card .role-icon{width:82px;height:82px;font-size:26px;flex:0 0 auto}.compact-job-card .job-desc{-webkit-line-clamp:2;margin-bottom:14px}.compact-meta{grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px}.compact-meta .meta{padding:8px 10px}.compact-apply-btn{min-width:160px;min-height:48px;font-size:15px}.pagination-jobs{display:flex;justify-content:center;align-items:center;gap:8px;margin:26px 0 8px}.pagination-jobs a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:1px solid #e6e6e6;color:#333;font-weight:900;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.05)}.pagination-jobs a.active{background:var(--orange);border-color:var(--orange);color:#fff}.pagination-jobs a:hover{border-color:var(--green-dark);color:var(--green-dark)}.pagination-jobs a.active:hover{color:#fff}
@media(max-width:1120px){.compact-jobs-grid{grid-template-columns:1fr}.compact-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.jobs-summary-bar{display:block}.page-indicator{display:inline-block;margin-top:10px}.compact-meta{grid-template-columns:1fr}.compact-job-top{display:flex}.compact-job-card .role-icon{width:66px;height:66px;font-size:22px}.compact-job-top h3{font-size:22px}.pagination-jobs{flex-wrap:wrap}}

/* Atualização público - Banco de Talentos, Processo Seletivo e Vaga mais profissionais */
.public-summary-clean span{
  color:#6b7280!important;
  font-size:14px!important;
  max-width:680px;
}
.mini-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  background:#fff1e5;
  color:var(--orange);
  border:1px solid #ffd6b3;
  border-radius:999px;
  padding:7px 12px;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:10px;
}
.improved-talent-cta{
  border:1px solid #f3dfca;
  background:linear-gradient(135deg,#fff,#fff7ef 58%,#f4fff7);
}
.improved-talent-cta h2{font-size:30px;margin-top:2px}
.improved-process-section{
  margin-top:34px;
  padding-bottom:26px;
}
.improved-steps .step{
  position:relative;
  overflow:hidden;
  min-height:178px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.improved-steps .step:after{
  content:"";
  position:absolute;
  right:-34px;
  top:-34px;
  width:100px;
  height:100px;
  border-radius:50%;
  background:rgba(245,130,32,.08);
}
.improved-steps .step:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(0,0,0,.09);
}

/* Banco de talentos */
.talent-page-hero{
  background:linear-gradient(110deg,#fff7ef 0%,#ffffff 45%,#eef9f2 100%);
  border-bottom:1px solid #f1e4d7;
  padding:48px 0 72px;
  position:relative;
  overflow:hidden;
}
.talent-page-hero:after{
  content:"";
  position:absolute;
  right:-120px;
  top:-120px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(245,130,32,.14);
}
.talent-hero-grid{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:34px;
  align-items:center;
  position:relative;
  z-index:2;
}
.talent-hero-grid h1{
  margin:0 0 14px;
  color:#242424;
  font-size:44px;
  line-height:1.08;
  max-width:760px;
}
.talent-hero-grid p{
  color:#62666d;
  font-size:19px;
  line-height:1.45;
  max-width:800px;
  margin:0;
}
.talent-hero-actions{
  display:flex;
  gap:12px;
  margin-top:24px;
  flex-wrap:wrap;
}
.talent-hero-card{
  background:#fff;
  border:1px solid #f1e4d7;
  border-radius:26px;
  box-shadow:0 18px 42px rgba(0,0,0,.08);
  padding:28px;
  display:grid;
  gap:14px;
}
.talent-hero-logo{
  width:90px;
  height:90px;
  border-radius:24px;
  background:linear-gradient(135deg,var(--orange),var(--green-dark));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:34px;
  box-shadow:0 16px 32px rgba(25,135,84,.18);
}
.talent-hero-card strong{font-size:22px;line-height:1.25;color:#252525}
.talent-hero-card span{color:#666;line-height:1.45}
.talent-page-main{margin-top:-46px;position:relative;z-index:4}
.talent-benefits-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:20px;
}
.talent-benefits-row div{
  background:#fff;
  border:1px solid #eeeeee;
  border-radius:20px;
  padding:20px;
  box-shadow:0 14px 36px rgba(0,0,0,.06);
}
.talent-benefits-row strong{display:block;color:#333;font-size:18px;margin-bottom:6px}
.talent-benefits-row span{display:block;color:#6b7280;line-height:1.35}
.talent-form-shell{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:22px;
  align-items:start;
}
.talent-form-side{
  background:linear-gradient(180deg,#ffffff,#fff8f1);
  border:1px solid #f1e4d7;
  border-radius:24px;
  box-shadow:0 14px 36px rgba(0,0,0,.06);
  padding:26px;
  position:sticky;
  top:118px;
}
.talent-form-side h2{margin:0 0 18px;color:#2b2b2b;font-size:26px;line-height:1.15}
.talent-form-side ol{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.talent-form-side li{
  border-left:4px solid var(--orange);
  background:#fff;
  border-radius:14px;
  padding:14px 14px 14px 16px;
}
.talent-form-side li strong{display:block;color:#222;margin-bottom:4px}
.talent-form-side li span{display:block;color:#667085;font-size:14px;line-height:1.35}
.talent-form-panel{
  max-width:none;
  box-shadow:0 18px 42px rgba(0,0,0,.08);
  border-radius:24px;
}
.talent-form-panel .panel-head h1{font-size:30px;margin-bottom:6px}
.talent-form-panel .form-grid,
.vaga-form-panel .form-grid{
  grid-template-columns:repeat(2,1fr);
}
.talent-form-panel .form-full,
.vaga-form-panel .form-full{grid-column:1/-1}
.talent-form-panel input,
.talent-form-panel select,
.talent-form-panel textarea,
.vaga-form-panel input,
.vaga-form-panel select,
.vaga-form-panel textarea{
  min-height:52px;
  border-radius:14px;
}
.talent-form-panel textarea,
.vaga-form-panel textarea{min-height:128px}

/* Detalhes da vaga */
.vaga-page{padding-top:28px;padding-bottom:42px}
.vaga-hero-panel{
  background:linear-gradient(135deg,#fff,#fff7ef);
  border:1px solid #f1e4d7;
  border-radius:28px;
  padding:34px;
  box-shadow:0 18px 42px rgba(0,0,0,.08);
  display:grid;
  grid-template-columns:1fr 310px;
  gap:26px;
  align-items:center;
  margin-bottom:22px;
}
.vaga-hero-content h1{
  margin:12px 0 10px;
  font-size:42px;
  line-height:1.08;
  color:#2b2b2b;
}
.vaga-hero-content p{
  color:#555;
  font-size:18px;
  line-height:1.45;
  max-width:840px;
}
.vaga-detail-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  gap:10px;
  margin-top:18px;
}
.vaga-detail-meta .meta{
  padding:11px 12px;
  background:#fff;
  border-color:#f1e4d7;
}
.vaga-detail-meta .meta strong{
  display:block;
  text-transform:uppercase;
  font-size:11px;
  color:var(--orange);
  margin-bottom:4px;
}
.vaga-hero-side{
  background:#fff;
  border:1px solid #e7efe9;
  border-radius:22px;
  padding:24px;
  box-shadow:0 14px 30px rgba(25,135,84,.08);
  display:grid;
  gap:12px;
}
.vaga-hero-side strong{font-size:24px;color:var(--green-dark);line-height:1.18}
.vaga-hero-side span{color:#667085;line-height:1.4}
.vaga-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 540px;
  gap:22px;
  align-items:start;
}
.vaga-info-panel,
.vaga-form-panel{
  border-radius:24px;
  box-shadow:0 14px 36px rgba(0,0,0,.06);
}
.vaga-info-panel h2,
.vaga-form-panel h2{font-size:28px;margin-top:0}
.vaga-info-block{
  border-top:1px solid #eeeeee;
  padding-top:18px;
  margin-top:18px;
}
.vaga-info-block h3{margin:0 0 8px;color:#333;font-size:21px}
.vaga-info-block p{margin:0;color:#555;line-height:1.55;font-size:16px}
.vaga-form-panel{max-width:none;position:sticky;top:112px}

@media(max-width:1050px){
  .talent-hero-grid,
  .talent-form-shell,
  .vaga-hero-panel,
  .vaga-content-grid{grid-template-columns:1fr}
  .talent-form-side,.vaga-form-panel{position:relative;top:auto}
  .talent-benefits-row{grid-template-columns:1fr}
  .vaga-detail-meta{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .talent-hero-grid h1,.vaga-hero-content h1{font-size:32px}
  .talent-page-hero{padding:34px 0 60px}
  .talent-form-panel .form-grid,
  .vaga-form-panel .form-grid,
  .vaga-detail-meta{grid-template-columns:1fr}
  .vaga-hero-panel{padding:22px}
}

/* Página exclusiva do Processo Seletivo */
.process-page-hero{
  background:
    linear-gradient(90deg,rgba(91,28,102,.92) 0%,rgba(91,28,102,.76) 44%,rgba(255,122,18,.34) 100%),
    radial-gradient(circle at 82% 20%,rgba(255,122,18,.55),transparent 260px),
    var(--purple);
  color:#fff;
  padding:70px 0 86px;
}
.process-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:28px;
  align-items:center;
}
.process-kicker{
  display:inline-flex;
  width:max-content;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:16px;
}
.process-hero-copy h1{
  margin:0 0 14px;
  max-width:780px;
  font-size:48px;
  line-height:1.08;
}
.process-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.92);
  font-size:19px;
  line-height:1.5;
}
.process-hero-card{
  min-height:220px;
  border-radius:30px;
  background:rgba(255,255,255,.96);
  color:#222;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 28px 60px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.35);
}
.process-hero-card strong{
  font-size:76px;
  color:var(--orange);
  line-height:1;
}
.process-hero-card span{
  margin-top:10px;
  color:#4d5562;
  font-size:18px;
  max-width:220px;
}
.process-container{
  margin-top:-44px;
  position:relative;
  z-index:3;
}
.process-overview-panel{
  background:#fff;
  border-radius:28px;
  border:1px solid #ececec;
  padding:30px;
  box-shadow:0 22px 50px rgba(0,0,0,.08);
}
.process-timeline-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}
.process-timeline-cards article{
  background:#fffaf5;
  border:1px solid #ffe1c7;
  border-radius:22px;
  padding:22px;
  min-height:190px;
  transition:.18s ease;
}
.process-timeline-cards article:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(255,122,18,.12);
}
.process-timeline-cards article span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:var(--orange);
  color:#fff;
  font-weight:900;
  margin-bottom:16px;
}
.process-timeline-cards article h3{
  margin:0 0 8px;
  font-size:20px;
}
.process-timeline-cards article p{
  margin:0;
  line-height:1.45;
  color:#596273;
}
.process-search-panel{
  margin-top:24px;
}
.process-search-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:18px;
}
.process-search-head h2{margin:0 0 6px;font-size:26px}
.process-search-head p{margin:0;color:#667085}
.process-vagas-list{
  display:grid;
  gap:16px;
  margin-top:22px;
}
.process-vaga-row{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 210px;
  gap:20px;
  align-items:center;
  background:#fff;
  border:1px solid #ececec;
  border-left:7px solid var(--orange);
  border-radius:26px;
  padding:22px;
  box-shadow:0 18px 42px rgba(0,0,0,.07);
}
.process-vaga-row.green-card{border-left-color:var(--green)}
.process-vaga-row:after{
  content:"";
  position:absolute;
  right:-50px;
  top:-64px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(255,122,18,.10);
}
.process-vaga-row.green-card:after{background:rgba(25,135,84,.12)}
.process-vaga-icon{
  width:88px;
  height:88px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  font-weight:900;
  color:#fff;
  background:var(--orange);
  box-shadow:0 16px 32px rgba(255,122,18,.22);
}
.process-vaga-row.green-card .process-vaga-icon{
  background:var(--green);
  box-shadow:0 16px 32px rgba(25,135,84,.22);
}
.process-vaga-main h3{
  margin:10px 0 8px;
  font-size:25px;
  text-transform:uppercase;
  letter-spacing:-.4px;
}
.process-vaga-main p{
  color:#505a68;
  line-height:1.45;
  margin:0 0 14px;
}
.process-vaga-actions{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
.process-vaga-actions small{color:#667085}
@media(max-width:1050px){
  .process-hero-grid,
  .process-timeline-cards,
  .process-vaga-row{grid-template-columns:1fr}
  .process-vaga-actions{align-items:flex-start}
  .process-hero-copy h1{font-size:38px}
}
@media(max-width:650px){
  .process-page-hero{padding:42px 0 70px}
  .process-hero-copy h1{font-size:32px}
  .process-overview-panel{padding:22px}
  .process-search-head{display:block}
  .process-search-head .btn{margin-top:14px}
  .process-vaga-row{padding:18px}
}

/* Atualização 05/07 - Processo seletivo e vagas mais compactos */
/* Banner da página Processo Seletivo: centralizado, contido e sem card estourado */
.process-page-hero{
  max-width:1320px!important;
  margin:26px auto 0!important;
  border-radius:26px!important;
  padding:42px 0 54px!important;
  overflow:hidden!important;
  box-shadow:0 20px 48px rgba(0,0,0,.10)!important;
}
.process-page-hero .inner{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 24px!important;
}
.process-hero-grid{
  grid-template-columns:minmax(0,1fr) 260px!important;
  gap:22px!important;
}
.process-hero-copy h1{
  font-size:40px!important;
  line-height:1.08!important;
  max-width:720px!important;
}
.process-hero-copy p{
  font-size:17px!important;
  max-width:720px!important;
}
.process-hero-card{
  min-height:165px!important;
  border-radius:24px!important;
  padding:22px!important;
}
.process-hero-card strong{
  font-size:56px!important;
}
.process-hero-card span{
  font-size:16px!important;
}
.process-container{
  margin-top:18px!important;
}
.process-overview-panel{
  padding:22px!important;
  border-radius:24px!important;
}
.process-timeline-cards{
  gap:12px!important;
}
.process-timeline-cards article{
  min-height:150px!important;
  padding:18px!important;
  border-radius:18px!important;
}
.process-timeline-cards article span{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  margin-bottom:12px!important;
}
.process-timeline-cards article h3{
  font-size:18px!important;
}
.process-timeline-cards article p{
  font-size:14px!important;
}

/* Vagas da home: cards menores para manter a tela organizada com muitas vagas */
.jobs-summary-bar{
  padding:14px 18px!important;
  margin-bottom:16px!important;
  border-radius:18px!important;
}
.compact-jobs-grid{
  grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important;
  gap:14px!important;
}
.compact-job-card{
  padding:18px!important;
  border-radius:20px!important;
  min-height:228px!important;
  box-shadow:0 12px 30px rgba(0,0,0,.075)!important;
}
.compact-job-card:before{
  width:5px!important;
}
.compact-job-card:after{
  right:-62px!important;
  top:-62px!important;
  width:150px!important;
  height:150px!important;
}
.compact-job-top{
  gap:12px!important;
}
.compact-job-top h3,
.compact-job-card h3{
  font-size:21px!important;
  line-height:1.14!important;
  margin:10px 0 6px!important;
  max-width:300px!important;
}
.compact-job-card .badge{
  padding:6px 10px!important;
  font-size:11px!important;
}
.compact-job-card .role-icon{
  width:62px!important;
  height:62px!important;
  font-size:22px!important;
  box-shadow:0 12px 24px rgba(245,130,32,.20)!important;
}
.compact-job-card.green-card .role-icon{
  box-shadow:0 12px 24px rgba(25,135,84,.18)!important;
}
.compact-job-card .job-desc{
  font-size:14px!important;
  line-height:1.42!important;
  margin:8px 0 12px!important;
  -webkit-line-clamp:2!important;
}
.compact-meta{
  grid-template-columns:repeat(2,minmax(120px,1fr))!important;
  gap:7px!important;
}
.compact-meta .meta{
  padding:7px 9px!important;
  font-size:12px!important;
  border-radius:10px!important;
}
.compact-meta .meta strong{
  font-size:10px!important;
}
.compact-job-card .featured-footer,
.compact-job-card .job-footer{
  margin-top:14px!important;
}
.compact-job-card .featured-footer small{
  font-size:12px!important;
}
.compact-apply-btn{
  min-width:145px!important;
  min-height:42px!important;
  font-size:13px!important;
  padding:9px 14px!important;
}
.compact-apply-btn .btn-arrow{
  width:22px!important;
  height:22px!important;
  font-size:18px!important;
}
.pagination-jobs{
  margin:18px 0 4px!important;
}
.pagination-jobs a{
  width:38px!important;
  height:38px!important;
}

/* Vagas na página Processo Seletivo: lista compacta */
.process-vagas-list{
  gap:12px!important;
}
.process-vaga-row{
  grid-template-columns:72px minmax(0,1fr) 175px!important;
  gap:16px!important;
  padding:16px!important;
  border-radius:22px!important;
  box-shadow:0 12px 32px rgba(0,0,0,.06)!important;
}
.process-vaga-row:after{
  width:135px!important;
  height:135px!important;
  right:-44px!important;
  top:-50px!important;
}
.process-vaga-icon{
  width:58px!important;
  height:58px!important;
  font-size:22px!important;
}
.process-vaga-main h3{
  font-size:22px!important;
  margin:8px 0 6px!important;
}
.process-vaga-main p{
  font-size:14px!important;
  margin:0 0 10px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.process-vaga-row .compact-meta{
  grid-template-columns:repeat(3,minmax(105px,1fr))!important;
}
.process-vaga-actions{
  gap:10px!important;
}
.process-vaga-actions small{
  font-size:12px!important;
}
.process-vaga-actions .apply-btn{
  min-width:150px!important;
  min-height:42px!important;
  font-size:13px!important;
}

@media(max-width:1180px){
  .compact-jobs-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))!important;}
  .process-vaga-row .compact-meta{grid-template-columns:repeat(2,minmax(105px,1fr))!important;}
}
@media(max-width:900px){
  .process-page-hero{margin:16px 16px 0!important;padding:34px 0 42px!important;}
  .process-hero-grid{grid-template-columns:1fr!important;}
  .process-hero-card{max-width:240px!important;}
  .process-timeline-cards{grid-template-columns:1fr 1fr!important;}
  .process-vaga-row{grid-template-columns:1fr!important;}
  .process-vaga-actions{align-items:flex-start!important;}
}
@media(max-width:650px){
  .compact-jobs-grid{grid-template-columns:1fr!important;}
  .compact-meta,
  .process-vaga-row .compact-meta{grid-template-columns:1fr!important;}
  .process-timeline-cards{grid-template-columns:1fr!important;}
  .compact-job-card .role-icon{width:54px!important;height:54px!important;font-size:19px!important;}
}

/* Atualização 05/07 - tela da vaga/candidatura profissional */
.vaga-apply-page{
  padding-top:26px;
  padding-bottom:52px;
}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--green-dark);
  font-weight:900;
  margin:0 0 18px;
}
.back-link:before{content:"←";font-size:22px;line-height:1}
.vaga-apply-grid{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.job-detail-card,
.application-card{
  background:#fff;
  border:1px solid #edf0f4;
  border-radius:24px;
  box-shadow:0 18px 44px rgba(20,30,45,.08);
}
.job-detail-card{
  padding:28px;
  position:sticky;
  top:112px;
}
.job-detail-label{
  color:var(--green-dark);
  text-transform:uppercase;
  font-size:13px;
  font-weight:900;
  letter-spacing:.03em;
  margin-bottom:14px;
}
.job-detail-card h1{
  margin:0 0 18px;
  color:#111827;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-.03em;
}
.job-detail-meta-line{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  color:#344054;
  font-size:14px;
  margin-bottom:22px;
  padding-bottom:22px;
  border-bottom:1px solid #e8edf3;
}
.job-detail-meta-line span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.job-detail-section{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  padding:20px 0;
  border-bottom:1px solid #e8edf3;
}
.job-detail-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#e8f7ef;
  color:var(--green-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:900;
}
.job-detail-icon.small{width:36px;height:36px;font-size:12px;flex:0 0 auto}
.job-detail-section h3{
  margin:0 0 7px;
  color:#222;
  font-size:17px;
}
.job-detail-section p{
  margin:0;
  color:#4b5563;
  line-height:1.55;
  font-size:15px;
}
.job-detail-protection{
  display:flex;
  align-items:center;
  gap:12px;
  background:#eefaf3;
  border-radius:16px;
  padding:14px;
  margin-top:20px;
  color:#334155;
}
.job-detail-protection p{margin:0;line-height:1.4;font-size:14px}
.application-card{
  padding:30px;
}
.application-title-row{
  display:flex;
  align-items:center;
  gap:18px;
  padding-bottom:20px;
  border-bottom:1px solid #e8edf3;
  margin-bottom:22px;
}
.application-title-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#e8f7ef;
  color:var(--green-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:18px;
  flex:0 0 auto;
}
.application-title-row h2{
  margin:0;
  color:#111827;
  font-size:30px;
  line-height:1.1;
  letter-spacing:-.03em;
}
.application-title-row p{
  margin:7px 0 0;
  color:#667085;
  font-size:15px;
}
.apply-alert{
  background:#fff1f0;
  border:1px solid #ffc7c2;
  color:#b42318;
  padding:13px 15px;
  border-radius:14px;
  margin-bottom:18px;
  font-weight:800;
}
.apply-form{
  display:grid;
  gap:18px;
}
.apply-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.apply-form label{
  font-size:14px;
  color:#111827;
}
.muted-label{font-weight:800;color:#667085;font-size:13px}
.apply-field{
  position:relative;
}
.apply-field span{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#667085;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  opacity:.75;
  pointer-events:none;
}
.apply-field input{
  padding-left:72px;
}
.application-card input,
.application-card select,
.application-card textarea{
  border-radius:13px;
  min-height:52px;
  border-color:#d5deea;
  background:#fff;
}
.application-card textarea{
  min-height:116px;
  resize:vertical;
}
.text-right{text-align:right}
.apply-help{
  color:#667085;
  font-size:13px;
  margin-top:7px;
}
.file-drop-area{
  cursor:pointer;
  border:1.6px dashed #94a3b8;
  background:linear-gradient(180deg,#ffffff,#f8fffb);
  border-radius:16px;
  min-height:124px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  transition:.2s;
  position:relative;
  overflow:hidden;
}
.file-drop-area:hover{
  border-color:var(--green-dark);
  box-shadow:0 0 0 4px rgba(25,135,84,.08);
}
.file-drop-area input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.file-drop-icon{
  width:46px;
  height:46px;
  border-radius:50%;
  background:#e8f7ef;
  color:var(--green-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:900;
}
.file-drop-area strong{color:#111827;font-size:15px}
.file-drop-area small{color:#667085;font-size:13px}
.apply-footer-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  align-items:center;
  gap:20px;
  background:#f8fbfa;
  border-radius:16px;
  padding:12px;
}
.privacy-box{
  display:flex!important;
  align-items:center;
  gap:12px;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  color:#475569!important;
  line-height:1.35;
}
.privacy-box input{width:18px!important;min-height:auto!important;flex:0 0 auto}
.apply-submit{
  width:100%;
  min-height:52px;
  border-radius:12px;
  text-transform:uppercase;
  letter-spacing:.02em;
  box-shadow:0 14px 28px rgba(25,135,84,.22);
}
@media(max-width:1050px){
  .vaga-apply-grid{grid-template-columns:1fr}
  .job-detail-card{position:relative;top:auto}
}
@media(max-width:720px){
  .application-card,.job-detail-card{padding:22px}
  .apply-grid-2,.apply-footer-row{grid-template-columns:1fr}
  .application-title-row h2{font-size:26px}
  .job-detail-card h1{font-size:26px}
}

/* Atualização 06/07 - Banco de Talentos limpo e profissional */
.talento-clean-page{
  max-width:1120px;
  padding-top:28px;
  padding-bottom:60px;
}
.talento-clean-header{
  text-align:center;
  max-width:760px;
  margin:8px auto 22px;
}
.talento-clean-header .application-title-icon{
  margin:0 auto 14px;
}
.talento-clean-header h1{
  margin:0;
  color:#111827;
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:900;
}
.talento-clean-header p{
  margin:12px auto 0;
  color:#667085;
  font-size:16px;
  line-height:1.55;
}
.talento-clean-card{
  max-width:900px;
  margin:0 auto;
  padding:30px;
}
.talento-clean-card .apply-form{
  gap:17px;
}
.talento-clean-benefits{
  max-width:940px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.talento-clean-benefits div{
  background:#fff;
  border:1px solid #edf0f4;
  border-radius:20px;
  padding:20px;
  box-shadow:0 14px 34px rgba(20,30,45,.06);
}
.talento-clean-benefits strong{
  display:block;
  color:#111827;
  font-size:17px;
  margin-bottom:7px;
}
.talento-clean-benefits span{
  display:block;
  color:#667085;
  line-height:1.45;
  font-size:14px;
}
@media(max-width:860px){
  .talento-clean-card{padding:22px;}
  .talento-clean-benefits{grid-template-columns:1fr;}
  .talento-clean-header h1{font-size:31px;}
}

/* Cards configuráveis da home */
.quick-benefits .benefit-pill div{display:flex;flex-direction:column;gap:3px;line-height:1.25}
.quick-benefits .benefit-pill small{display:block;color:#6b7280;font-size:13px;font-weight:600}

/* Portal do candidato - cadastro e login */
.candidate-top-pill{background:#eaf8f0;color:#08783d;border:1px solid #cdeedc;border-radius:999px;padding:10px 16px;font-weight:900;text-transform:uppercase;font-size:13px}
.candidate-auth-wrap{min-height:calc(100vh - 210px);display:flex;align-items:center;justify-content:center;padding:60px 20px;background:linear-gradient(135deg,#f8fafc,#eef6f1)}
.candidate-auth-card{width:min(680px,100%);background:#fff;border:1px solid #e5edf3;border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(15,23,42,.12)}
.candidate-auth-card.small{width:min(520px,100%)}
.candidate-auth-brand{width:62px;height:62px;border-radius:20px;background:linear-gradient(135deg,var(--orange),var(--green));display:grid;place-items:center;color:#fff;font-weight:950;font-size:22px;margin-bottom:18px}
.candidate-auth-card h1{font-size:34px;line-height:1.05;margin:0 0 8px;color:#172033}.candidate-auth-card p{color:#64748b;margin:0 0 20px;font-size:17px}
.candidate-auth-form{display:grid;gap:13px}.candidate-auth-form label{font-weight:900;color:#14213d}.candidate-auth-form input{height:54px;border:1px solid #d5e1eb;border-radius:15px;padding:0 16px;font-size:16px}.candidate-auth-footer{margin-top:20px;color:#64748b}.candidate-auth-footer a{font-weight:900;color:var(--green)}
.apply-success{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:16px;padding:14px 16px;margin-bottom:15px;font-weight:800}.candidate-apply-info{display:grid;gap:8px;background:#f8fafc;border:1px solid #e5edf3;border-radius:20px;padding:20px;margin:12px 0 18px}.candidate-apply-info strong{font-size:19px;color:#172033}.candidate-apply-info span{color:#64748b}.candidate-action-stack{display:flex;gap:12px;flex-wrap:wrap}.btn.outline{background:#fff;color:var(--green);border:1px solid #bfe8d1}.btn.light{background:#fff;color:#f97316;border:1px solid #fed7aa}
.candidate-portal-shell{width:min(1280px,94vw);margin:42px auto 80px}.candidate-hero-card{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:#fff;border:1px solid #e5edf3;border-radius:28px;padding:30px;box-shadow:0 22px 70px rgba(15,23,42,.10)}.candidate-photo-wrap{width:94px;height:94px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,var(--orange),var(--green));display:grid;place-items:center;color:#fff;font-size:38px;font-weight:950}.candidate-photo-wrap img{width:100%;height:100%;object-fit:cover}.candidate-kicker{text-transform:uppercase;color:var(--green);font-weight:950;font-size:13px;letter-spacing:.04em}.candidate-hero-card h1{margin:4px 0 6px;font-size:34px;color:#172033}.candidate-hero-card p{margin:0;color:#64748b;font-size:17px}.candidate-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.candidate-chips span{background:#effaf3;border:1px solid #d7f0e1;color:#0f5132;border-radius:999px;padding:9px 14px;font-weight:800}.candidate-hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.candidate-panel-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;margin-top:24px}.candidate-card,.candidate-rule-card,.candidate-edit-card{background:#fff;border:1px solid #e5edf3;border-radius:26px;box-shadow:0 18px 55px rgba(15,23,42,.08)}.candidate-card{padding:26px}.candidate-card.wide{grid-column:auto}.candidate-card-title{display:flex;gap:15px;align-items:center;border-bottom:1px solid #e5edf3;padding-bottom:18px;margin-bottom:18px}.candidate-card-title>span{width:54px;height:54px;border-radius:18px;background:#e9f9ef;color:var(--green);display:grid;place-items:center;font-weight:950}.candidate-card-title h2{margin:0;font-size:28px}.candidate-card-title p{margin:4px 0 0;color:#64748b}.candidate-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.candidate-info-grid div{background:#f8fafc;border:1px solid #e5edf3;border-radius:16px;padding:15px}.candidate-info-grid small{text-transform:uppercase;color:#64748b;font-weight:900;font-size:12px}.candidate-info-grid strong{display:block;margin-top:5px;color:#172033;word-break:break-word}.candidate-text-block{border:1px solid #e5edf3;border-radius:16px;padding:16px;margin-top:14px}.candidate-text-block h3{margin:0 0 8px}.candidate-card-actions{display:flex;justify-content:flex-end;margin-top:18px}.candidate-rule-card{padding:24px;border-left:5px solid var(--orange);background:linear-gradient(180deg,#fff,#fffaf4)}.candidate-rule-card>span{text-transform:uppercase;color:#f97316;font-weight:950;font-size:13px}.candidate-rule-card h2{font-size:26px;margin:8px 0}.candidate-rule-card p{color:#64748b;line-height:1.6}.current-application{background:#f0fdf4;border:1px solid #cdeedc;border-radius:18px;padding:16px;display:grid;gap:6px}.current-application small{color:#166534;font-weight:900}.current-application strong{color:#172033}.application-list-clean{display:grid;gap:10px}.application-item{display:flex;align-items:center;justify-content:space-between;border:1px solid #e5edf3;border-radius:16px;padding:16px}.application-item strong{display:block;color:#172033}.application-item small{color:#64748b}.candidate-edit-card{padding:28px}.candidate-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #e5edf3;padding-bottom:18px;margin-bottom:22px}.candidate-edit-head h1{font-size:34px;margin:4px 0}.candidate-edit-head p{color:#64748b;margin:0}.candidate-resume-form{display:grid;grid-template-columns:320px 1fr;gap:24px}.candidate-photo-card{background:#f8fafc;border:1px solid #e5edf3;border-radius:22px;padding:20px}.candidate-photo-card h3{margin:0 0 6px}.candidate-photo-card p,.candidate-photo-card small{color:#64748b}.candidate-photo-preview{height:320px;border-radius:20px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:grid;place-items:center;overflow:hidden;margin:16px 0;color:var(--green);font-size:52px;font-weight:950}.candidate-photo-preview img{width:100%;height:100%;object-fit:cover}.candidate-form-main{background:#fff}.candidate-form-main h2{font-size:24px;margin:0 0 18px}.candidate-save-row{display:flex;gap:12px;margin-top:20px}.form-full{grid-column:1/-1}
@media(max-width:980px){.candidate-hero-card,.candidate-panel-grid,.candidate-resume-form{grid-template-columns:1fr}.candidate-hero-actions{justify-content:flex-start}.candidate-info-grid{grid-template-columns:1fr}.candidate-photo-preview{height:240px}}

/* v8 - banners dinâmicos */
.dynamic-hero{background-size:cover;background-position:center;border-radius:28px;margin:34px auto 46px;max-width:1320px;overflow:hidden;box-shadow:0 28px 70px rgba(15,23,42,.18);}
.dynamic-hero .process-hero-copy h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.18)}
.dynamic-hero .process-hero-copy p{color:rgba(255,255,255,.92)}
.dynamic-hero .process-kicker{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(8px)}
.dynamic-hero .process-hero-card{backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(0,0,0,.18)}
.talent-banner-hero{background-size:cover;background-position:center;border:1px solid rgba(245,130,32,.22);border-radius:28px;padding:52px 38px!important;box-shadow:0 25px 70px rgba(15,23,42,.10)}
.candidate-page-banner{border-radius:28px;padding:34px 44px;margin-bottom:22px;background:#fff;background-size:cover;background-position:center;box-shadow:0 18px 55px rgba(15,23,42,.10);border:1px solid rgba(25,135,84,.14)}
.candidate-page-banner span{display:inline-block;color:var(--orange);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-bottom:6px}
.candidate-page-banner h1{font-size:32px;margin:0 0 8px;color:#13233d}
.candidate-page-banner p{margin:0;color:#64748b;font-size:16px}
@media(max-width:900px){.dynamic-hero{border-radius:0;margin-top:0}.candidate-page-banner{padding:26px 22px}.candidate-page-banner h1{font-size:24px}}

/* v8.1 - Banco de Talentos no mesmo padrão visual do Processo Seletivo */
.talent-modern-page{
  max-width:1320px;
  margin:0 auto;
  padding:34px 24px 44px;
}
.talent-modern-hero{
  min-height:360px;
  border-radius:30px;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(90deg,rgba(0,72,44,.96),rgba(0,84,52,.78) 48%,rgba(255,122,18,.42)),
    radial-gradient(circle at 85% 14%,rgba(245,130,32,.85),transparent 230px),
    linear-gradient(135deg,#003b2a,#00643e);
  background-size:cover;
  background-position:center;
  box-shadow:0 28px 72px rgba(15,23,42,.18);
  color:#fff;
  padding:50px 54px 112px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:36px;
  align-items:center;
}
.talent-modern-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 24%,rgba(105,180,46,.18),transparent 230px),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.16));
  pointer-events:none;
}
.talent-modern-copy,.talent-modern-stat,.talent-modern-benefitbar,.talent-hero-dots,.talent-hero-arrow{position:relative;z-index:2}
.talent-modern-kicker{
  display:inline-flex;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.10);
  color:#fff;
  border-radius:999px;
  padding:10px 18px;
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  backdrop-filter:blur(8px);
  margin-bottom:18px;
}
.talent-modern-copy h1{
  margin:0;
  max-width:560px;
  font-size:58px;
  line-height:.96;
  letter-spacing:-.055em;
  color:#fff;
  font-weight:950;
}
.talent-modern-copy h1::first-line{color:#fff}
.talent-modern-copy p{
  margin:18px 0 0;
  max-width:560px;
  font-size:20px;
  line-height:1.38;
  color:rgba(255,255,255,.94);
  font-weight:650;
}
.talent-modern-copy strong{
  display:block;
  margin-top:6px;
  color:#ff8a22;
  font-size:20px;
  font-weight:950;
}
.talent-modern-stat{
  justify-self:end;
  width:210px;
  min-height:220px;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  color:#0d2b22;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px;
  box-shadow:0 24px 58px rgba(0,0,0,.18);
}
.talent-stat-icon{font-size:32px;color:var(--green-dark);margin-bottom:10px}
.talent-modern-stat strong{font-size:48px;line-height:1;color:var(--green-dark);font-weight:950}
.talent-modern-stat span{font-weight:900;margin-top:8px;color:#374151}
.talent-modern-stat small{margin-top:16px;padding-top:14px;border-top:1px solid #e5e7eb;width:100%;color:#6b7280}
.talent-modern-benefitbar{
  position:absolute;
  left:0;right:0;bottom:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:rgba(0,49,33,.62);
  backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,.12);
}
.talent-modern-benefitbar div{display:flex;align-items:center;gap:14px;padding:22px 28px;border-right:1px solid rgba(255,255,255,.10)}
.talent-modern-benefitbar div:last-child{border-right:0}
.talent-modern-benefitbar span{min-width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;font-size:22px;background:rgba(25,135,84,.38)}
.talent-modern-benefitbar strong{color:#fff;font-size:16px;line-height:1.22}
.talent-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);left:24px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.22);color:#fff;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.talent-hero-arrow.right{left:auto;right:24px}
.talent-hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:3}
.talent-hero-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.8)}
.talent-hero-dots i:first-child{background:var(--green)}
.talent-modern-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;margin-top:24px}
.talent-modern-main-card,.talent-modern-vagas,.talent-modern-cards article,.talent-modern-note{
  background:#fff;
  border:1px solid #edf0f4;
  border-radius:26px;
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.talent-modern-main-card{padding:30px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:center}
.talent-card-kicker{color:var(--orange);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.talent-modern-main-card h2{font-size:28px;color:#111827;margin:8px 0 8px;letter-spacing:-.025em}.talent-modern-main-card p{color:#64748b;font-size:16px;line-height:1.5;margin:0 0 18px}.talent-login-card{background:#f8fafc;border:1px solid #e5edf3;border-radius:18px;padding:16px 18px;margin:16px 0}.talent-login-card strong{display:block;color:#111827;font-size:17px;margin-bottom:5px}.talent-login-card span{color:#64748b}.talent-actions{display:flex;flex-wrap:wrap;gap:12px}.talent-modern-illustration{height:190px;position:relative;display:grid;place-items:center}.talent-modern-illustration .paper{width:180px;height:130px;border-radius:18px;border:1px solid #cfd9d5;background:linear-gradient(180deg,#fff,#f7faf8);box-shadow:0 16px 36px rgba(0,0,0,.10);position:relative}.talent-modern-illustration .paper:before{content:"";position:absolute;left:38px;right:38px;top:32px;height:10px;border-radius:999px;background:#b9c8c2;box-shadow:0 26px 0 #d7e0dc,0 52px 0 #d7e0dc}.talent-modern-illustration:before{content:"";position:absolute;width:230px;height:160px;border-radius:50%;background:rgba(245,130,32,.16)}.talent-modern-illustration span{position:absolute;right:32px;bottom:28px;width:58px;height:58px;border-radius:50%;background:var(--green-dark);color:#fff;display:grid;place-items:center;font-size:32px;font-weight:950;box-shadow:0 16px 32px rgba(25,135,84,.25)}
.talent-modern-vagas{padding:24px}.talent-side-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.talent-side-head h3{margin:0;font-size:18px;color:#111827}.talent-side-head a{color:var(--green-dark);font-weight:900}.talent-feature-job{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid #eef2f5;padding:14px 0}.talent-feature-job span{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--green-dark));color:#fff;display:grid;place-items:center;font-weight:950}.talent-feature-job strong{display:block;color:#111827}.talent-feature-job small{display:block;color:#64748b;margin-top:3px}.talent-feature-job em{font-style:normal;background:#e9f9ef;color:#0f7a3f;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap}.talent-all-jobs{display:flex;align-items:center;justify-content:center;margin-top:18px;border:1px solid #bfe8d1;color:var(--green-dark);border-radius:16px;padding:13px;font-weight:950}.talent-empty-side{background:#f8fafc;border-radius:16px;padding:16px;color:#64748b}.talent-modern-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}.talent-modern-cards article{padding:24px;display:flex;gap:16px;align-items:flex-start}.talent-modern-cards article span{width:58px;height:58px;border-radius:50%;background:#e9f9ef;display:grid;place-items:center;font-size:28px;flex:0 0 auto}.talent-modern-cards strong{display:block;color:#111827;font-size:18px;margin-bottom:7px}.talent-modern-cards p{margin:0;color:#64748b;line-height:1.45}.talent-modern-note{margin-top:22px;background:linear-gradient(135deg,#00442e,#00633d);color:#fff;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.talent-modern-note strong{font-size:18px}.talent-modern-note p{margin:5px 0 0;color:rgba(255,255,255,.86)}.talent-modern-note a{border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;padding:12px 26px;font-weight:950;white-space:nowrap;background:rgba(255,255,255,.07)}
@media(max-width:1100px){.talent-modern-grid,.talent-modern-main-card{grid-template-columns:1fr}.talent-modern-vagas{order:3}.talent-modern-benefitbar{grid-template-columns:repeat(2,1fr)}.talent-modern-hero{grid-template-columns:1fr;padding-bottom:180px}.talent-modern-stat{justify-self:start}}
@media(max-width:760px){.talent-modern-page{padding:20px 14px 34px}.talent-modern-hero{border-radius:22px;padding:32px 22px 210px}.talent-modern-copy h1{font-size:38px}.talent-modern-copy p,.talent-modern-copy strong{font-size:16px}.talent-modern-stat{width:100%;min-height:150px}.talent-modern-benefitbar{grid-template-columns:1fr}.talent-modern-benefitbar div{padding:14px 18px}.talent-modern-cards{grid-template-columns:1fr}.talent-modern-note{display:block}.talent-modern-note a{display:inline-flex;margin-top:14px}.talent-modern-illustration{display:none}.talent-hero-arrow{display:none}}

/* =========================================================
   V9 - Cards de vagas profissionais, sem emojis comuns
   ========================================================= */
.pro-search-panel{
  margin-top:34px;
  border-radius:28px!important;
  box-shadow:0 22px 70px rgba(15,23,42,.08)!important;
  border:1px solid rgba(15,23,42,.07)!important;
}
.pro-search-panel .process-search-head h2{
  font-size:30px;
  letter-spacing:-.04em;
}
.pro-search-panel .process-search-head p{
  color:#667085;
  font-size:16px;
}
.pro-bank-btn{
  min-height:50px;
  padding-inline:22px!important;
  font-weight:900!important;
}
.pro-search-grid{
  grid-template-columns:minmax(320px,1.4fr) minmax(180px,.7fr) minmax(180px,.7fr) 160px!important;
  align-items:end;
}
.pro-search-grid label{
  font-weight:900;
  color:#101828;
  letter-spacing:-.02em;
}
.pro-filter-btn{
  width:100%;
  min-height:54px;
  border-radius:16px!important;
}
.pro-opportunities-panel{
  background:#fff;
  border:1px solid rgba(15,23,42,.07);
  border-radius:28px;
  padding:26px;
  margin:30px 0 48px;
  box-shadow:0 24px 80px rgba(15,23,42,.08);
}
.pro-opportunities-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:22px;
}
.pro-opportunities-head span{
  display:block;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--green-dark);
}
.pro-opportunities-head h2{
  margin:6px 0 0;
  font-size:28px;
  letter-spacing:-.04em;
  color:#101828;
}
.pro-area-pills{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pro-area-pills a{
  text-decoration:none;
  color:#344054;
  border:1px solid #dce5e1;
  border-radius:999px;
  padding:10px 16px;
  font-weight:800;
  background:#fff;
  transition:.18s ease;
}
.pro-area-pills a:hover,
.pro-area-pills a.active{
  color:var(--green-dark);
  border-color:#b9e4c8;
  background:#effaf3;
}
.pro-vagas-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(285px,1fr));
  gap:18px;
}
.pro-vaga-card{
  --job-color:#f58220;
  --job-soft:#fff4e8;
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  padding:22px;
  min-height:310px;
  display:flex;
  flex-direction:column;
  box-shadow:0 16px 44px rgba(15,23,42,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pro-vaga-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 70px rgba(15,23,42,.12);
  border-color:color-mix(in srgb, var(--job-color) 45%, #ffffff);
}
.pro-vaga-card.theme-green{--job-color:#198754;--job-soft:#eaf8f0;}
.pro-vaga-card.theme-purple{--job-color:#7b3fe4;--job-soft:#f2ecff;}
.pro-vaga-card.theme-blue{--job-color:#2878d9;--job-soft:#eef6ff;}
.pro-vaga-card.theme-pink{--job-color:#ec3e83;--job-soft:#fff0f6;}
.pro-vaga-card.theme-teal{--job-color:#0f9aa5;--job-soft:#e9fbfc;}
.pro-vaga-line{
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,var(--job-color),color-mix(in srgb,var(--job-color) 45%,#ffffff));
}
.pro-vaga-card:after{
  content:"";
  position:absolute;
  right:-46px;
  top:-46px;
  width:122px;
  height:122px;
  border-radius:50%;
  background:var(--job-soft);
}
.pro-vaga-top{
  position:relative;
  z-index:1;
  display:flex;
  gap:15px;
  align-items:flex-start;
}
.pro-vaga-avatar{
  width:62px;
  height:62px;
  flex:0 0 62px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--job-color),color-mix(in srgb,var(--job-color) 72%,#111827));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:950;
  box-shadow:0 14px 30px color-mix(in srgb,var(--job-color) 28%,transparent);
  letter-spacing:-.04em;
}
.pro-vaga-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--job-soft);
  color:var(--job-color);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:950;
  padding:7px 11px;
  margin-bottom:8px;
}
.pro-vaga-card h3{
  margin:0;
  color:#111827;
  font-size:20px;
  line-height:1.12;
  letter-spacing:-.045em;
  text-transform:none;
  font-weight:950;
}
.pro-vaga-top p{
  margin:6px 0 0;
  color:#667085;
  font-size:14px;
  font-weight:700;
}
.pro-vaga-desc{
  margin:18px 0 16px;
  color:#475467;
  line-height:1.45;
  font-size:14px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pro-vaga-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:auto;
}
.pro-vaga-info span{
  min-width:0;
  display:grid;
  grid-template-columns:28px 1fr;
  grid-template-rows:auto auto;
  column-gap:8px;
  background:#fbfcfd;
  border:1px solid #edf1f4;
  border-radius:15px;
  padding:11px 10px;
}
.pro-vaga-info strong{
  color:#1d2939;
  font-size:13px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pro-vaga-info small{
  color:#98a2b3;
  font-size:11px;
  font-weight:800;
  margin-top:3px;
}
.pro-ico{
  grid-row:1/3;
  width:28px;
  height:28px;
  border-radius:10px;
  display:block;
  background:var(--job-soft);
  border:1px solid color-mix(in srgb,var(--job-color) 22%,#ffffff);
  position:relative;
}
.pro-ico:before,
.pro-ico:after{content:"";position:absolute;display:block;box-sizing:border-box}
.pro-ico-pin:before{width:10px;height:10px;border:2px solid var(--job-color);border-radius:50%;left:9px;top:6px}.pro-ico-pin:after{width:8px;height:8px;border-right:2px solid var(--job-color);border-bottom:2px solid var(--job-color);transform:rotate(45deg);left:10px;top:13px;border-radius:0 0 2px 0}
.pro-ico-briefcase:before{width:16px;height:11px;border:2px solid var(--job-color);border-radius:3px;left:6px;top:10px}.pro-ico-briefcase:after{width:8px;height:5px;border:2px solid var(--job-color);border-bottom:0;border-radius:3px 3px 0 0;left:10px;top:6px}
.pro-ico-clock:before{width:16px;height:16px;border:2px solid var(--job-color);border-radius:50%;left:6px;top:6px}.pro-ico-clock:after{width:6px;height:7px;border-left:2px solid var(--job-color);border-bottom:2px solid var(--job-color);left:14px;top:9px}
.pro-ico-calendar:before{width:16px;height:14px;border:2px solid var(--job-color);border-radius:3px;left:6px;top:8px}.pro-ico-calendar:after{width:16px;height:2px;background:var(--job-color);left:6px;top:12px}
.pro-vaga-footer{
  border-top:1px solid #eef1f4;
  margin-top:16px;
  padding-top:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.pro-vaga-salary{
  color:#344054;
  font-weight:950;
  font-size:14px;
}
.pro-vaga-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--job-color);
  border:1px solid color-mix(in srgb,var(--job-color) 45%,#ffffff);
  background:#fff;
  border-radius:999px;
  min-height:42px;
  padding:0 18px;
  font-weight:950;
  transition:.18s ease;
}
.pro-vaga-action:hover{
  color:#fff;
  background:var(--job-color);
  transform:translateX(2px);
}
.pro-empty-vagas{border-radius:24px!important;text-align:center;padding:36px!important}

/* Home também recebe cards mais compactos/profissionais quando usa o grid antigo */
.compact-jobs-grid .compact-job-card{
  border-radius:22px!important;
  padding:20px!important;
  min-height:245px!important;
}
.compact-jobs-grid .compact-job-card .role-icon{
  border-radius:18px!important;
}
.compact-jobs-grid .compact-job-card h3{
  font-size:21px!important;
  line-height:1.15!important;
}
.compact-jobs-grid .compact-job-card .professional-meta .meta{
  border-radius:13px!important;
  box-shadow:none!important;
}

@media(max-width:1180px){
  .pro-search-grid{grid-template-columns:1fr 1fr!important;}
  .pro-search-main{grid-column:1/-1;}
  .pro-opportunities-head{align-items:flex-start;flex-direction:column;}
  .pro-area-pills{justify-content:flex-start;}
}
@media(max-width:760px){
  .pro-search-grid{grid-template-columns:1fr!important;}
  .pro-vagas-grid{grid-template-columns:1fr;}
  .pro-vaga-info{grid-template-columns:1fr;}
  .pro-opportunities-panel{padding:18px;border-radius:22px;}
  .pro-vaga-card{padding:18px;min-height:auto;}
  .pro-vaga-footer{flex-direction:column;align-items:stretch;}
  .pro-vaga-action{width:100%;}
}
