:root{--navy:#142b69;--blue:#244196;--aqua:#28adc1;--ink:#111b2d;--cream:#f4f1e9;--mist:#edf2f6;--white:#fff;--line:rgba(20,43,105,.16);--orange:#f29a2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:var(--white)}button,a{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:-9999px;top:1rem;z-index:99;background:#fff;padding:.7rem 1rem}.skip-link:focus{left:1rem}.site-header{height:88px;padding:0 clamp(1rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--navy)}.brand img{width:58px;height:58px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font-family:"League Spartan";font-size:1.35rem;letter-spacing:.03em}.brand small{text-transform:uppercase;font-size:.62rem;letter-spacing:.17em;margin-top:.25rem}.site-header nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem)}.site-header nav a{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}.site-header nav a:hover{color:var(--aqua)}.nav-cta{background:var(--navy);color:#fff;border:0;padding:.8rem 1.1rem;font-weight:700}.menu-button{display:none;background:none;border:1px solid var(--navy);padding:.55rem .75rem}.hero{min-height:calc(100vh - 88px);position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/construction-team.png') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,47,.93) 0%,rgba(8,18,47,.68) 48%,rgba(8,18,47,.1) 100%)}.hero-content{position:relative;z-index:2;width:min(760px,80%);padding:7rem clamp(1.5rem,7vw,8rem) 8rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:700;color:#8fe4ed;margin:0 0 1rem}.eyebrow.dark{color:var(--blue)}h1,h2,h3{font-family:"League Spartan",sans-serif;margin:0;line-height:.94}h1{font-size:clamp(4.2rem,9.5vw,9.4rem);letter-spacing:-.055em}h1 span{color:#55d0dc}h2{font-size:clamp(2.5rem,5vw,5.2rem);letter-spacing:-.035em}h3{font-size:clamp(1.45rem,2.5vw,2.5rem)}.hero-copy{max-width:620px;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65;margin:1.6rem 0 2rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.button{border:0;padding:1rem 1.25rem;font-weight:700;text-decoration:none;display:inline-block}.button-primary{background:var(--aqua);color:#072547}.button-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}.button-dark{background:var(--navy);color:#fff}.button-light{background:#fff;color:var(--navy)}.hero-rail{position:absolute;z-index:2;right:0;bottom:0;display:flex;background:#fff;color:var(--navy);font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.hero-rail span{padding:1rem 1.35rem;border-left:1px solid var(--line)}.section-pad{padding:clamp(5rem,9vw,9rem) clamp(1.3rem,7vw,8rem)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:start;background:var(--cream)}.intro h2{max-width:650px}.intro-copy{font-size:1.1rem;line-height:1.8;padding-top:1rem}.solutions{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:480px 480px}.solution-card{position:relative;overflow:hidden;color:#fff}.solution-card.large{grid-row:span 2}.solution-card.wide{grid-column:2}.solution-card img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.solution-card:hover img{transform:scale(1.045)}.card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,17,45,.92),rgba(5,17,45,.04) 70%)}.card-content{position:absolute;left:clamp(1.3rem,3vw,3.2rem);right:2rem;bottom:2.2rem}.card-content>p{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#9ce4ed}.card-content span{display:block;margin:.9rem 0;color:#e7edf5}.card-content button{padding:0;background:none;border:0;color:#fff;font-weight:700}.card-content button b{color:var(--aqua);margin-left:.4rem}.section-heading{max-width:850px}.section-heading>p:last-child{max-width:720px;line-height:1.7;font-size:1.05rem}.industry-list{margin-top:4rem;border-top:1px solid var(--line)}.industry-list button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font-family:"League Spartan";font-size:clamp(1.4rem,3vw,2.7rem);text-align:left}.industry-list button b{font-family:"DM Sans";font-size:.7rem;color:var(--aqua);letter-spacing:.1em}.industry-list button:hover{padding-left:1rem;color:var(--blue)}.impact-strip{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff;min-height:620px}.impact-photo img{width:100%;height:100%;object-fit:cover}.impact-copy{padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center}.impact-copy p:not(.eyebrow){line-height:1.8;color:#d7e1f4}.impact-copy a{color:#fff;text-decoration:none;font-weight:700;margin-top:1rem}.impact-copy a span{color:var(--aqua)}.training{display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;background:var(--mist);align-items:center}.training-copy>p:not(.eyebrow){line-height:1.7}.course-card{background:#fff;border-top:5px solid var(--aqua);padding:2rem;margin-top:2.5rem;box-shadow:0 18px 45px rgba(20,43,105,.08)}.course-card>div{display:flex;justify-content:space-between;gap:1rem;align-items:center}.course-card>div span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:700}.course-card>p,.course-card li{line-height:1.65}.course-card ul{columns:2;padding-left:1.1rem}.course-card small{display:block;color:#5d6677;line-height:1.5;margin:1.4rem 0}.training-image{height:700px}.training-image img{width:100%;height:100%;object-fit:cover}.bidding{position:relative;min-height:700px;color:#fff;display:grid;place-items:center}.bidding-media{position:absolute;inset:0;background:url('assets/contracts.png') center/cover no-repeat}.bidding:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,19,48,.94),rgba(7,19,48,.65),rgba(7,19,48,.25))}.bidding-content{z-index:2;width:min(760px,90%);justify-self:start;margin-left:clamp(1.3rem,8vw,10rem)}.bidding-content>p:not(.eyebrow){line-height:1.7}.bid-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.bid-tags span{border:1px solid rgba(255,255,255,.35);padding:.55rem .8rem;font-size:.8rem}.disclosure{font-size:.8rem;color:#c8d3e6}.credentials{display:flex;flex-wrap:wrap;gap:.7rem;margin:3rem 0}.credentials span{border:1px solid var(--line);padding:.75rem 1rem;color:var(--navy);font-weight:700;font-size:.83rem}.proof-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2rem;align-items:stretch}.proof-image{height:420px}.proof-image img{width:100%;height:100%;object-fit:cover}.proof-grid blockquote{margin:0;background:var(--aqua);color:#06254d;padding:3rem;display:flex;flex-direction:column;justify-content:center}.proof-grid blockquote>span{font-family:Georgia;font-size:5rem;line-height:.5}.proof-grid blockquote p{font-family:"League Spartan";font-size:clamp(1.6rem,2.7vw,2.6rem);line-height:1.1}.proof-grid cite{font-style:normal;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.about{display:grid;grid-template-columns:.9fr 1.1fr;background:#0b1e4d;color:#fff}.about-image{min-height:700px}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.about-copy{padding:clamp(4rem,9vw,9rem);display:flex;flex-direction:column;justify-content:center}.about-copy p:not(.eyebrow){line-height:1.8;color:#d8e1f1}.about-copy .button{align-self:flex-start;margin-top:1rem}.final-cta{padding:clamp(5rem,9vw,9rem) clamp(1.3rem,7vw,8rem);background:var(--aqua);color:#072448}.final-cta .eyebrow{color:#072448}.cta-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid rgba(7,36,72,.3)}.cta-grid button{padding:1.5rem 1rem 1.5rem 0;border:0;border-bottom:1px solid rgba(7,36,72,.3);background:none;color:#072448;text-align:left;display:flex;flex-direction:column;gap:.4rem}.cta-grid button b{font-size:1.2rem}.cta-grid button span{font-size:.85rem}footer{padding:4rem clamp(1.3rem,7vw,8rem) 2rem;background:#071533;color:#c9d4e8;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;font-size:.85rem}footer a{color:#c9d4e8;text-decoration:none;display:block;margin:.35rem 0}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:50%}.footer-brand div{display:flex;flex-direction:column;gap:.35rem}.footer-brand strong{color:#fff}.footer-brand span{color:#63d3df}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1.5rem;display:flex;justify-content:space-between}dialog{width:min(780px,92vw);max-height:90vh;border:0;padding:0;box-shadow:0 30px 100px rgba(5,17,45,.35);overflow:auto}dialog::backdrop{background:rgba(5,17,45,.75);backdrop-filter:blur(4px)}.dialog-head{padding:2.5rem 2.5rem 1rem}.dialog-head h2{font-size:clamp(2.3rem,5vw,4rem)}.dialog-head>p:last-child{line-height:1.6;color:#556070}.dialog-close{position:absolute;right:1rem;top:.8rem;border:0;background:none;font-size:2rem;color:var(--navy)}#inquiry-form{padding:1rem 2.5rem 2.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label,#inquiry-form label.full{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:700;color:#33405a}input,select,textarea{width:100%;padding:.8rem;border:1px solid #ccd4df;background:#fff;font:inherit}#inquiry-form label.full{margin:1rem 0}#inquiry-form small{display:block;margin-top:1rem;color:#687384;line-height:1.5}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.site-header{height:72px}.brand img{width:46px;height:46px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav a,.site-header nav button{text-align:left}.hero{min-height:780px}.hero-content{width:100%;padding:7rem 1.4rem}.hero-rail{display:none}.intro,.impact-strip,.training,.about{grid-template-columns:1fr}.solutions{grid-template-columns:1fr;grid-template-rows:repeat(4,480px)}.solution-card.large{grid-row:auto}.solution-card.wide{grid-column:auto}.training-image{height:480px;order:-1}.proof-grid{grid-template-columns:1fr}.proof-image{height:360px}.about-image{min-height:520px}.cta-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:.5rem}.course-card ul{columns:1}}@media(max-width:560px){h1{font-size:4rem}.section-pad{padding:4.5rem 1.2rem}.form-grid{grid-template-columns:1fr}.dialog-head,#inquiry-form{padding-left:1.25rem;padding-right:1.25rem}.bidding-content{margin-left:1.2rem}.proof-grid blockquote{padding:2rem}}
:root{}
.about-mark{min-height:700px;background:linear-gradient(145deg,#eef4f8 0%,#fff 58%,#d8eef2 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;position:relative;overflow:hidden}.about-mark:before,.about-mark:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(40,173,193,.25)}.about-mark:before{width:560px;height:560px}.about-mark:after{width:760px;height:760px}.about-mark img{width:min(360px,80%);height:auto;position:relative;z-index:2}.about-mark p{position:relative;z-index:2;color:var(--navy);font-family:"League Spartan";font-size:clamp(1.15rem,2vw,1.8rem);letter-spacing:.04em;margin-top:2rem}.about-mark p span{color:var(--aqua);padding:0 .15em}@media(max-width:900px){.about-mark{min-height:520px}}@media(max-width:560px){.about-mark{padding:2rem;min-height:420px}}
.bid-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.6rem 0}.bid-categories span{padding:.72rem .85rem;border-left:3px solid var(--aqua);background:rgba(255,255,255,.09);font-size:.82rem;font-weight:600}@media(max-width:560px){.bid-categories{grid-template-columns:1fr}}
.people-first{display:grid;grid-template-columns:.82fr 1.18fr;background:#f4f1e9}.people-image{min-height:650px;position:relative;overflow:hidden}.people-image img{width:100%;height:100%;object-fit:cover}.people-badge{position:absolute;right:0;bottom:0;background:var(--aqua);color:#082653;padding:1.4rem 2rem;display:flex;flex-direction:column;font-family:"League Spartan";font-size:1.5rem}.people-badge span{font-size:1rem}.people-content{padding:clamp(4rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center}.people-lead{font-size:1.08rem;line-height:1.8;max-width:760px}.people-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 2rem}.button-outline{color:var(--navy);border:1px solid var(--navy);background:transparent}.job-paths{display:flex;flex-wrap:wrap;gap:.55rem}.job-paths span{padding:.55rem .7rem;background:#fff;border:1px solid var(--line);font-size:.78rem;font-weight:700;color:var(--navy)}.future-jobs{grid-column:1/-1;padding:clamp(3rem,6vw,6rem) clamp(1.3rem,7vw,8rem);background:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:0 4rem}.future-jobs>div:first-child{grid-row:span 3;padding-right:2rem}.future-jobs>div:first-child p:last-child{line-height:1.7}.future-job-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.future-job-card>span{font-size:.7rem;font-weight:700;color:var(--aqua)}.future-job-card div{display:flex;flex-direction:column;gap:.25rem}.future-job-card small{color:#687384}.future-job-card em{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#7b8493;font-style:normal}.future-job-card button{border:0;background:none;color:var(--navy);font-weight:700}@media(max-width:900px){.people-first{grid-template-columns:1fr}.people-image{min-height:500px}.future-jobs{grid-template-columns:1fr}.future-jobs>div:first-child{grid-row:auto;padding:0 0 2rem}}@media(max-width:560px){.people-image{min-height:420px}.future-job-card{grid-template-columns:auto 1fr}.future-job-card em,.future-job-card button{grid-column:2}.people-content{padding:4rem 1.2rem}}
.bidding{display:block;min-height:0;background:#f4f7fa;color:var(--ink)}.bidding:after{display:none}.bidding-hero{position:relative;min-height:640px;color:#fff;display:grid;align-items:center;overflow:hidden}.bidding-hero .bidding-media{position:absolute;inset:0}.bidding-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,19,48,.95),rgba(7,19,48,.7),rgba(7,19,48,.28))}.bidding-content{position:relative;z-index:2}.bidding-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0}.bid-finder-head{display:flex;justify-content:space-between;gap:3rem;align-items:end}.bid-finder-head>div>p:last-child{line-height:1.6;max-width:700px}.bid-filters{margin:3rem 0 1.4rem;background:#fff;border:1px solid var(--line);padding:1rem;display:grid;grid-template-columns:1.7fr repeat(4,1fr) auto;gap:.8rem;align-items:end;box-shadow:0 14px 40px rgba(20,43,105,.06)}.bid-filters label{display:flex;flex-direction:column;gap:.4rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#42506a}.bid-filters input,.bid-filters select{height:46px;text-transform:none;letter-spacing:normal}.filter-clear{height:46px;border:1px solid var(--navy);background:#fff;color:var(--navy);padding:0 1rem;font-weight:700}.bid-results-bar{display:flex;justify-content:space-between;gap:1rem;color:#637086;font-size:.86rem;margin-bottom:1.2rem}.bid-results-bar strong{color:var(--navy)}.bid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.bid-card{background:#fff;border:1px solid var(--line);padding:1.35rem;display:flex;flex-direction:column;min-height:360px;transition:transform .2s,box-shadow .2s}.bid-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(20,43,105,.1)}.bid-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:start;margin-bottom:1.25rem}.bid-card-top span{color:var(--blue);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.bid-card-top b{background:#e5f7f9;color:#075d69;padding:.35rem .5rem;font-size:.7rem}.bid-card h3{font-size:1.65rem;line-height:1.05}.bid-agency{color:#5f6c80}.bid-card dl{margin:auto 0 1.3rem}.bid-card dl div{display:grid;grid-template-columns:88px 1fr;padding:.4rem 0;border-top:1px solid #edf0f4}.bid-card dt{text-transform:uppercase;font-size:.66rem;letter-spacing:.06em;color:#718096}.bid-card dd{margin:0;font-size:.83rem;font-weight:700}.bid-card-actions{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.bid-card-actions a{background:var(--navy);color:#fff;text-decoration:none;padding:.75rem;font-size:.82rem;font-weight:700}.bid-card-actions button{border:0;background:none;color:var(--blue);font-size:.78rem;font-weight:800}.bid-empty{background:#fff;padding:2rem;text-align:center}.platform-directory{margin-top:5rem;padding-top:3rem;border-top:1px solid var(--line);display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem}.platform-directory p:not(.eyebrow){line-height:1.6;color:#5f6c80}.platform-links{display:grid;grid-template-columns:1fr 1fr}.platform-links a{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line);color:var(--navy);font-weight:800;text-decoration:none}.platform-links a:nth-child(odd){margin-right:1.5rem}.platform-links a span{color:var(--aqua)}.support-strip{margin-top:4rem;background:var(--navy);color:#fff;padding:1.5rem 1.8rem;display:flex;justify-content:space-between;gap:2rem;align-items:center}.support-strip div{display:flex;flex-direction:column;gap:.35rem}.support-strip span{color:#d7e1f4;font-size:.9rem}.bid-disclaimer{font-size:.75rem;color:#6b7687;line-height:1.6}@media(max-width:1100px){.bid-filters{grid-template-columns:repeat(3,1fr)}.bid-search{grid-column:span 2}.bid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.bid-finder-head,.platform-directory{grid-template-columns:1fr;display:grid}.bid-finder-head{align-items:start}.platform-directory{gap:1rem}.support-strip{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.bid-filters{grid-template-columns:1fr}.bid-search{grid-column:auto}.bid-grid{grid-template-columns:1fr}.bid-results-bar{flex-direction:column}.platform-links{grid-template-columns:1fr}.platform-links a:nth-child(odd){margin-right:0}.bid-card{min-height:330px}}
.course-checkout{margin-top:1.4rem;padding:1.2rem;background:#eef7f8;border:1px solid rgba(40,173,193,.35);display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.course-checkout>div{display:flex;flex-direction:column;align-items:flex-start}.course-checkout>div span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:800}.course-checkout strong{font-family:"League Spartan";font-size:2.4rem;color:var(--navy);line-height:1}.course-checkout small{margin:.35rem 0 0;font-size:.74rem}.course-checkout .button span{color:inherit}.course-access-note{font-size:.78rem;color:#5d6677;margin-bottom:0}@media(max-width:560px){.course-checkout{align-items:stretch;flex-direction:column}.course-checkout .button{text-align:center}}

/* Show the complete job-seeker photograph without cutting off the subject. */
.people-image img{object-fit:contain;object-position:center;background:#e7e7e5}

/* Subtle motion adds energy while preserving readability and accessibility. */
@keyframes premierImageMotion{0%,100%{transform:scale(1.015) translate3d(0,0,0)}50%{transform:scale(1.075) translate3d(-.6%,.4%,0)}}
@keyframes premierBackgroundMotion{0%,100%{background-size:102%}50%{background-size:110%}}
.people-image,.impact-photo,.training-image,.proof-image,.about-image{overflow:hidden}
.solution-card img,.people-image img,.impact-photo img,.training-image img,.proof-image img,.about-image img{animation:premierImageMotion 14s ease-in-out infinite;will-change:transform}
.solution-card:nth-child(2) img,.training-image img,.proof-image:nth-child(3) img{animation-delay:-5s;animation-duration:17s}
.hero-media,.bidding-media{animation:premierBackgroundMotion 18s ease-in-out infinite;background-repeat:no-repeat}
.active-job{border-left:4px solid var(--aqua);padding-left:1rem;background:linear-gradient(90deg,rgba(40,173,193,.08),transparent)}
.active-job>span{font-size:.72rem}
@media(prefers-reduced-motion:reduce){.solution-card img,.people-image img,.impact-photo img,.training-image img,.proof-image img,.about-image img,.hero-media,.bidding-media{animation:none!important}.reveal{transition:none}}
