/* DCCC Career Opportunities — live recruitment interface v1 */
:root{--djob-red:#ed1119;--djob-yellow:#ffc400;--djob-ink:#101418;--djob-muted:#5d666d;--djob-line:#dce2e6;--djob-soft:#f4f7f8}
.djob-page{background:#fff;color:var(--djob-ink)}.djob-page *{box-sizing:border-box}
.djob-hero{position:relative;min-height:430px;overflow:hidden;background:#10161a;color:#fff}.djob-carousel,.djob-stage,.djob-slide{position:absolute;inset:0}.djob-slide{opacity:0;transition:opacity .72s ease}.djob-slide.is-active{opacity:1}.djob-slide canvas,.djob-slide img{width:100%;height:100%;display:block;object-fit:cover}.djob-hero-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(3,7,10,.94),rgba(3,7,10,.77) 37%,rgba(3,7,10,.28) 67%,rgba(3,7,10,.12))}.djob-hero-copy{position:relative;z-index:4;width:min(730px,51vw);padding:43px 0 42px clamp(28px,4.2vw,70px)}.djob-eyebrow{font-size:13px;font-weight:900;letter-spacing:.31em}.djob-hero h1{margin:10px 0 5px;font-size:clamp(40px,4.1vw,69px);line-height:.98;font-weight:950;letter-spacing:-.038em}.djob-hero h1 em{font-style:normal;color:var(--djob-red)}.djob-hero h2{margin:0 0 10px;font-size:clamp(18px,1.48vw,25px);font-weight:850}.djob-hero-copy>p{max-width:660px;margin:0;color:#f3f5f6;font-size:clamp(14px,1vw,17px);line-height:1.48}.djob-hero-actions{display:flex;gap:13px;margin-top:19px}.djob-btn{display:inline-flex;min-height:47px;align-items:center;justify-content:center;gap:16px;padding:0 22px;border:1px solid rgba(255,255,255,.7);border-radius:4px;background:rgba(5,9,12,.52);color:#fff;font-weight:850;text-decoration:none;cursor:pointer}.djob-btn.primary{border-color:var(--djob-yellow);background:var(--djob-yellow);color:#111}.djob-btn:hover{transform:translateY(-1px)}.djob-hero-tag{position:absolute;z-index:4;right:4vw;bottom:27px;max-width:260px;padding:11px 15px;border-right:4px solid var(--djob-red);font:italic 21px/1.2 Georgia,serif;text-align:right;text-shadow:0 2px 12px #000}.djob-arrow{position:absolute;z-index:8;top:50%;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.48);color:#fff;font-size:25px;transform:translateY(-50%);cursor:pointer}.djob-arrow.prev{left:12px}.djob-arrow.next{right:12px}.djob-dots{position:absolute;z-index:8;left:23px;bottom:16px;display:flex;gap:8px}.djob-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#fff;cursor:pointer}.djob-dots button.is-active{background:var(--djob-yellow)}
.djob-jobs{padding:15px clamp(20px,2.3vw,38px) 18px}.djob-jobs-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,42%);gap:20px;align-items:end}.djob-section-title{display:flex;gap:13px;align-items:flex-start}.djob-section-title:before{content:"";width:4px;height:27px;flex:none;background:var(--djob-red)}.djob-section-title h2{margin:0;font-size:20px;line-height:1.15}.djob-section-title p{margin:4px 0 0;color:var(--djob-muted);font-size:13px}.djob-search{display:grid;grid-template-columns:1fr auto;gap:8px}.djob-search input,.djob-filters select,.djob-sort select,.djob-form input,.djob-form textarea,.djob-form select{width:100%;min-height:42px;border:1px solid #cfd6da;border-radius:5px;background:#fff;padding:0 12px;font:inherit;color:#151a1d}.djob-search button,.djob-filter-toggle{min-height:42px;border:0;border-radius:5px;background:var(--djob-red);color:#fff;padding:0 20px;font-weight:850;cursor:pointer}.djob-controls{display:flex;gap:9px;align-items:center;justify-content:space-between;margin-top:12px}.djob-filters{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:7px;flex:1}.djob-sort{width:160px}.djob-filter-toggle{display:none}.djob-results-note{margin:10px 0;color:#657078;font-size:12px}.djob-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.djob-card{min-width:0;overflow:hidden;border:1px solid var(--djob-line);border-radius:6px;background:#fff;box-shadow:0 2px 10px rgba(20,30,38,.05);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.djob-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,30,38,.11)}.djob-card-media{position:relative;height:118px;background:#e9eef1;overflow:hidden}.djob-card-media img,.djob-card-media canvas{width:100%;height:100%;display:block;object-fit:cover}.djob-card-media .djob-dots{left:auto;right:7px;bottom:6px}.djob-card-media .djob-dots button{width:6px;height:6px}.djob-card-copy{min-height:155px;display:flex;flex-direction:column;padding:12px 13px}.djob-card h3{margin:0 0 8px;font-size:15px;line-height:1.18}.djob-meta{display:flex;flex-wrap:wrap;gap:5px 9px;color:#505b62;font-size:11px}.djob-meta span:before{content:"•";margin-right:5px;color:var(--djob-red)}.djob-card p{margin:9px 0 0;color:#657078;font-size:11.5px;line-height:1.38}.djob-card-action{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;font-size:11.5px;font-weight:850}.djob-card-action b{font-size:19px}.djob-empty{grid-column:1/-1;padding:38px 20px;border:1px dashed #cdd6db;border-radius:7px;background:#f7f9fa;text-align:center}.djob-empty h3{margin:0 0 7px;font-size:23px}.djob-empty p{max-width:620px;margin:0 auto;color:#606a71;line-height:1.5}.djob-empty a{display:inline-flex;margin-top:16px}
.djob-values{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #dce3e7;border-bottom:1px solid #dce3e7;background:#eef3f5;padding:13px clamp(20px,3vw,45px)}.djob-value{min-height:65px;padding:7px 20px;border-right:1px solid #cbd5da}.djob-value:last-child{border-right:0}.djob-value strong{display:block;font-size:14px;text-transform:uppercase}.djob-value span{display:block;margin-top:3px;color:#59646b;font-size:11.5px}.djob-value em{font-style:normal;color:var(--djob-red)}.djob-related{display:grid;grid-template-columns:165px 1fr;align-items:stretch;border-bottom:1px solid #dfe5e8;padding:8px clamp(20px,2.3vw,38px)}.djob-related>strong{display:flex;align-items:center;padding-left:12px;border-left:4px solid var(--djob-red);font-size:14px}.djob-related nav{display:flex;overflow-x:auto}.djob-related a{min-width:170px;flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;border-left:1px solid #e2e6e8;color:#14191c;font-size:11.5px;font-weight:800;text-decoration:none}.djob-related a:hover{background:#f7f9fa}
.djob-footer{background:#0d151a;color:#fff}.djob-footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:28px;padding:24px clamp(28px,5vw,78px) 18px}.djob-footer-brand strong{display:block;font-size:17px;line-height:1.28}.djob-footer-brand p{max-width:320px;margin:7px 0 0;color:#c4cdd2;font-size:12.5px;line-height:1.45}.djob-footer section>b{font-size:12.5px}.djob-footer nav{display:grid;gap:4px;margin-top:7px}.djob-footer a{color:#d4dade;font-size:11.5px;text-decoration:none}.djob-footer a:hover{text-decoration:underline;color:#fff}.djob-footer-tag{font:italic 16px/1.42 Georgia,serif;letter-spacing:.07em}.djob-footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:9px clamp(28px,5vw,78px);border-top:1px solid #283239;color:#b7c0c5;font-size:10px}.djob-footer-brand img,.djob-footer-brand video,.djob-footer-brand svg{display:none!important}.djob-footer-brand:before,.djob-footer-brand:after{content:none!important;display:none!important;background:none!important}
.djob-modal[hidden]{display:none!important}.djob-modal{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:18px}.djob-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.67)}.djob-dialog{position:relative;width:min(920px,96vw);max-height:90vh;overflow:auto;border-radius:8px;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.35)}.djob-dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #e0e5e8;background:#fff}.djob-dialog-head h2{margin:0;font-size:24px}.djob-dialog-head p{margin:5px 0 0;color:#677078;font-size:12px}.djob-close{width:38px;height:38px;border:0;border-radius:50%;background:#edf1f3;font-size:24px;cursor:pointer}.djob-detail-body{padding:18px 20px}.djob-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.djob-detail-chip{padding:9px 10px;border-radius:5px;background:#f1f5f6}.djob-detail-chip b{display:block;font-size:10px;text-transform:uppercase;color:#737c82}.djob-detail-chip span{display:block;margin-top:2px;font-size:12px;font-weight:800}.djob-detail-section{margin-top:17px}.djob-detail-section h3{margin:0 0 7px;font-size:15px}.djob-detail-section p,.djob-detail-section li{color:#4f5960;font-size:13px;line-height:1.55}.djob-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}.djob-detail-actions .djob-btn{background:#10161a}.djob-detail-actions .djob-btn.primary{background:var(--djob-red);border-color:var(--djob-red);color:#fff}.djob-fraud{font-size:11px!important;color:#a20f14!important}.djob-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:18px 20px}.djob-form label{display:grid;gap:5px;font-size:11.5px;font-weight:800}.djob-form label.full{grid-column:1/-1}.djob-form textarea{min-height:92px;padding-top:10px;resize:vertical}.djob-form input[type=file]{padding:8px}.djob-form small{font-weight:500;color:#6a747b}.djob-form-status{grid-column:1/-1;min-height:20px;padding:8px 10px;border-radius:4px;background:#f2f5f7;font-size:12px}.djob-form-status.error{background:#fff0f0;color:#a51218}.djob-form-status.success{background:#eef8ef;color:#176023}.djob-submit{grid-column:1/-1;display:flex;justify-content:flex-end}.djob-submit button{min-height:44px;border:0;border-radius:5px;background:var(--djob-red);color:#fff;padding:0 24px;font-weight:900;cursor:pointer}.djob-submit button[disabled]{opacity:.58;cursor:wait}
@media(max-width:1180px){.djob-grid{grid-template-columns:repeat(3,1fr)}.djob-filters{grid-template-columns:repeat(3,1fr)}.djob-values{grid-template-columns:repeat(3,1fr)}.djob-value:nth-child(3){border-right:0}.djob-value:nth-child(n+4){margin-top:8px;padding-top:12px;border-top:1px solid #ccd6db}.djob-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.djob-footer-tag{grid-column:1/-1}}
@media(max-width:850px){.djob-hero{min-height:510px}.djob-hero-copy{width:72vw}.djob-jobs-head{grid-template-columns:1fr}.djob-controls{align-items:flex-start}.djob-filters{grid-template-columns:repeat(2,1fr)}.djob-grid{grid-template-columns:repeat(2,1fr)}.djob-values{grid-template-columns:repeat(2,1fr)}.djob-value:nth-child(odd){border-right:1px solid #cbd5da}.djob-value:nth-child(even){border-right:0}.djob-value:nth-child(n+3){margin-top:8px;padding-top:12px;border-top:1px solid #ccd6db}.djob-related{grid-template-columns:140px 1fr}.djob-footer-grid{grid-template-columns:1fr 1fr}.djob-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.djob-hero{min-height:620px}.djob-hero-shade{background:linear-gradient(180deg,rgba(3,7,10,.94),rgba(3,7,10,.71) 64%,rgba(3,7,10,.27))}.djob-hero-copy{width:auto;padding:29px 17px 175px}.djob-eyebrow{font-size:10.5px;letter-spacing:.23em}.djob-hero h1{font-size:38px}.djob-hero h2{font-size:17px}.djob-hero-copy>p{font-size:13.5px}.djob-hero-actions{display:grid}.djob-btn{width:100%}.djob-hero-tag{right:14px;bottom:45px;font-size:18px}.djob-jobs{padding-inline:12px}.djob-jobs-head{gap:12px}.djob-search{grid-template-columns:1fr}.djob-search button{width:100%}.djob-controls{display:block}.djob-filter-toggle{display:block;width:100%;margin-bottom:7px}.djob-filters{display:none;grid-template-columns:1fr;margin-bottom:8px}.djob-filters.is-open{display:grid}.djob-sort{width:100%}.djob-grid{grid-template-columns:1fr}.djob-card-media{height:165px}.djob-values{grid-template-columns:1fr;padding:7px 12px}.djob-value,.djob-value:nth-child(n){margin:0!important;padding:11px 8px!important;border-right:0!important;border-top:1px solid #cbd5da!important}.djob-value:first-child{border-top:0!important}.djob-related{display:block;padding:9px 12px}.djob-related>strong{padding:0 0 8px 10px}.djob-related nav{display:grid;grid-auto-flow:column;grid-auto-columns:82%;scroll-snap-type:x mandatory}.djob-related a{min-width:0;scroll-snap-align:start}.djob-footer-grid{grid-template-columns:1fr;padding:21px 18px 15px}.djob-footer-tag{grid-column:auto}.djob-footer-bottom{display:block;padding:10px 18px}.djob-dialog{width:96vw}.djob-dialog-head h2{font-size:20px}.djob-detail-grid{grid-template-columns:1fr 1fr}.djob-form{grid-template-columns:1fr;padding:15px}.djob-form label.full,.djob-form-status,.djob-submit{grid-column:1}.djob-detail-actions{display:grid}.djob-detail-actions .djob-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.djob-slide,.djob-card,.djob-btn{transition:none!important}}

/* DCCC Career Application Form v1 */
.djob-application{padding:34px clamp(20px,4vw,64px) 38px;background:#f3f6f7;border-top:1px solid #dce3e7;border-bottom:1px solid #dce3e7}
.djob-application-heading{max-width:900px;margin:0 auto 20px}
.djob-application-heading .djob-eyebrow{color:#bd1018;font-size:11px;letter-spacing:.2em}
.djob-application-heading h2{margin:7px 0 5px;font-size:clamp(24px,2.2vw,32px);font-weight:950;letter-spacing:-.02em}
.djob-application-heading p{margin:0;color:#58646c;font-size:14px}
.djob-application-form{max-width:900px;margin:0 auto;padding:22px;background:#fff;border:1px solid #d9e0e4;border-radius:7px;box-shadow:0 5px 20px rgba(20,32,40,.06);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 17px}
.djob-application-form label{display:flex;min-width:0;flex-direction:column;gap:6px;color:#182127;font-size:13px;font-weight:800}
.djob-application-form label em{display:inline;color:#c71920;font-style:normal}
.djob-application-form label.full,.djob-application-note,.djob-application-status,.djob-application-submit{grid-column:1/-1}
.djob-application-form input,.djob-application-form textarea{width:100%;min-width:0;border:1px solid #cbd4d9;border-radius:5px;background:#fff;color:#111a20;padding:11px 12px;font:inherit;font-weight:500;outline-offset:2px}
.djob-application-form input{min-height:44px}
.djob-application-form textarea{min-height:120px;resize:vertical;line-height:1.5}
.djob-application-form input:focus,.djob-application-form textarea:focus{border-color:#9d1118;box-shadow:0 0 0 2px rgba(237,17,25,.1)}
.djob-application-form input[type=file]{padding:9px;background:#f8fafb}
.djob-application-form small{color:#647078;font-size:11px;font-weight:500}
.djob-word-count{text-align:right}.djob-word-count.is-over{color:#b42318;font-weight:800}
.djob-application-note{margin:0;padding:12px 14px;border-left:3px solid #e0a800;background:#fff9e8;color:#514313;font-size:12px;line-height:1.5}
.djob-application-status{padding:11px 13px;border-radius:5px;background:#f1f4f6;color:#4c5961;font-size:12px;line-height:1.5}
.djob-application-status.success{background:#edf8f0;color:#175b2d}.djob-application-status.error{background:#fff0f0;color:#9b1c1c}
.djob-application-submit{display:flex;justify-content:flex-end}
.djob-application-submit button{min-height:48px;padding:0 24px;border:0;border-radius:5px;background:#e51620;color:#fff;font-size:14px;font-weight:900;cursor:pointer}
.djob-application-submit button:hover{background:#bd1018}.djob-application-submit button:disabled{opacity:.6;cursor:wait}
@media(max-width:640px){.djob-application{padding:25px 14px}.djob-application-form{grid-template-columns:1fr;padding:15px;gap:13px}.djob-application-form label.full,.djob-application-note,.djob-application-status,.djob-application-submit{grid-column:1}.djob-application-submit button{width:100%}}

/* Career descriptions and upper metadata: keep headings and long values easy to scan on phones. */
.djob-description-item{margin-top:14px;padding-top:12px;border-top:1px solid #e4e9ec}
.djob-description-item:first-child{margin-top:0;padding-top:0;border-top:0}
.djob-description-item h4{margin:0 0 5px;color:#182127;font-size:13px;font-weight:900;line-height:1.35}
.djob-description-item p{margin:0;color:#4f5960;font-size:13px;line-height:1.6}
.djob-detail-chip{min-width:0}
.djob-detail-chip span{overflow-wrap:anywhere}
.djob-interview-section{padding:14px 15px;border:1px solid #e4e9ec;border-left:4px solid var(--djob-red);border-radius:6px;background:#f8fafb}
.djob-interview-section h3{margin-bottom:8px}
.djob-interview-section p{margin:0}
@media(max-width:380px){.djob-detail-grid{grid-template-columns:1fr}}

/* Career vacancy detail readability: each description topic is a separate card. */
.djob-description-section{padding:14px 15px;border:1px solid #e4e9ec;border-radius:6px;background:#fff}
.djob-description-section h3{margin:0 0 8px;color:#182127;font-size:14px;font-weight:900;line-height:1.4}
.djob-description-section p{margin:0;color:#4f5960;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.djob-detail-section ul{margin:8px 0 0;padding-left:20px}
.djob-detail-section li{margin:0 0 6px;line-height:1.65;overflow-wrap:anywhere}
@media(max-width:620px){
 .djob-detail-body{padding:14px}
 .djob-detail-grid{grid-template-columns:1fr}
 .djob-detail-chip{padding:10px 12px}
 .djob-description-section{padding:13px}
 .djob-detail-section{margin-top:13px}
 .djob-dialog{max-height:92vh}
}
