
.wherebox{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}
.wherebox>div{display:flex;flex-direction:column;gap:2px}.wherebox .wh-ic{font-size:1.4rem;line-height:1}
.wherebox.wh-hod{border-color:#c98500;background:color-mix(in srgb,#eda100 10%,var(--surface))}
.wherebox.wh-applicant{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--surface))}
.wherebox.wh-decision{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface))}
.curpick{display:grid;grid-template-columns:1fr 1.6fr;gap:12px;margin-bottom:10px}
@media(max-width:700px){.curpick{grid-template-columns:1fr}}
.curpick select{width:100%}
.gradekey{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px;font-size:.78rem}
.gradekey span{padding:2px 8px;border-radius:999px;border:1px solid var(--line)}
.gradekey .credit{background:color-mix(in srgb,var(--brand) 12%,transparent);border-color:var(--brand)}
.gradekey .pass{background:color-mix(in srgb,#eda100 14%,transparent);border-color:#c98500}
.gradekey .fail{background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:var(--bad)}
.eligbox{margin-top:10px;padding:12px 14px;border-radius:12px;border:1px dashed var(--brand);font-size:.88rem}
.eligbox ul{margin:6px 0 0 18px;padding:0}.eligbox li{margin:2px 0}
.eligbox .ok{color:var(--brand);font-weight:700}.eligbox .no{color:var(--bad);font-weight:700}
.wqbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25)}
.wqbar .wqb{display:flex;gap:8px;flex-wrap:wrap}

