.btn-outline{border:2px solid var(--teal);color:var(--teal);font-family:Montserrat,sans-serif;font-weight:700;padding:10px 20px;border-radius:8px;transition:all .3s ease;display:inline-block;text-decoration:none;font-size:13px}.btn-outline:hover{background:var(--teal);color:#fff}.overview-panel{background:linear-gradient(180deg,#fff 0,#f8f9fa 100%);border:1px solid var(--gray-200);border-radius:24px;padding:32px;box-shadow:0 18px 44px rgba(16,24,30,.06)}.follow-card,.job-shell,.location-card,.metric-card,.why-card{background:#fff;border:1px solid var(--gray-200);border-radius:22px;box-shadow:0 14px 32px rgba(16,24,30,.05)}.metric-card{padding:24px}.metric-card-value{font-family:Montserrat,sans-serif;font-size:34px;line-height:1;color:var(--ct-blue);margin-bottom:10px}.why-card{padding:28px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.disc-card:hover,.follow-card:hover,.job-card:hover,.location-card:hover,.why-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px rgba(16,24,30,.08);border-color:rgba(0,96,151,.18)}.why-icon{width:52px;height:52px;border-radius:14px;background:rgba(95,152,34,.1);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.location-card{padding:28px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.location-badge{display:inline-flex;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}.location-chip{font-size:11px;padding:5px 10px;border-radius:999px;background:rgba(23,51,69,.06);color:var(--gray-700);font-weight:700}.disc-card{background:#fff;border:1px solid var(--gray-200);border-radius:18px;padding:20px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.disc-card:hover .disc-arrow{opacity:1;transform:translateX(0)}.disc-icon-wrap{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.disc-name{font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;color:var(--gray-900);line-height:1.3}.disc-collar{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:2px 8px;border-radius:99px;display:inline-block;width:fit-content}.collar-white{background:rgba(26,77,122,.08);color:var(--ct-blue)}.collar-blue{background:rgba(245,158,11,.1);color:#92400e}.collar-support{background:rgba(107,114,128,.12);color:#4b5563}.disc-arrow{position:absolute;bottom:16px;right:16px;opacity:0;transform:translateX(-4px);transition:all .2s ease;color:var(--teal);font-size:14px}.disc-hint{font-size:11px;color:var(--gray-700)}.career-modal-overlay{position:fixed;inset:0;background:rgba(16,24,30,.52);opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 220ms ease;z-index:5100}.career-modal-overlay.active{opacity:1;visibility:visible}.career-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 220ms ease,visibility 220ms ease;z-index:5101}.career-modal.active{opacity:1;visibility:visible;pointer-events:auto}.career-modal-shell{position:relative;width:min(100%,960px);max-height:min(92vh,940px);overflow:auto;background:linear-gradient(180deg,#fff 0,#f4f7f9 100%);border-radius:26px;border:1px solid rgba(23,51,69,.12);box-shadow:0 28px 70px rgba(16,24,30,.24)}.career-modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font:400 24px/1 Montserrat,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease;z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.career-modal-close:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.24)}.career-modal-head{padding:34px 40px 30px;padding-right:88px;background:radial-gradient(circle at top right,rgba(159,215,255,.18) 0,transparent 30%),linear-gradient(135deg,#10181e 0,#173345 62%,#21485c 100%)}.career-modal-kicker{font:800 11px/1 Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#9fd7ff;margin:0 0 12px}.career-modal-head h3{margin:0 0 12px;font:700 34px/1.1 Montserrat,sans-serif;color:#fff}.career-modal-head p{margin:0;max-width:62ch;color:rgba(255,255,255,.76);line-height:1.8;font-size:15px}.career-modal-body{padding:32px 40px 38px}.career-form-shell{background:#fff;border:1px solid var(--gray-200);border-radius:28px;box-shadow:0 18px 40px rgba(16,24,30,.06);padding:32px}.career-form-intro{margin-bottom:20px}.career-form-intro p{margin:0;color:var(--gray-700);line-height:1.7}.career-form{display:flex;flex-direction:column;gap:22px}.career-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.career-field{display:flex;flex-direction:column;gap:10px;min-width:0;align-items:stretch}.career-field-full{grid-column:1/-1}.career-field span{display:block;font:700 11px/1.2 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-700)}.career-field input,.career-field select,.career-field textarea{width:100%;min-height:56px;box-sizing:border-box;border:1px solid rgba(23,51,69,.16);border-radius:14px;background:#fff;padding:14px 16px;color:var(--gray-900);font:400 15px/1.6 'Open Sans',sans-serif;outline:0;appearance:none;box-shadow:0 8px 20px rgba(16,24,30,.04)}.career-field input:focus,.career-field select:focus,.career-field textarea:focus{border-color:rgba(0,96,151,.24);box-shadow:0 0 0 4px rgba(0,96,151,.08)}.career-field textarea{resize:vertical;min-height:150px}.career-field select{padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,rgba(23,51,69,.58) 50%),linear-gradient(135deg,rgba(23,51,69,.58) 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.career-upload{display:flex;align-items:center;justify-content:flex-start;min-height:56px;border:1px dashed rgba(23,51,69,.3);border-radius:16px;padding:14px 16px;cursor:pointer;font:600 14px/1.6 'Open Sans',sans-serif;color:var(--gray-700);background:#fff;box-shadow:0 10px 24px rgba(16,24,30,.04)}.career-upload:hover{background:var(--gray-100)}.career-upload input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.career-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.career-consent{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid rgba(23,51,69,.14);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(16,24,30,.04);font:400 13px/1.7 'Open Sans',sans-serif;color:var(--gray-700)}.career-consent input{margin:3px 0 0;width:16px;height:16px;flex:0 0 auto;accent-color:var(--ct-blue)}.career-consent a{color:var(--ct-blue);font-weight:700;text-decoration:none}.career-consent a:hover{text-decoration:underline;text-underline-offset:3px}.career-form-error{min-height:20px;margin:0;color:#a12626;font:600 13px/1.5 'Open Sans',sans-serif}.career-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:4px}.career-submit{border:0;background:var(--teal);color:#fff;padding:16px 26px;border-radius:10px;font:700 13px/1 Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.career-submit:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(95,152,34,.22);background:var(--teal-hover)}.career-submit[disabled]{cursor:wait;opacity:.72;transform:none;box-shadow:none;background:var(--teal)}.career-form-note{font-size:13px;line-height:1.7;color:var(--gray-600)}.career-success{padding:4px 0 2px;display:flex;flex-direction:column;gap:14px}.career-success-kicker{margin:0;font:800 11px/1 Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}.career-success h4{margin:0;font:700 30px/1.1 Montserrat,sans-serif;color:var(--gray-900)}.career-success p{margin:0;color:var(--gray-700);line-height:1.8;font-size:15px;max-width:52ch}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .25s ease}.modal-overlay.open{opacity:1;visibility:visible}.modal-box{background:#fff;border-radius:20px;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;transform:scale(.95);transition:transform .25s ease}.modal-overlay.open .modal-box{transform:scale(1)}.modal-header{padding:24px 28px 20px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:#fff;z-index:10;border-radius:20px 20px 0 0}.modal-body{padding:24px 28px 28px}.modal-close{width:36px;height:36px;border-radius:50%;background:var(--gray-100);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease}.modal-close:hover{background:var(--gray-200)}.role-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--gray-100)}.role-item:last-child{border-bottom:none}.role-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.open-roles-section{background:radial-gradient(circle at top left,rgba(95,152,34,.08) 0,transparent 28%),linear-gradient(180deg,#f4f7f5 0,#eef4f1 100%)}.open-roles-intro{max-width:720px}.open-roles-copy{margin-top:14px;max-width:60ch;color:var(--gray-700);font-size:15px;line-height:1.75}.job-shell{padding:28px}.job-shell{border-color:rgba(95,152,34,.18);box-shadow:0 24px 52px rgba(16,24,30,.08)}.job-card{background:#fff;border:1px solid var(--gray-200);border-radius:18px;padding:22px 26px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;display:flex;align-items:center;justify-content:space-between;gap:16px}.job-dept{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.job-title{font-family:Montserrat,sans-serif;font-size:17px;font-weight:700;color:var(--gray-900);margin-bottom:6px;line-height:1.3}.job-summary{margin-top:10px;font-size:13px;line-height:1.75;color:var(--gray-700);max-width:62ch}.job-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--gray-700)}.job-meta span{display:flex;align-items:center;gap:5px}.filter-btn{padding:8px 14px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);cursor:pointer;transition:all .2s ease;box-shadow:0 8px 18px rgba(16,24,30,.04)}.filter-btn.active,.filter-btn:hover{background:var(--teal);color:#fff;border-color:var(--teal)}#jobs-loading{display:flex;align-items:center;justify-content:center;padding:60px 0;gap:12px;color:var(--gray-700)}#jobs-empty,#jobs-error{display:none;text-align:center;padding:44px 20px}.areas-hire-section{background:linear-gradient(180deg,#fff 0,#fafcfd 100%)}.areas-hire-intro h2{font-size:32px;color:var(--gray-900)}.areas-hire-intro .text-body-muted{max-width:56ch;margin-left:auto;margin-right:auto;font-size:16px}.areas-hire-legend{opacity:.8}.areas-hire-section .disc-card{border-color:rgba(23,51,69,.1);background:linear-gradient(180deg,#fff 0,#fbfcfd 100%);box-shadow:0 10px 24px rgba(16,24,30,.04)}.areas-hire-section .disc-name{font-size:13px}.areas-hire-section .disc-hint{font-size:10px;color:var(--gray-600)}.future-opportunities-section{background:linear-gradient(180deg,#fff 0,#f8fafb 100%)}.future-opportunities-copy{max-width:560px}.future-opportunities-title{max-width:18ch}.future-opportunities-copy .btn-primary{background:var(--ct-blue)}.future-opportunities-copy .btn-primary:hover{background:#143f67}.future-follow-card{background:linear-gradient(180deg,#fff 0,#f8fafb 100%);border-style:dashed;border-color:rgba(23,51,69,.18);box-shadow:none}.dept-engineering{background:rgba(26,77,122,.1);color:var(--ct-blue)}.dept-pm{background:rgba(95,152,34,.1);color:var(--teal)}.dept-procurement{background:rgba(245,158,11,.1);color:#92400e}.dept-construction{background:rgba(16,185,129,.1);color:#065f46}.dept-hse{background:rgba(239,68,68,.1);color:#991b1b}.dept-qaqc{background:rgba(139,92,246,.1);color:#5b21b6}.dept-trades{background:rgba(249,115,22,.1);color:#9a3412}.dept-ei{background:rgba(6,182,212,.1);color:#164e63}.dept-estimation{background:rgba(236,72,153,.1);color:#9d174d}.dept-finance{background:rgba(99,102,241,.1);color:#3730a3}.dept-legal{background:rgba(31,58,95,.12);color:#1f3a5f}.dept-bd{background:rgba(20,184,166,.1);color:#134e4a}.dept-hr{background:rgba(156,163,175,.2);color:#374151}.dept-it{background:rgba(59,130,246,.1);color:#1e40af}.dept-support{background:rgba(107,114,128,.16);color:#4b5563}@media(max-width:768px){.open-roles-copy{font-size:14px}.job-card{flex-direction:column;align-items:flex-start}.job-apply{width:100%}.job-apply a{display:block;text-align:center}.career-modal{padding:12px;align-items:center}.career-modal-shell{width:100%;max-height:calc(100vh - 24px);border-radius:22px}.career-modal-close{top:14px;right:14px;width:38px;height:38px}.career-modal-head{padding:24px 22px 22px;padding-right:72px}.career-modal-head h3{font-size:28px}.career-modal-body{padding:22px 18px 24px}.career-form-shell{padding:24px}.career-form-grid{grid-template-columns:1fr}.career-submit{width:100%}.career-success h4{font-size:26px}}.modal-title{font-size:20px;margin:0}.modal-desc{color:var(--gray-700)}.modal-footer-divider{border-top:1px solid var(--gray-100)}.modal-cta-sm{font-size:13px;padding:10px 20px}.modal-speculative-link{font-size:13px}

/* Accessible touch targets for filtering and modal controls. */
.filter-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px}
.modal-close,.career-modal-close{width:44px;height:44px;min-width:44px;min-height:44px}

/* Keep the field-team faces and helmets in frame on wide desktop heroes. */
@media (min-width:769px){
  .page-hero .hero-visual>img{object-position:center 30%}
}

/* Native discipline buttons retain the established card layout. */
.disc-card{text-align:left;font:inherit;color:inherit;width:100%;appearance:none}
.disc-copy,.disc-name,.disc-hint{display:block}
.disc-card:focus-visible{outline:3px solid var(--brand-blue);outline-offset:3px}
.modal-overlay.open{transition:opacity .25s ease}
.career-upload:focus-within{outline:3px solid var(--brand-blue);outline-offset:2px}
.btn-outline,.location-badge,.disc-arrow,.career-success-kicker,.dept-pm{color:var(--green-ink,#3f6817)}
.btn-outline{border-color:var(--green-action,#4c7b1b)}
.btn-outline{transition-property:background-color,color,border-color,transform,box-shadow}
.btn-outline:hover{background:var(--green-action,#4c7b1b);color:#fff}
.career-submit{background:var(--green-action,#4c7b1b)}
.career-submit:hover{background:var(--green-ink,#3f6817)}
