.careers { background: #edf2ef; padding: clamp(4.8rem, 8vw, 8rem) 0; }
.careers-layout { display: grid; gap: clamp(2rem, 5vw, 6rem); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); margin-top: 2rem; }
.careers-copy h2 { color: #0a3935; font-size: clamp(2.6rem, 4.6vw, 5rem); letter-spacing: -.06em; line-height: .96; margin: .7rem 0 1.45rem; }
.careers-copy h2 em { color: #e25e18; }
.careers-copy > p:not(.overline) { color: #46605c; font-size: 1.02rem; line-height: 1.8; margin: 0; max-width: 31rem; }
.career-email-link { display: inline-flex; margin-top: 1.3rem; }
.career-openings { display: grid; gap: .9rem; }
.career-opening { background: #fff; border-left: 4px solid #e25e18; box-shadow: 0 12px 30px rgba(8, 48, 44, .07); padding: 1.25rem 1.35rem; }
.career-opening-top { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.career-opening h3 { color: #0a3935; font-size: 1.1rem; margin: 0; }
.career-opening .career-department { color: #e25e18; display: block; font: 700 .68rem/1.4 "DM Mono", monospace; letter-spacing: .08em; margin-top: .4rem; text-transform: uppercase; }
.career-opening p { color: #526965; font-size: .88rem; line-height: 1.65; margin: .85rem 0 0; }
.career-opening-meta { color: #607773; display: flex; flex-wrap: wrap; font: 700 .67rem/1.4 "DM Mono", monospace; gap: .6rem 1rem; letter-spacing: .05em; margin-top: .9rem; text-transform: uppercase; }
.career-opening-apply { background: transparent; border: 0; color: #e25e18; cursor: pointer; font: 800 .68rem/1 "DM Mono", monospace; letter-spacing: .06em; padding: .3rem 0; text-transform: uppercase; white-space: nowrap; }
.career-opening-apply:hover { color: #0a3935; }
.career-opening-empty { background: rgba(255,255,255,.65); border: 1px dashed rgba(10,57,53,.25); color: #526965; line-height: 1.65; margin: 0; padding: 1.4rem; }
.career-apply-cta { align-items: center; border-bottom: 1px solid rgba(10,57,53,.18); border-top: 1px solid rgba(10,57,53,.18); display: flex; gap: 2rem; justify-content: space-between; margin-top: clamp(2rem, 5vw, 4rem); padding: 1.8rem 0; }
.career-apply-cta h3 { color: #0a3935; font-size: clamp(1.35rem, 2.5vw, 2rem); line-height: 1.1; margin: .45rem 0; }
.career-apply-cta > div > p:not(.overline) { color: #526965; line-height: 1.65; margin: 0; max-width: 38rem; }
.career-apply-cta .button { flex: 0 0 auto; }
.career-dialog[hidden] { display: none; }
.career-dialog { align-items: center; display: flex; inset: 0; justify-content: center; padding: 1rem; position: fixed; z-index: 1001; }
.career-dialog-backdrop { background: rgba(2,20,19,.84); inset: 0; position: absolute; }
.career-dialog-card { background: #0a3935; box-shadow: 0 24px 90px rgba(0,0,0,.45); color: #fff; max-height: calc(100vh - 2rem); max-width: min(100%, 760px); overflow: auto; padding: clamp(1.5rem, 4vw, 3rem); position: relative; width: 100%; }
.career-dialog-card .overline { color: #f1aa71; }
.career-dialog-card h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.05em; line-height: .98; margin: .5rem 0 .85rem; }
.career-dialog-card h2 em { color: #f58216; }
.career-dialog-copy { color: #c0d2cd; line-height: 1.65; margin: 0 0 1.5rem; max-width: 39rem; }
.career-dialog-close { background: transparent; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; cursor: pointer; font-size: 1.4rem; height: 36px; line-height: 1; padding: 0 0 3px; position: absolute; right: 1.1rem; top: 1.1rem; width: 36px; }
body.career-dialog-open { overflow: hidden; }
.career-form { display: grid; gap: .85rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.career-form label { display: grid; gap: .42rem; }
.career-form label > span { color: #d2e0dc; font: 700 .65rem/1 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.career-form input, .career-form select, .career-form textarea { background: #fff; border: 0; border-radius: 0; color: #173d38; font: 500 .9rem/1.4 Manrope, sans-serif; min-width: 0; padding: .78rem .82rem; }
.career-form textarea { resize: vertical; }
.career-form .career-form-wide { grid-column: 1 / -1; }
.career-file-note { background: rgba(255,255,255,.08); padding: .75rem; }
.career-file-note input { background: transparent; color: #fff; padding: .2rem 0; }
.career-file-note small { color: #bdd0ca; font-size: .72rem; line-height: 1.45; }
.career-form .button { justify-self: start; margin-top: .2rem; }
.career-form .form-note { color: #c0d2cd; font-size: .76rem; grid-column: 1 / -1; line-height: 1.5; margin: 0; }
@media (max-width: 800px) { .careers-layout { grid-template-columns: 1fr; } .career-apply-cta { align-items: flex-start; flex-direction: column; } }
@media (max-width: 560px) { .careers { padding: 4.3rem 0; } .career-form { grid-template-columns: 1fr; } .career-form .career-form-wide { grid-column: auto; } .career-opening-top { align-items: flex-start; flex-direction: column; gap: .7rem; } .career-dialog { padding: .45rem; } .career-dialog-card { max-height: calc(100vh - .9rem); padding: 1.35rem; } }
