/* Public Careers only: recruitment presentation is isolated from order forms. */
.careers-shell { width: min(100%, 76rem); margin: 0 auto; padding: 1rem var(--gutter) 3rem; }
.careers-shell > .brand-logo--page { margin-bottom: .65rem; }
.careers-kicker { margin: 0 0 .35rem; color: var(--accent); font-size: .82rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.careers-shell h1 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 7vw, 3.4rem); line-height: 1.04; letter-spacing: -.045em; }
.careers-lede { max-width: 46rem; margin: .8rem 0 1.5rem; color: var(--muted); font-size: 1.08rem; }
.careers-filters { margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-subtle); }
.careers-filters fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.careers-filters legend { padding: 0; font-size: 1rem; font-weight: 800; }
.careers-filter-grid { display: grid; gap: .75rem; align-items: end; }
.careers-filters .field-group, .careers-application .field-group { display: grid; gap: .3rem; min-width: 0; }
.careers-filters label, .careers-application label { color: var(--foreground); font-weight: 750; }
.careers-filters select, .careers-application input:not([type=file]), .careers-application textarea { min-height: 2.75rem; width: 100%; padding: .65rem .8rem; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); color: var(--foreground); background: var(--surface); font: inherit; font-size: 1rem; }
.careers-filters select:focus, .careers-application input:focus, .careers-application textarea:focus { border-color: var(--focus); outline: 3px solid color-mix(in srgb, var(--focus) 24%, transparent); outline-offset: 1px; }
.careers-filter-actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.careers-filter-actions .button { flex: 1 1 8rem; }
.careers-reset { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .6rem .9rem; font-weight: 700; }
.careers-result-count { margin: 1.25rem 0 .7rem; color: var(--muted); font-size: .95rem; }
.careers-job-list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.careers-job-card { display: grid; gap: .55rem; padding: 1rem; border: 1px solid var(--border); border-left: .3rem solid var(--accent); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-low); }
.careers-job-card h2 { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: clamp(1.2rem, 4vw, 1.5rem); line-height: 1.15; }
.careers-job-card h2 a { color: var(--foreground); text-decoration-thickness: .12em; text-underline-offset: .15em; }
.careers-job-card h2 a:hover { color: var(--primary); }
.careers-job-meta, .careers-meta { display: flex; flex-wrap: wrap; gap: .35rem .75rem; margin: 0; color: var(--muted); }
.careers-job-meta span { display: inline-flex; align-items: center; min-width: 0; min-height: 2rem; overflow-wrap: anywhere; }
.careers-job-card .button { justify-self: start; margin-top: .2rem; }
.careers-empty, .careers-closed, .careers-success { padding: 1.25rem; border: 1px solid var(--border); border-left: .35rem solid var(--warning); border-radius: var(--radius-md); background: var(--surface); }
.careers-empty h2, .careers-closed h2, .careers-success h1 { margin: 0 0 .45rem; }
.careers-empty h2, .careers-closed h2, .careers-application h2 { font-size: clamp(1.35rem, 4vw, 2rem); line-height: 1.15; }
.careers-empty p, .careers-closed p, .careers-success p { margin: 0 0 1rem; color: var(--muted); }
.careers-back { display: inline-flex; align-items: center; min-height: 2.75rem; margin-bottom: 1rem; font-weight: 700; }
.careers-detail-header { margin-bottom: 1.5rem; }
.careers-detail-header h1 { max-width: 24ch; }
.careers-meta-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.1rem; margin: 1rem 0 0; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-subtle); }
.careers-meta-list dt { color: var(--muted); font-size: .88rem; }
.careers-meta-list dd { margin: .1rem 0 0; font-weight: 700; }
.careers-brief { min-width: 0; max-width: 48rem; }
.careers-brief section { margin: 0 0 1.5rem; }
.careers-brief h2 { margin: 0 0 .5rem; font-size: 1.35rem; }
.careers-brief p { margin: 0; }
.careers-application { min-width: 0; padding: 1rem; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--border)); border-top: .35rem solid var(--accent); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-low); }
.careers-application h2 { margin: 0 0 .35rem; }
.careers-application-intro { margin: 0 0 1rem; color: var(--muted); }
.careers-application .order-form { display: grid; gap: 1rem; }
.careers-application fieldset { display: grid; gap: .75rem; min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.careers-application legend { padding: 0 .2rem; color: var(--foreground); font-weight: 800; }
.careers-application textarea { min-height: 8rem; resize: vertical; }
.careers-application input[type=file] { min-height: 2.75rem; width: 100%; padding: .55rem; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--surface); }
.careers-application .has-error input, .careers-application .has-error textarea { border-color: var(--danger); background: color-mix(in srgb, var(--danger) 5%, var(--surface)); }
.careers-application .error-summary { margin: 0 0 1rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--danger) 35%, var(--border)); border-left: .35rem solid var(--danger); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--danger) 6%, var(--surface)); }
.careers-application .error-summary h3 { margin: 0 0 .35rem; font-size: 1.1rem; }
.careers-application .error-summary ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.careers-application .error-summary a { color: var(--danger); font-weight: 750; }
.careers-application .field-help, .careers-application .field-error, .careers-application .form-intro { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.careers-application .field-error { color: var(--danger); font-weight: 700; }
.careers-application .form-intro { padding-top: .15rem; }
.careers-application .form-actions { display: grid; }
.careers-application .form-actions .button { width: 100%; min-height: 3rem; }
.careers-success { border-left-color: var(--success); background: color-mix(in srgb, var(--success) 6%, var(--surface)); }
.careers-success .careers-next-action { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--border); }
@media (min-width: 40rem) { .careers-shell { padding-top: 1.5rem; } .careers-filter-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(8rem, auto); } .careers-filter-actions { align-self: end; } .careers-filter-actions .button { width: auto; } }
@media (min-width: 60rem) { .careers-shell { padding-top: 2rem; } .careers-detail-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); gap: 2rem; align-items: start; } .careers-application { position: sticky; top: 1rem; } .careers-application fieldset { padding-inline: 0; border: 0; } }
@media (max-width: 25rem) { .careers-meta-list { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .careers-job-card, .careers-application { transition: none; } }
