/* Complementos locais: mantém tokens, tipografia e componentes do website. */
.careers-page {background:var(--wash);}
.careers-grid {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:start;}
.careers-copy h1 {font-size:clamp(2.5rem,5vw,4.25rem);max-width:12ch;}
.careers-copy .lead {margin-top:1.5rem;color:var(--muted);max-width:42ch;}
.careers-info {margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);}
.careers-info h2 {font-size:1.25rem;margin-bottom:.75rem;letter-spacing:-.02em;}
.careers-form {background:var(--paper);border:1px solid var(--line);}
.careers-form h2 {font-size:1.5rem;letter-spacing:-.025em;}
.careers-form .form-help {font-size:.8125rem;color:var(--muted);margin-top:.5rem;overflow-wrap:anywhere;}
.careers-form .form-error {color:#a11927;font-size:.875rem;margin-top:.4rem;}
.careers-form [aria-invalid="true"] {border-color:#a11927;}
.careers-form .privacy-check {display:flex;align-items:flex-start;gap:.75rem;font-weight:400;line-height:1.6;}
.careers-form input[type="checkbox"] {width:1.125rem;min-width:1.125rem;height:1.125rem;min-height:1.125rem;padding:0;margin-top:.2rem;accent-color:var(--action);}
.careers-form input[type="file"] {font-size:.875rem;}
.careers-form input[type="file"]::file-selector-button {font:inherit;border:0;border-radius:.25rem;padding:.5rem;background:var(--accent-surface);color:var(--blue);margin-right:.75rem;cursor:pointer;}
.careers-form input[type="checkbox"]:focus-visible {outline:2px solid var(--action);outline-offset:4px;}
.careers-form .trap {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.careers-note {padding:1rem;border-radius:.5rem;background:var(--wash);font-size:.9375rem;margin-block:1.25rem;}
.careers-note.success {border-left:3px solid #18703b;}
.careers-note.error {border-left:3px solid #a11927;}
@media(max-width:60rem) {.careers-grid{grid-template-columns:1fr;}.careers-copy h1{max-width:none;}.careers-copy .lead{max-width:60ch;}}
@media(max-width:45rem) {.careers-form{padding:1.25rem;}}

.careers-copy h1 span {color:var(--action);}
.careers-badges {display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.5rem 0;}
.careers-badges li {padding:.3rem .7rem;border:1px solid var(--line);border-radius:2rem;font-size:.8125rem;font-weight:600;background:var(--paper);color:var(--blue);}
.careers-compensation {border-radius:var(--radius-card);padding:1.5rem;background:var(--navy);color:var(--paper);border-top:3px solid var(--cyan);margin-top:1.5rem;}
.compensation-label {text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:var(--cyan);}
.compensation-fixed {font-size:1.75rem;font-weight:650;line-height:1.35;}
.compensation-fixed span {font-size:.9375rem;font-weight:400;}
.careers-info ul {margin:.75rem 0 1rem;padding-left:1.2rem;}
.careers-info li+li {margin-top:.5rem;}
.careers-info li::marker {color:var(--action);}

/* Descrição sob demanda: mantém o formulário próximo ao topo, sem modal ou bloqueio de foco. */
.careers-copy h1 {font-size:clamp(2.25rem,4vw,3.5rem);max-width:none;}
.careers-copy .lead {margin-top:1rem;font-size:1.0625rem;}
.careers-badges {margin-block:1rem;}
.careers-compensation {margin-top:1rem;padding:1.125rem 1.25rem;}
.careers-copy>.careers-info {margin-top:1.5rem;padding-top:1.25rem;}
.careers-description {margin-top:1.5rem;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);}
.careers-description summary {cursor:pointer;padding:1rem 1.25rem;font-weight:650;color:var(--blue);list-style-position:inside;}
.careers-description summary:focus-visible {outline:3px solid var(--action);outline-offset:3px;}
.careers-description[open] summary {border-bottom:1px solid var(--line);}
.careers-description-content {padding:0 1.25rem 1.25rem;}
.careers-description-content .careers-info {margin-top:1.25rem;padding-top:1.25rem;}
.careers-description-content .careers-info:first-child {border:0;padding-top:0;}
.careers-description-content .button {margin-top:1rem;}
.careers-email {font-size:.875rem;color:var(--muted);margin-top:1.25rem;}
.careers-form {padding:1.5rem;}
.careers-form .form-field {margin-bottom:.875rem;}
.careers-form .form-help {font-size:.8125rem;line-height:1.5;}
.careers-form .careers-note {margin-block:1rem;padding:.75rem;}
.careers-form .privacy-check {font-size:.8125rem;line-height:1.5;}
.careers-form [hidden] {display:none!important;}
@media(min-width:45rem) and (max-width:60rem) {.careers-form .form-row {grid-template-columns:1fr 1fr;gap:1rem;}}

/* Ação explícita para mouse, toque e teclado. */
.careers-description summary, .careers-description summary * {cursor:pointer;}
.careers-description summary {display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;}
.careers-description summary::-webkit-details-marker {display:none;}
.careers-description summary::after {content:"+";font-size:1.5rem;line-height:1;flex:none;}
.careers-description[open] summary::after {content:"−";}
.careers-description summary:hover {background:var(--accent-surface);}
