/* Career + job detail pages. Follows the site theme: primary #587b26, secondary #008b6a, text #171717. */
.career-page{--c-green:#587b26;--c-green-dark:#46631e;--c-green-soft:#eff4e7;--c-teal:#008b6a;--c-text:#171717;--c-muted:#6b6b6b;--c-line:#e5e1e1;--c-shadow:rgb(149 157 165 / 20%) 0px 8px 24px;
	border-top: 1px solid #ddd;padding: 50px 0 70px;color: var(--c-text);}
.career-page.fixed-page-width{margin-bottom: 0;}
.career-page h1,.career-page h2,.career-page h3{font-family: 'Gotham', sans-serif;}
.career-page p{font-family: 'Arial', sans-serif;}

/* Intro */
.career-hero{text-align: center;max-width: 760px;margin: 0 auto 40px;}
.career-eyebrow{display: inline-block;font-size: 13px;font-weight: 700;letter-spacing: 2px;text-transform: uppercase;color: var(--c-teal);margin-bottom: 10px;}
.career-hero h1{font-size: 38px;font-weight: 600;color: var(--c-green);margin: 0 0 14px;}
.career-hero p{font-size: 16px;line-height: 1.7;color: #4c4c4c;margin: 0;}

/* Openings header */
.openings-head{display: flex;align-items: flex-end;justify-content: space-between;flex-wrap: wrap;gap: 10px;padding-bottom: 14px;margin-bottom: 26px;border-bottom: 1px solid var(--c-line);}
.openings-head h2{font-size: 26px;font-weight: 600;color: var(--c-text);margin: 0;}
.openings-count{display: inline-flex;align-items: center;gap: 8px;background: var(--c-green-soft);color: var(--c-green);font-size: 13px;font-weight: 700;padding: 6px 14px;border-radius: 50px;}
.openings-count:before{content: '';width: 8px;height: 8px;border-radius: 50%;background: var(--c-green);box-shadow: 0 0 0 3px rgba(88,123,38,.2);}

/* Job cards */
.job-grid{display: flex;flex-wrap: wrap;margin: 0 -12px;}
.job-grid > div{display: flex;padding: 0 12px;margin-bottom: 24px;}
.job-card{position: relative;display: flex;flex-direction: column;width: 100%;background: #fff;border: 1px solid var(--c-line);border-radius: 12px;padding: 24px 24px 20px;color: var(--c-text);box-shadow: var(--c-shadow);overflow: hidden;transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.job-card:before{content: '';position: absolute;left: 0;top: 0;bottom: 0;width: 4px;background: var(--c-green);transform: scaleY(0);transform-origin: top;transition: transform .25s ease;}
.job-card:hover,.job-card:focus{color: var(--c-text);text-decoration: none;transform: translateY(-4px);border-color: rgba(88,123,38,.35);box-shadow: rgb(88 123 38 / 18%) 0px 12px 28px;}
.job-card:hover:before,.job-card:focus:before{transform: scaleY(1);}
.job-card:focus-visible{outline: 2px solid var(--c-green);outline-offset: 3px;}
.job-tag{display: inline-block;background: var(--c-green-soft);color: var(--c-green);font-size: 11px;font-weight: 700;letter-spacing: .8px;text-transform: uppercase;padding: 5px 12px;border-radius: 50px;margin-bottom: 14px;align-self: flex-start;}
.job-card h3{font-size: 19px;font-weight: 600;line-height: 1.4;margin: 0 0 10px;transition: color .2s ease;}
.job-card:hover h3{color: var(--c-green);}
.job-meta{display: flex;flex-wrap: wrap;gap: 6px 18px;font-size: 13px;color: var(--c-muted);margin-bottom: 14px;}
.job-meta i{color: var(--c-teal);margin-right: 6px;}
.job-card .job-excerpt{font-size: 14px;line-height: 1.65;color: #4c4c4c;margin: 0 0 18px;}
.job-card .job-link{margin-top: auto;display: inline-flex;align-items: center;gap: 8px;font-size: 14px;font-weight: 700;color: var(--c-green);}
.job-card .job-link i{transition: transform .25s ease;}
.job-card:hover .job-link i{transform: translateX(5px);}
.job-empty{text-align: center;background: #f7f7f5;border: 1px dashed #cfd8c2;border-radius: 12px;padding: 40px 20px;color: var(--c-muted);font-size: 15px;}
.job-empty i{display: block;font-size: 34px;color: var(--c-green);margin-bottom: 12px;}

/* General resume section */
.resume-block{margin-top: 30px;border-radius: 14px;overflow: hidden;box-shadow: var(--c-shadow);background: #fff;}
.resume-block > .row{margin: 0;display: flex;flex-wrap: wrap;}
.resume-block > .row > div{padding: 0;display: flex;flex-direction: column;}
.resume-block > .row > div > *{flex: 1;}
.resume-intro{background: linear-gradient(145deg, #587b26 0%, #46631e 55%, #008b6a 140%);color: #fff;padding: 40px 36px;}
.resume-intro .career-eyebrow{color: #d7e6c0;}
.resume-intro h3{font-size: 28px;font-weight: 600;color: #fff;margin: 0 0 14px;}
.resume-intro p{font-size: 15px;line-height: 1.7;color: rgba(255,255,255,.88);margin: 0 0 22px;}
.resume-points li{position: relative;padding-left: 30px;margin-bottom: 12px;font-size: 14px;color: #fff;}
.resume-points li i{position: absolute;left: 0;top: 1px;width: 20px;height: 20px;line-height: 20px;text-align: center;border-radius: 50%;background: rgba(255,255,255,.18);font-size: 11px;}
.resume-mail{margin-top: 24px;padding-top: 18px;border-top: 1px solid rgba(255,255,255,.2);font-size: 14px;}
.resume-mail a{color: #fff;font-weight: 700;text-decoration: underline;}
.resume-mail a:hover{color: #d7e6c0;}
.resume-form{padding: 36px;}
.resume-form .form-group{margin-bottom: 18px;}
.resume-form label{display: block;font-size: 13px;font-weight: 700;color: var(--c-text);margin-bottom: 6px;}
.resume-form label .req{color: #c0392b;}
.resume-form .form-control{height: 46px;border-radius: 8px;border: 1px solid #d6d6d6;box-shadow: none;font-size: 14px;color: var(--c-text);padding: 10px 14px;transition: border-color .2s ease, box-shadow .2s ease;}
.resume-form .form-control:focus{border-color: var(--c-green);box-shadow: 0 0 0 3px rgba(88,123,38,.15);}
.resume-form textarea.form-control{height: 120px;resize: vertical;}
.resume-form .form-control.parsley-error{border-color: #c0392b;}
.resume-upload{position: relative;display: block;border: 2px dashed #c5d3b1;border-radius: 10px;background: #fafcf7;padding: 20px 14px;text-align: center;cursor: pointer;margin: 0;font-weight: 400 !important;transition: border-color .2s ease, background .2s ease;}
.resume-upload:hover,.resume-upload.is-dragover{border-color: var(--c-green);background: var(--c-green-soft);}
.resume-upload.has-file{border-style: solid;border-color: var(--c-green);background: var(--c-green-soft);}
.resume-upload i{display: block;font-size: 26px;color: var(--c-green);margin-bottom: 6px;}
.resume-upload .upload-title{display: block;font-size: 14px;font-weight: 700;color: var(--c-text);}
.resume-upload .upload-hint{display: block;font-size: 12px;color: var(--c-muted);margin-top: 2px;}
.resume-upload input[type=file]{position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity: 0;cursor: pointer;}
.resume-hp{position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden;}
.resume-submit{display: inline-flex;align-items: center;justify-content: center;gap: 10px;width: 100%;background: var(--c-green);border: 1px solid var(--c-green);border-radius: 50px;padding: 13px 20px;font-size: 15px;font-weight: 700;letter-spacing: .5px;text-transform: uppercase;color: #fff;cursor: pointer;transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;}
.resume-submit:hover,.resume-submit:focus{background: var(--c-teal);border-color: var(--c-teal);box-shadow: 0 8px 18px rgba(0,139,106,.25);outline: none;}
.resume-submit[disabled]{opacity: .7;cursor: wait;}
.resume-privacy{font-size: 12px;color: var(--c-muted);text-align: center;margin: 12px 0 0;}
.resume-alert{display: flex;align-items: flex-start;gap: 10px;font-size: 14px;border-radius: 8px;border: 0;padding: 12px 14px;margin-bottom: 20px;}
.resume-alert.alert-success{background: var(--c-green-soft);color: var(--c-green-dark);}
.resume-alert.alert-danger{background: #fdecea;color: #a93226;}
.resume-alert i{margin-top: 2px;}
.career-page .parsley-errors-list{color: #c0392b;font-size: 12px;margin-top: 5px;}
.career-page .parsley-errors-list li{list-style: none;}

/* Job detail page */
.job-back{display: inline-flex;align-items: center;gap: 8px;font-size: 14px;font-weight: 700;color: var(--c-green);margin-bottom: 18px;}
.job-back:hover{color: var(--c-teal);}
.job-back i{transition: transform .2s ease;}
.job-back:hover i{transform: translateX(-4px);}
.job-detail-card{background: #fff;border: 1px solid var(--c-line);border-radius: 14px;box-shadow: var(--c-shadow);padding: 32px 36px;margin-bottom: 30px;}
.job-detail-card h1{font-size: 30px;font-weight: 600;color: var(--c-green);line-height: 1.3;margin: 0 0 12px;}
.job-detail-card .job-meta{font-size: 14px;padding-bottom: 18px;margin-bottom: 22px;border-bottom: 1px solid var(--c-line);}
.job-detail-card .job-body{font-size: 15px;line-height: 1.75;color: #333;}
.job-detail-card .job-body p{margin-bottom: 12px;}
.job-detail-card .job-body h1,.job-detail-card .job-body h2,.job-detail-card .job-body h3,.job-detail-card .job-body h4,.job-detail-card .job-body h5,.job-detail-card .job-body h6,.job-detail-card .job-body strong{color: var(--c-text);}
.job-detail-card .job-body ul{margin: 0 0 14px;}
.job-detail-card .job-body ul li{position: relative;list-style: none;padding-left: 22px;margin-bottom: 8px;font-family: 'Arial', sans-serif;}
.job-detail-card .job-body ul li:before{content: '';position: absolute;left: 4px;top: 10px;width: 7px;height: 7px;border-radius: 50%;background: var(--c-green);}
.job-detail-card .job-cta{display: inline-flex;align-items: center;gap: 10px;margin-top: 10px;background: var(--c-green);color: #fff;border-radius: 50px;padding: 12px 32px;font-size: 15px;font-weight: 700;text-transform: uppercase;transition: background .2s ease;}
.job-detail-card .job-cta:hover{background: var(--c-teal);color: #fff;}
.apply-panel{position: sticky;top: 110px;}

@media (max-width: 991px){
	.resume-intro{padding: 32px 26px;}
	.resume-form{padding: 28px 24px;}
	.apply-panel{position: static;}
}
@media (max-width: 767px){
	.career-page{padding: 30px 0 50px;}
	.career-hero h1{font-size: 30px;}
	.openings-head h2{font-size: 22px;}
	.job-grid > div{width: 100%;}
	.job-card{padding: 20px 18px 18px;}
	.resume-intro h3{font-size: 24px;}
	.job-detail-card{padding: 24px 20px;}
	.job-detail-card h1{font-size: 24px;}
}
@media (prefers-reduced-motion: reduce){
	.career-page *{transition: none !important;}
}

/* Job detail layout: description + sticky apply panel side by side on desktop */
.apply-panel{margin-top: 0;}
.apply-panel .resume-intro{padding: 26px 36px;}
.apply-panel .resume-intro h3{font-size: 22px;margin: 0;}
@media (min-width: 992px){
	.job-layout{display: flex;align-items: stretch;}
	.job-layout > div{float: none;}
	.job-detail-card .job-cta{display: none;}
}
@media (max-width: 767px){
	.apply-panel .resume-intro{padding: 22px 20px;}
}

/* Scroll animation (site-wide .moveUp from fadeAnimation.css): stagger the second card in each row */
.job-grid > .moveUp.in-view:nth-child(even){animation-delay: .15s;}
.job-layout > div:last-child .moveUp.in-view{animation-delay: .2s;}
@media (prefers-reduced-motion: reduce){
	.career-page .moveUp{visibility: visible;animation: none !important;}
}
