:root { --banco-verde:#44847c; --banco-verde-escuro:#244c47; --banco-amarelo:#fcec7c; --banco-claro:#f4f9f8; }
body.banco-curriculos { min-height:100vh; background:radial-gradient(circle at 12% 10%,rgba(72,132,124,.28),transparent 32%),#323b42; font-family:'Montserrat',sans-serif; }
.banco-curriculos-page { width:min(1080px,calc(100% - 40px)); margin:48px auto 64px; }.banco-hero { padding:clamp(28px,5vw,38px) clamp(30px,6vw,58px); border:1px solid rgba(255,255,255,.13); border-radius:24px; background:rgba(255,255,255,.06); box-shadow:0 20px 50px rgba(0,0,0,.2); color:#edf4f2; backdrop-filter:blur(8px); }.banco-eyebrow { display:inline-block; margin-bottom:12px; color:var(--banco-amarelo); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.banco-hero h1 { margin:0; color:#fff; font-size:clamp(2rem,5vw,3.2rem); line-height:1.14; }.banco-hero p { max-width:760px; margin:10px 0 0; color:#dce9e6; line-height:1.7; }.banco-hero .prova-social { display:inline-block; margin-top:18px; padding:10px 13px; border-left:3px solid var(--banco-amarelo); border-radius:0 8px 8px 0; background:rgba(252,236,124,.1); color:#fff6ba; font-size:.82rem; font-weight:700; line-height:1.55; }
.beneficios-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:22px 0; }.beneficio-card { display:grid; grid-template-columns:42px 1fr; gap:13px; padding:22px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(255,255,255,.08); color:#edf4f2; box-shadow:0 14px 34px rgba(0,0,0,.15); }.beneficio-card>span { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:var(--banco-amarelo); color:var(--banco-verde-escuro); font-size:1.05rem; font-weight:800; }.beneficio-card h2 { margin:2px 0 8px; font-size:1rem; }.beneficio-card p { margin:0; color:#dce9e6; font-size:.82rem; line-height:1.55; }
.formulario-card,.sucesso-card { padding:clamp(25px,5vw,45px); border-radius:18px; background:#fff; box-shadow:0 18px 46px rgba(0,0,0,.2); }.formulario-cabecalho { margin-bottom:27px; }.formulario-cabecalho>span { color:var(--banco-verde); font-size:.75rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.formulario-cabecalho h2 { margin:8px 0; color:var(--banco-verde-escuro); font-size:clamp(1.45rem,3vw,1.85rem); }.formulario-cabecalho p { margin:0; color:#667572; font-size:.92rem; }.campos-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }.campos-grid label,.campo-completo { display:grid; gap:7px; color:#52635f; font-size:.78rem; font-weight:700; }.campo-completo { margin-top:17px; }.campos-grid input,.campo-completo input { width:100%; min-height:44px; padding:10px 12px; border:1px solid #ccdedd; border-radius:8px; box-sizing:border-box; color:#2d4541; font:500 .9rem 'Montserrat',sans-serif; outline:none; }.campos-grid input:focus,.campo-completo input:focus { border-color:var(--banco-verde); box-shadow:0 0 0 3px rgba(68,132,124,.12); }.ajuda-campo { color:#82918e; font-size:.72rem; font-weight:500; line-height:1.4; }
.campo-arquivo { margin-top:22px; }.label-arquivo { display:block; margin-bottom:8px; color:#52635f; font-size:.78rem; font-weight:700; }.upload-curriculo { display:flex; min-height:145px; padding:20px; border:2px dashed #a9c9c4; border-radius:12px; background:var(--banco-claro); flex-direction:column; align-items:center; justify-content:center; cursor:pointer; text-align:center; transition:.2s; }.upload-curriculo:hover,.upload-curriculo.drag-over { border-color:var(--banco-verde); background:#ebf5f3; transform:translateY(-2px); }.upload-curriculo.has-file { border-style:solid; border-color:rgba(68,132,124,.45); background:#edf7f4; }.upload-icone { display:grid; place-items:center; width:42px; height:42px; margin-bottom:10px; border-radius:11px; background:#d9ece8; color:var(--banco-verde); font-size:1.5rem; font-weight:700; }.upload-curriculo strong { color:var(--banco-verde-escuro); font-size:.94rem; }.upload-curriculo small { margin-top:7px; color:#71817e; font-size:.75rem; }.ajuda-upload { margin:9px 2px 0; color:#82918e; font-size:.73rem; }.arquivo-selecionado[hidden] { display:none!important; }.arquivo-selecionado { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:10px; padding:12px 13px; border-radius:8px; background:#e9f4f1; color:var(--banco-verde-escuro); font-size:.82rem; }.arquivo-selecionado div { min-width:0; }.arquivo-selecionado strong,.arquivo-selecionado span,.arquivo-selecionado small { display:block; }.arquivo-selecionado strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.arquivo-selecionado span { margin-top:3px; color:#637873; font-size:.73rem; font-weight:600; }.arquivo-selecionado small { margin-top:5px; color:var(--banco-verde); font-size:.72rem; font-weight:800; }.arquivo-selecionado button { flex:0 0 auto; border:0; background:transparent; color:#b43f3f; font:700 .75rem 'Montserrat',sans-serif; cursor:pointer; }
.lgpd-check { display:flex; align-items:flex-start; gap:10px; margin:23px 0 0; color:#465955; font-size:.87rem; line-height:1.62; cursor:pointer; }.lgpd-check input { width:19px; height:19px; margin:2px 0 0; accent-color:var(--banco-verde); flex:0 0 auto; }.lgpd-check a { color:var(--banco-verde); font-weight:800; }.form-feedback { min-height:21px; margin:13px 0 0; color:#b43f3f; font-size:.81rem; font-weight:700; }.form-feedback.sucesso { color:var(--banco-verde); }.form-feedback.erro-envio { display:grid; gap:7px; padding:13px 14px; border-left:3px solid #c94545; border-radius:0 8px 8px 0; background:#fff4f4; line-height:1.5; }.form-feedback.erro-envio span { display:block; font-weight:600; }.form-feedback.erro-envio .feedback-atualizacao-titulo { margin-top:3px; font-weight:800; }.botao-enviar { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:210px; min-height:54px; margin-top:16px; padding:0 28px; border:0; border-radius:9px; background:#397a70; color:#fff; box-shadow:0 11px 22px rgba(68,132,124,.3); font:800 .96rem 'Montserrat',sans-serif; cursor:pointer; transition:transform .2s,background .2s; }.botao-enviar:hover:not(:disabled) { background:#285f58; transform:translateY(-2px); }.botao-enviar:disabled { opacity:.6; cursor:wait; }
.sucesso-card { max-width:650px; margin:auto; text-align:center; }.sucesso-icone { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 18px; border-radius:50%; background:#e1f1ed; color:var(--banco-verde); font-size:2rem; font-weight:800; }.sucesso-card h2 { margin:0 0 12px; color:var(--banco-verde-escuro); font-size:1.7rem; }.sucesso-card p { margin:8px auto; color:#62736f; line-height:1.65; }.sucesso-card .botao-enviar { margin-top:18px; }
.faq-curriculos { margin-top:24px; padding:clamp(25px,4vw,36px); border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(255,255,255,.06); color:#edf4f2; }.faq-curriculos>h2 { margin:0 0 19px; color:#fff; font-size:1.45rem; }.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.faq-grid article { padding:18px; border-radius:12px; background:rgba(255,255,255,.08); }.faq-grid h3 { margin:0 0 8px; color:var(--banco-amarelo); font-size:.88rem; line-height:1.45; }.faq-grid p { margin:0; color:#dce9e6; font-size:.8rem; line-height:1.6; }.faq-grid a,.faq-privacidade a { color:var(--banco-amarelo); font-weight:800; text-decoration-thickness:1px; text-underline-offset:2px; }.faq-privacidade { margin:17px 0 0; padding:14px 16px; border-left:3px solid var(--banco-amarelo); border-radius:0 9px 9px 0; background:rgba(252,236,124,.1); color:#edf4f2; font-size:.8rem; line-height:1.65; }
@media (max-width:760px) { .beneficios-grid,.faq-grid { grid-template-columns:1fr; }.campos-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { .banco-curriculos-page { width:min(100% - 32px,1080px); margin-top:32px; }.banco-hero { border-radius:18px; }.formulario-card,.sucesso-card { padding:27px 20px; }.arquivo-selecionado { align-items:flex-start; flex-direction:column; gap:7px; } }

.campos-grid input.campo-invalido,.campo-completo input.campo-invalido,.lgpd-check input.campo-invalido { border-color:#c94545; box-shadow:0 0 0 3px rgba(201,69,69,.14); }