nav.main #cmenu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
#cmenu .cn-top>a,#cmenu .cn-top>button{display:flex;align-items:center;gap:4px;padding:10px 10px;border:0;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;border-radius:10px;text-decoration:none;white-space:nowrap}
#cmenu .cn-top>a:hover,#cmenu .cn-top>button:hover,#cmenu .cn-top.open>button{background:var(--tint,rgba(0,132,61,.08));color:var(--brand)}
#cmenu .cn-top.cur>a,#cmenu .cn-top.cur>button{color:var(--brand);box-shadow:inset 0 -2px 0 var(--brand)}
#cmenu .cn-dn{width:14px;height:14px;transition:transform .2s}#cmenu .cn-top.open .cn-dn{transform:rotate(180deg)}
#cmenu li{position:relative}
#cmenu .cn-sub{list-style:none;margin:0;padding:8px;position:absolute;min-width:270px;max-width:340px;background:var(--surface,#fff);color:var(--ink,#16241c);border:1px solid var(--line,#dfe6e0);border-radius:14px;box-shadow:0 22px 50px -18px rgba(6,46,28,.45);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s;z-index:60}
#cmenu .cn-sub.d1{top:calc(100% + 6px);left:0}
#cmenu .cn-sub .cn-sub{top:-9px;left:calc(100% + 4px)}
#cmenu li.flip>.cn-sub{left:auto;right:calc(100% + 4px)}
#cmenu .cn-top:last-child>.cn-sub.d1,#cmenu .cn-top:nth-last-child(2)>.cn-sub.d1{left:auto;right:0}
#cmenu li.open>.cn-sub{opacity:1;visibility:visible;transform:none}
#cmenu .cn-sub>li>a,#cmenu .cn-sub>li>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 10px;border:0;background:none;font:inherit;color:inherit;border-radius:9px;cursor:pointer;text-decoration:none;border-left:3px solid transparent}
#cmenu .cn-sub>li>a:hover,#cmenu .cn-sub>li>button:hover,#cmenu .cn-sub>li.open>a,#cmenu .cn-sub>li.open>button,#cmenu .cn-sub a:focus-visible,#cmenu .cn-sub button:focus-visible{background:var(--tint,rgba(0,132,61,.08));border-left-color:var(--brand);outline:none}
#cmenu .cn-t{display:grid;gap:1px;min-width:0}#cmenu .cn-t small,.dcard small,.dcard em{text-transform:none!important}#cmenu .cn-t b{font-weight:600;font-size:.92rem;line-height:1.3}#cmenu .cn-t small{font-size:.76rem;color:var(--muted);line-height:1.25;text-transform:none}
#cmenu .cn-ch{width:14px;height:14px;flex:none;opacity:.6}#cmenu li.flip>a .cn-ch,#cmenu li.flip>button .cn-ch{transform:rotate(180deg)}
#cmenu .cn-feat{margin-top:6px;padding:12px;border-radius:10px;background:linear-gradient(135deg,#08452A,#00843D);color:#fff;display:grid;gap:6px}
#cmenu .cn-feat span{font-size:.82rem;opacity:.9}#cmenu .cn-feat .btn{justify-self:start}
@media (max-width:1080px){nav.main #cmenu{display:none}}

.cmob{display:grid;gap:2px}.cmob details>summary{list-style:none;cursor:pointer;padding:12px 4px;font-weight:700;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.cmob details>summary::-webkit-details-marker{display:none}.cmob details>summary::after{content:"+";font-weight:800;color:var(--brand)}.cmob details[open]>summary::after{content:"–"}
.cmob details>div{padding-left:12px;border-left:2px solid var(--line);margin:4px 0 8px 4px}
.cmob .cm.d1>summary,.cmob .cm.d2>summary,.cmob .cm.d3>summary{font-weight:600;font-size:.95rem;padding:9px 4px}
.cmob .cm-l{display:block;padding:9px 4px;text-decoration:none;color:inherit;border-bottom:1px dashed var(--line);font-size:.93rem}.cmob .cm-l.d0{font-weight:700;font-size:1rem;padding:12px 4px;border-bottom:1px solid var(--line)}
.cmob .cm-all{color:var(--brand);font-weight:600}

.has-acnav{display:grid!important;grid-template-columns:290px minmax(0,1fr);gap:26px;align-items:start}
.acnav{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}
.acnav .an-h{display:grid;padding:4px 6px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.acnav .an-h small{color:var(--muted)}
.acnav details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px;border-radius:9px;font-weight:600;line-height:1.3}
.acnav details>summary::-webkit-details-marker{display:none}
.acnav details>summary::before{content:"›";display:inline-block;width:12px;color:var(--brand);font-weight:800;transition:transform .15s}.acnav details[open]>summary::before{transform:rotate(90deg)}
.acnav details>summary span{flex:1}.acnav summary i{font-style:normal;font-size:.72rem;background:var(--tint,rgba(0,132,61,.1));color:var(--brand);border-radius:999px;padding:1px 7px}
.acnav details>summary:hover{background:var(--tint,rgba(0,132,61,.08))}
.acnav details>div{padding-left:12px;margin-left:6px;border-left:2px solid var(--line)}
.acnav .an.l>summary{font-size:.9rem}.acnav .an.p>summary{font-weight:500;font-size:.86rem}
.acnav ul{list-style:none;margin:0 0 6px;padding:0 0 0 14px;font-size:.84rem;display:grid;gap:4px}
.acnav a{color:var(--brand);text-decoration:none}.acnav a:hover{text-decoration:underline}
.acnav .an-all{display:block;padding:6px 8px;font-size:.86rem;font-weight:600}.acnav .an-hod{font-size:.78rem;color:var(--muted);margin:0 8px 6px}
.acnav .an-f{border-top:1px solid var(--line);margin-top:8px;padding:10px 6px 2px;font-size:.82rem}
@media (max-width:900px){.has-acnav{grid-template-columns:1fr}.acnav{position:static;max-height:none}}
.wherebox{flex-wrap:wrap}.wherebox>div{flex:1 1 240px;min-width:0}.wherebox>a.btn{flex:none;white-space:nowrap;align-self:center}
.wqbar .btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.6)!important;background:transparent!important}
/* ---------- Advanced cascading menus: sectioned panels ---------- */
#cmenu .cn-sub.cn-panel{padding:0;min-width:0;max-width:none;width:max-content;overflow:visible}
#cmenu .cn-cols{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(230px,260px));gap:0}
#cmenu .cn-col{padding:14px 10px 12px;border-right:1px solid var(--line)}
#cmenu .cn-col:last-child{border-right:0}
#cmenu .cn-h{margin:0 0 6px 10px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);font-weight:800}
#cmenu .cn-list{list-style:none;margin:0;padding:0;display:grid;gap:1px}
#cmenu .cn-list>li>a,#cmenu .cn-list>li>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 10px;border:0;background:none;font:inherit;color:inherit;border-radius:9px;cursor:pointer;text-decoration:none;border-left:3px solid transparent}
#cmenu .cn-list>li>a:hover,#cmenu .cn-list>li.open>a,#cmenu .cn-list a:focus-visible{background:var(--tint,rgba(0,132,61,.08));border-left-color:var(--brand);outline:none}
#cmenu .cn-list .cn-sub.d2{top:-8px;left:calc(100% + 6px)}
#cmenu .cn-panel>.cn-feat{margin:0;border-radius:0 0 14px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px}
#cmenu .cn-panel>.cn-feat:empty{display:none}
#cmenu .cn-panel>.cn-feat b{font-size:.95rem}#cmenu .cn-panel>.cn-feat span{flex:1;min-width:220px}
#cmenu .cn-upd{list-style:none;margin:0;padding:0;display:flex;gap:14px;flex:1;flex-wrap:wrap}
#cmenu .cn-upd li{display:grid;max-width:260px}#cmenu .cn-upd a{color:#fff;font-weight:600;font-size:.85rem;text-decoration:underline;text-underline-offset:3px}#cmenu .cn-upd small{color:rgba(255,255,255,.75);font-size:.72rem}
#cmenu .cn-top:nth-child(n+4)>.cn-panel{left:50%;transform:translate(-50%,6px)}
#cmenu .cn-top:nth-child(n+4).open>.cn-panel{transform:translate(-50%,0)}
#cmenu .cn-top:nth-last-child(-n+3)>.cn-panel{left:auto;right:0;transform:translateY(6px)}
#cmenu .cn-top:nth-last-child(-n+3).open>.cn-panel{transform:none}
.cmob .cm-sec{margin:10px 0 2px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);font-weight:800}
.cmob .cm-l small{display:block;color:var(--muted);font-size:.78rem;font-weight:400}
@media(min-width:1101px){footer .fgrid{grid-template-columns:minmax(0,1.2fr) repeat(6,minmax(0,1fr))!important;gap:20px}}
/* Staff portal: grouped cascading menu */
.dmenu{display:flex;flex-wrap:wrap;gap:6px;background:var(--card,#fff);border:1px solid var(--line,#D8E2DB);border-radius:14px;padding:6px;margin:14px 0 6px;position:relative;z-index:30;box-shadow:0 6px 18px rgba(15,36,25,.06)}
.dm-grp{position:relative}
.dm-top{font:inherit;font-weight:700;font-size:.92rem;background:transparent;border:0;border-radius:10px;padding:9px 14px;cursor:pointer;color:inherit;display:flex;align-items:center;gap:6px}
.dm-top:hover,.dm-grp:focus-within>.dm-top{background:rgba(0,132,61,.08)}
.dm-grp.on>.dm-top,.dm-home.on{background:#00843D;color:#fff}
.dm-car{font-size:.7rem;opacity:.7}
.dm-panel{position:absolute;left:0;top:calc(100% + 6px);min-width:300px;background:var(--card,#fff);color:inherit;border:1px solid var(--line,#D8E2DB);border-radius:14px;padding:8px;box-shadow:0 22px 50px rgba(15,36,25,.18);opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s ease}
.dm-grp:hover>.dm-panel,.dm-grp:focus-within>.dm-panel{opacity:1;visibility:visible;transform:none}
.dm-grp:last-child .dm-panel{left:auto;right:0}
.dm-ph{padding:6px 10px 8px;border-bottom:1px solid var(--line,#D8E2DB);margin-bottom:4px}
.dm-ph b{display:block}.dm-ph small,.dm-item small{display:block;opacity:.7;font-size:.78rem;font-weight:400;margin-top:2px;text-transform:none;letter-spacing:0}.dm-item b,.dm-top{text-transform:none}
.dm-item{display:block;width:100%;text-align:left;font:inherit;background:transparent;border:0;border-left:3px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;color:inherit;text-decoration:none}
.dm-item:hover,.dm-item:focus{background:rgba(0,132,61,.08);border-left-color:#00843D;outline:0}
.dm-item.on{background:rgba(0,132,61,.12);border-left-color:#00843D}
.dm-dot{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:var(--bad,#C0392B);color:#fff;font-size:.7rem;line-height:18px;text-align:center}
.dm-crumb{font-size:.85rem;opacity:.75;margin:0 0 14px 4px}
@media (max-width:700px){.dm-grp{flex:1 1 45%}.dm-top{width:100%;justify-content:space-between}.dm-panel{position:fixed;left:16px!important;right:16px!important;top:auto;min-width:0;max-height:70vh;overflow:auto}}
/* All card information is shown openly (no flip-to-reveal) */
.flip,.ptc{perspective:none!important;cursor:default;min-height:0!important}
.flip-in,.ptc-in{transform:none!important;transform-style:flat!important;min-height:0!important;height:auto!important;display:flex;flex-direction:column}
.flip-f,.flip-b,.ptc-f,.ptc-b{position:static!important;transform:none!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important;overflow:visible!important}
.flip-f,.ptc-f{border-bottom:0!important;border-radius:14px 14px 0 0!important;padding-bottom:4px!important}
.flip-b,.ptc-b{border-top:0!important;border-radius:0 0 14px 14px!important;padding-top:4px!important;flex:1}
.flip-b>b:first-child,.ptc-b>h3,.ptc-b>.eyebrow{display:none}
.ptc-b{background:var(--surface)!important;color:inherit!important}
.ptc-b p{color:inherit!important}
.flip-hint{display:none}
/* Small screens: buttons wrap instead of being cut off; the page never scrolls sideways */
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
@media (max-width:700px){
 .btn,.btn span{white-space:normal!important;max-width:100%;text-align:center;justify-content:center;line-height:1.3;height:auto;flex-wrap:wrap}
 .sidebar-layout,.prose{grid-template-columns:minmax(0,1fr)!important}
 .winbox{flex-wrap:wrap;max-width:100%}
 .view .phead .btn{display:inline-flex}
}
/* Wide tables scroll inside their own box; text columns never push the page wider */
.prose{grid-template-columns:minmax(0,1fr)}
.prose>*,.sidebar-layout>*{min-width:0}
.tbl-auto{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl-auto>table{min-width:100%}
@media (max-width:1080px){.sidebar-layout{grid-template-columns:minmax(0,1fr)!important}}
@media print{.tbl-auto{overflow:visible!important}}
.flip.card .flip-f,.flip.card .flip-b{border:0!important;background:transparent!important;padding:0!important;border-radius:0!important}
.flip.card .flip-b{margin-top:10px}
.oi-bar{display:flex;justify-content:flex-end;margin:0 0 10px}
@media (max-width:700px){select.chip,.view select,.view input{max-width:100%}}
/* Online application: progress percentage */
.wpct{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 8px}
.wpct b{font-family:var(--f-display);font-size:1.25rem;color:var(--brand)}
.wpct span{font-weight:600}.wpct small{color:var(--muted);margin-left:auto}
#wprog{transition:width .35s ease}
/* Footer: call-to-action band, grouped link columns, recognition strip */
footer.ft2{padding-top:0}
.ft-cta{background:linear-gradient(120deg,rgba(242,179,61,.16),rgba(255,255,255,.04));border-bottom:1px solid rgba(255,255,255,.1)}
.ft-cta-in{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;padding-block:34px}
.ft-cta h3{font-family:var(--f-display);font-size:clamp(1.35rem,2.4vw,1.9rem);margin:6px 0;color:#fff}
.ft-cta p{margin:0;color:var(--on-deep-muted);max-width:60ch}
.ft-cta .eyebrow{color:var(--gold)}
.ft-cta-btns{display:flex;flex-wrap:wrap;gap:10px}
.ft-ghost{border:1.5px solid rgba(255,255,255,.35)!important;color:#fff!important;background:transparent!important}
.ft-ghost:hover{background:rgba(255,255,255,.1)!important}
footer .ft-grid{grid-template-columns:minmax(0,1.5fr) repeat(5,minmax(0,1fr))!important;gap:32px 28px!important;padding-top:44px}
.ft-tag{color:var(--on-deep-muted);font-size:.92rem;line-height:1.55;margin:14px 0;max-width:36ch}
.ft-contact{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.9rem;color:var(--on-deep-muted)}
.ft-contact li{display:grid;grid-template-columns:22px 1fr;gap:6px}.ft-contact a{color:#fff}
.ft-col h4{position:relative;padding-bottom:10px;margin-bottom:12px}
.ft-col h4::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--gold);border-radius:2px}
.ft-col ul{display:grid;gap:9px}
.ft-col a{transition:color .15s,padding .15s}.ft-col a:hover{color:var(--gold)}
.ft-accr{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:34px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
.ft-accr-l{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:700;margin-right:6px}
.ft-badge{font-size:.82rem;padding:6px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;background:rgba(255,255,255,.04)}
.ft-more{margin-left:auto;font-size:.88rem;color:var(--gold)!important}
.ft-top{color:var(--gold)!important;font-weight:700}
@media (max-width:1180px){footer .ft-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ft-brand{grid-column:1/-1}}
@media (max-width:640px){footer .ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ft-more{margin-left:0}.ft-cta-btns .btn{flex:1 1 auto}}
footer.ft2{padding-top:0!important}footer.ft2>.wrap{padding-top:0!important}footer.ft2 .ft-grid{margin-top:0!important;padding-top:40px!important}footer.ft2 .base{align-items:center}
/* "In pictures" photo bands */
.pband{padding-block:clamp(20px,3vw,36px)!important}
.pband-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:14px}.pband-h h2{margin:0;font-size:clamp(1.2rem,2vw,1.55rem)}
.pband-g{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:200px}
.pband-g.n3{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:230px}
.pband-g.n6{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px}
.pband-f{position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--surface-2,#e8efe9)}
.pband-f button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.pband-f img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pband-f:hover img{transform:scale(1.05)}
.pband-f figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;font-size:.8rem;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.pb-lb{position:fixed;inset:0;z-index:1000;background:rgba(4,20,12,.9);display:none;place-items:center;padding:24px}
.pb-lb.on{display:grid}.pb-lb figure{margin:0;max-width:min(1100px,96vw)}.pb-lb img{max-width:100%;max-height:80vh;border-radius:12px;display:block;margin:auto}
.pb-lb figcaption{color:#fff;text-align:center;margin-top:10px}
.pb-x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#0F2419;font-size:1.1rem;cursor:pointer}
@media (max-width:700px){.pband-g,.pband-g.n3,.pband-g.n6{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.pband-g.n3 .big{grid-column:span 2}}
@media print{.pband{display:none}}
.ppl-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ppl-c{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);color:inherit;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.ppl-c:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(0,40,20,.35)}
.ppl-c img{width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:50% 18%}
.ppl-c span{padding:10px 12px 12px;display:grid;gap:2px}.ppl-c b{font-size:.95rem;text-transform:none}.ppl-c small{color:var(--muted);font-size:.8rem;line-height:1.35;text-transform:none}
@media (max-width:900px){.ppl-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
