.jobHero { background: linear-gradient(115deg,#073458,#105678); color:#fff; padding:64px 0 58px; }
.jobHero .titleBack { display:inline-block; margin-bottom:22px; color:#e5edf2; font-size:14px; }
.jobHero .kicker { color:#f1cb77; }
.jobHero h1 { max-width:950px; color:#fff; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(44px,5vw,68px); font-weight:700; line-height:1.05; letter-spacing:-.025em; margin:16px 0 22px; }
.jobHero .lede { max-width:850px; color:#f2f6fa; font-size:clamp(18px,1.6vw,21px); line-height:1.55; margin:0; }
.jobHero .programNav { margin-top:28px; gap:12px; }
.jobHero .programNav a { color:#fff; background:rgba(4,31,56,.55); border:1px solid rgba(255,255,255,.65); font-size:16px; font-weight:700; line-height:1.35; padding:12px 18px; }
.jobHero .programNav a:hover,.jobHero .programNav a:focus-visible { background:#fff; color:#073458; }
.jobHero .programNav a:focus-visible { outline:3px solid #f1cb77; outline-offset:3px; }
.jobHero.iecPhotoHero {
  background:linear-gradient(90deg,rgba(7,52,88,.96) 0%,rgba(7,52,88,.89) 32%,rgba(7,52,88,.57) 56%,rgba(7,52,88,.13) 78%),url("assets/pdf-621f3bbd/alpine-skiing-mountain-panorama.jpg") center 55% / cover no-repeat;
  min-height:460px;
}
.iecPhotoHero h1 { max-width:700px; }
.iecPhotoHero .lede { max-width:640px; }
.iecPhotoHero .programNav { max-width:670px; }
@media(max-width:650px) {
  .jobHero.iecPhotoHero { background-position:65% center; min-height:0; background-image:linear-gradient(90deg,rgba(7,52,88,.94),rgba(7,52,88,.68)),url("assets/pdf-621f3bbd/alpine-skiing-mountain-panorama.jpg"); }
}
.jobBoundary { padding:30px; border-left:5px solid #c9222c; border-radius:0 12px 12px 0; background:#fff7f2; }
.jobBoundary .kicker { color:#a51b24; }
.jobBoundary h2 { margin-top:10px; }
.jobBoundary p:last-child { margin-bottom:0; }
.jobColumns { display:grid; grid-template-columns:1.1fr .9fr; gap:36px; align-items:start; }
.jobInset { padding:26px; background:#fff; border:1px solid #d6e1e8; border-radius:12px; }
.jobInset h3 { margin-top:0; }
.jobCards,.jobSteps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:28px 0; }
.jobCards article,.jobSteps article { padding:25px; border:1px solid #d6e1e8; border-radius:12px; background:#fff; }
.jobCards h3,.jobSteps h3 { margin-top:0; font-size:29px; line-height:1.12; }
.jobCards article p:last-child,.jobSteps article p:last-child { margin-bottom:0; }
.jobCards a,.jobInset a,.jobLinks a { color:#073458; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.jobSteps article>span { display:block; font:800 15px/1.2 Arial,sans-serif; color:#af1f2a; margin-bottom:15px; }
.jobNote { border-top:1px solid #d6e1e8; margin-top:28px; padding-top:20px; }
.jobLinks { display:flex; flex-wrap:wrap; gap:18px 30px; margin:24px 0; }
.sourceNote { color:#5b6d7a; font-size:14px; line-height:1.5; }
.quotaNote { background:#f8f3e8; border-color:#b58a3d; margin:26px 0; }
.iecFilters { display:grid; grid-template-columns:1.4fr 1fr; gap:20px; margin:25px 0 12px; }
.iecFilters label { display:block; font-weight:800; margin-bottom:6px; }
.iecFilters input,.iecFilters select { width:100%; padding:13px; border:1px solid #bdcad4; border-radius:6px; color:#073458; background:#fff; font:inherit; }
.iecTableScroll { overflow-x:auto; border:1px solid #d6e1e8; border-radius:10px; }
.iecTableScroll:focus-visible { outline:3px solid #b58a3d; outline-offset:3px; }
.iecTable { border-collapse:collapse; width:100%; min-width:860px; text-align:left; font-size:15px; }
.iecTable caption { padding:14px 18px; text-align:left; background:#eef3f6; font-weight:700; color:#073458; }
.iecTable th,.iecTable td { padding:18px; border-bottom:1px solid #d6e1e8; vertical-align:top; }
.iecTable thead th { background:#073458; color:#fff; }
.iecTable thead small { font-weight:400; }
.iecTable tbody th { width:20%; color:#073458; background:#f7f9fa; }
.iecTable td { width:26.66%; }
.iecTable td>strong,.iecTable td>span,.iecTable td>small { display:block; }
.iecTable td>strong { color:#073458; margin-bottom:4px; }
.iecTable td>small { margin-top:9px; color:#526673; font-size:12px; max-width:250px; }
.iecTable tr:last-child td,.iecTable tr:last-child th { border-bottom:0; }
.notOffered { color:#687986; }
[hidden] { display:none !important; }
@media(max-width:800px) { .jobColumns,.jobCards,.jobSteps { grid-template-columns:1fr; gap:16px; } .iecFilters { grid-template-columns:1fr; } .jobBoundary { padding:22px; } .jobHero h1 { font-size:clamp(42px,8vw,60px); } .jobLinks { flex-direction:column; } }
