/* Job listings and detail pages, using the shared Devona palette and typefaces. */
#devona-site .devona-job-page { background: #fff; }
#devona-site .devona-job-eyebrow { margin: 0 0 9px; color: var(--devona-green); font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; }
#devona-site .devona-jobs-list { display: grid; gap: 16px; }
#devona-site .devona-job-card { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 30px 32px; border: 1px solid var(--devona-border); border-radius: 16px; color: inherit; background: #fff; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease; }
#devona-site .devona-job-card:is(:hover,:focus-visible) { border-color: #88b4a4; box-shadow: 0 6px 22px rgba(10,56,49,.05); }
#devona-site .devona-job-card-body { min-width: 0; }
#devona-site .devona-job-card h3 { margin: 0; color: var(--devona-forest); font: 700 23px/1.35 'Plus Jakarta Sans',sans-serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
#devona-site .devona-job-card:is(:hover,:focus-visible) h3 { color: var(--devona-green); }
#devona-site .devona-job-card-excerpt { max-width: 680px; margin: 10px 0 0; color: var(--devona-muted); font-size: 15px; line-height: 1.75; }
#devona-site .devona-job-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 17px 0 0; padding: 0; list-style: none; }
#devona-site .devona-job-meta li { display: flex; align-items: center; gap: 7px; color: var(--devona-muted); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
#devona-site .devona-job-meta .material-symbols-outlined { flex: 0 0 18px; font-size: 18px; color: var(--devona-green); }
#devona-site .devona-job-view { display: inline-flex; align-items: center; justify-content: center; gap: 14px; flex: 0 0 auto; min-height: 46px; padding: 10px 0 10px 16px; color: var(--devona-green); font-size: 14px; font-weight: 600; text-decoration: none; transition: color .2s ease; }
#devona-site .devona-job-view .material-symbols-outlined { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #eaf5ef; font-size: 20px; transition: transform .24s cubic-bezier(.2,.7,.2,1), background-color .2s ease, color .2s ease, box-shadow .24s ease; }
#devona-site .devona-job-card:is(:hover,:focus-visible) .devona-job-view { color: #064e3b; text-decoration: none; }
#devona-site .devona-job-card:is(:hover,:focus-visible) .devona-job-view .material-symbols-outlined { color: #fff; background: var(--devona-green); transform: translateX(4px) scale(1.05); box-shadow: 0 4px 12px rgba(0,108,73,.18); }
#devona-site .devona-jobs-empty { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding: 36px; border: 1px solid var(--devona-border); border-radius: 18px; background: #fff; }
#devona-site .devona-jobs-empty-icon { display: grid; place-items: center; flex: 0 0 56px; height: 56px; border-radius: 14px; color: var(--devona-green); background: #edf6f0; }
#devona-site .devona-jobs-empty-icon span { font-size: 28px; }
#devona-site .devona-jobs-empty > div:nth-child(2) { flex: 1 1 420px; min-width: 0; }
#devona-site .devona-jobs-empty h3 { margin: 0 0 10px; color: var(--devona-forest); font: 700 24px/1.4 'Plus Jakarta Sans',sans-serif; letter-spacing: -.025em; }
#devona-site .devona-jobs-empty p:not(.devona-job-eyebrow) { max-width: 700px; margin: 0; color: var(--devona-muted); font-size: 15px; line-height: 1.8; }
#devona-site .devona-jobs-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
#devona-site .devona-jobs-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--devona-border); border-radius: 8px; color: var(--devona-green); text-decoration: none; }
#devona-site .devona-jobs-pagination .current { color: #fff; background: var(--devona-green); border-color: var(--devona-green); }
#devona-site .devona-career-interest > .material-symbols-outlined { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 20px; border-radius: 12px; color: var(--devona-green); background: #eaf5ef; font-size: 28px; }
#devona-site .devona-career-interest h3 { margin: 0 0 14px; color: var(--devona-forest); font: 700 24px/1.35 'Plus Jakarta Sans',sans-serif; letter-spacing: -.025em; }
#devona-site .devona-career-interest p { margin: 0 0 22px; color: var(--devona-muted); font-size: 15px; line-height: 1.8; }
#devona-site .devona-career-interest .devona-cta { width: 100%; white-space: normal; }
#devona-site .devona-career-interest .devona-job-fine-print { margin: 14px 0 0; font-size: 12px; line-height: 1.6; }

#devona-site .devona-job-hero { padding: 36px 0 60px; color: #fff; background: radial-gradient(ellipse at 85% 0%,#155344 0%,transparent 60%),var(--devona-deep); }
#devona-site .devona-job-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #b3d4c9; font-size: 14px; text-decoration: none; }
#devona-site .devona-job-back .material-symbols-outlined { font-size: 18px; transform: rotate(180deg); }
#devona-site .devona-job-back:hover { color: #6ffbbe; }
#devona-site .devona-job-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 290px; align-items: end; gap: 64px; margin-top: 32px; }
#devona-site .devona-job-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 20px; color: #6ffbbe; font-size: 12px; font-weight: 600; line-height: 1.7; letter-spacing: .07em; text-transform: uppercase; }
#devona-site .devona-job-kicker > span { color: #699f8f; }
#devona-site .devona-job-hero h1 { max-width: 820px; margin: 0; color: #fff; font: 750 clamp(32px,4.2vw,54px)/1.16 'Plus Jakarta Sans',sans-serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
#devona-site .devona-job-intro { max-width: 740px; margin: 24px 0 0; color: #bad4cb; font-size: 17px; line-height: 1.85; }
#devona-site .devona-job-hero .devona-job-meta { margin-top: 26px; gap: 12px 24px; }
#devona-site .devona-job-hero .devona-job-meta li { color: #d0e4dc; }
#devona-site .devona-job-hero .devona-job-meta .material-symbols-outlined { color: #6ffbbe; }
#devona-site .devona-job-hero-action { padding-bottom: 4px; }
#devona-site .devona-job-hero-action .devona-cta { min-height: 54px; width: 100%; justify-content: space-between; padding-inline: 22px; background: #6ffbbe; color: #052a24; box-shadow: none; }
#devona-site .devona-job-hero-action .devona-cta:hover { background: #94ffd0; }
#devona-site .devona-job-hero-action .devona-cta > span { background: rgba(5,42,36,.1); }
#devona-site .devona-job-hero-action > p:not(.devona-job-status) { margin: 12px 0 0; color: #bad4cb; font-size: 11px; text-align: center; }
#devona-site .devona-job-status { display: inline-block; margin: 0; padding: 10px 16px; border: 1px solid #548878; border-radius: 9px; color: #d3e9df; font-size: 13px; }
#devona-site .devona-job-hero a:focus-visible { outline-color: #6ffbbe; }
#devona-site .devona-job-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 80px; padding-block: 64px 88px; }
#devona-site .devona-job-description { min-width: 0; color: #465c53; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
#devona-site .devona-job-description h2 { margin: 38px 0 17px; color: var(--devona-forest); font: 700 27px/1.35 'Plus Jakarta Sans',sans-serif; letter-spacing: -.025em; }
#devona-site .devona-job-description > h2:first-child { margin-top: 0; }
#devona-site .devona-job-description h3 { margin: 28px 0 12px; color: var(--devona-forest); font: 700 21px/1.4 'Plus Jakarta Sans',sans-serif; }
#devona-site .devona-job-description p { margin: 0 0 20px; }
#devona-site .devona-job-description :is(ul,ol) { padding-left: 23px; margin: 0 0 24px; }
#devona-site .devona-job-description ul { list-style: disc; }
#devona-site .devona-job-description ol { list-style: decimal; }
#devona-site .devona-job-description li { padding-left: 5px; }
#devona-site .devona-job-description li + li { margin-top: 9px; }
#devona-site .devona-job-description li::marker { color: var(--devona-green); }
#devona-site .devona-job-description a { color: var(--devona-green); text-underline-offset: 4px; }
#devona-site .devona-job-description :is(img,video,iframe) { max-width: 100%; }
#devona-site .devona-job-description figure { margin: 24px 0; }
#devona-site .devona-job-description .alignwide, #devona-site .devona-job-description .alignfull { width: 100%; max-width: 100%; margin-inline: 0; }
#devona-site .devona-job-text-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; margin-top: 28px; font-size: 14px; font-weight: 600; }
#devona-site .devona-job-text-link .material-symbols-outlined { font-size: 18px; transform: rotate(180deg); }
#devona-site .devona-job-external-icon { transform: rotate(-45deg); }
#devona-site .devona-job-notice { padding: 24px; margin-bottom: 32px; border: 1px solid #d6e5dc; border-left: 4px solid var(--devona-green); border-radius: 10px; background: #f0f7f3; color: var(--devona-forest); font-size: 15px; }
#devona-site .devona-job-notice p { margin: 8px 0 0; }
#devona-site .devona-job-sidebar { min-width: 0; }
#devona-site .devona-job-overview { padding: 30px; border: 1px solid var(--devona-border); border-radius: 16px; background: #f8fbf9; }
#devona-site .devona-job-overview h2 { margin: 0; color: var(--devona-forest); font: 700 25px/1.3 'Plus Jakarta Sans',sans-serif; letter-spacing: -.03em; }
#devona-site .devona-job-overview dl { display: grid; gap: 19px; margin: 26px 0 28px; }
#devona-site .devona-job-overview dl > div { padding-bottom: 17px; border-bottom: 1px solid #e0e9e3; }
#devona-site .devona-job-overview dl > div:last-child { padding-bottom: 0; border: 0; }
#devona-site .devona-job-overview dt { margin: 0 0 3px; color: var(--devona-muted); font-size: 12px; line-height: 1.7; }
#devona-site .devona-job-overview dd { margin: 0; color: var(--devona-forest); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
#devona-site .devona-job-overview .devona-cta { width: 100%; min-height: 50px; justify-content: space-between; padding-inline: 18px; white-space: normal; }
#devona-site .devona-job-open-state { display: flex; align-items: center; gap: 7px; }
#devona-site .devona-job-open-state::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
#devona-site .devona-job-fine-print { margin: 14px 0 0; color: var(--devona-muted); font-size: 12px; line-height: 1.75; }
#devona-site .devona-job-team-note { margin-top: 22px; padding: 28px 30px; border-radius: 16px; background: #eaf4ee; }
#devona-site .devona-job-team-note > .material-symbols-outlined { color: var(--devona-green); font-size: 28px; }
#devona-site .devona-job-team-note h2 { margin: 14px 0; color: var(--devona-forest); font: 700 23px/1.4 'Plus Jakarta Sans',sans-serif; letter-spacing: -.03em; }
#devona-site .devona-job-team-note p { margin: 0 0 18px; color: #4b685a; font-size: 14px; line-height: 1.8; }
#devona-site .devona-job-team-note a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--devona-green); font-size: 13px; font-weight: 600; text-underline-offset: 4px; }
#devona-site .devona-job-talent-banner { padding-block: 48px; background: #edf6f0; border-top: 1px solid #e1ebe4; }
#devona-site .devona-job-talent-banner > .devona-shell { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
#devona-site .devona-job-talent-banner h2 { margin: 0 0 12px; color: var(--devona-forest); font: 700 30px/1.35 'Plus Jakarta Sans',sans-serif; letter-spacing: -.03em; }
#devona-site .devona-job-talent-banner p:not(.devona-job-eyebrow) { margin: 0; color: var(--devona-muted); font-size: 15px; }

@media (max-width: 1023px) {
  #devona-site .devona-job-hero-grid { gap: 32px; grid-template-columns: minmax(0,1fr) 250px; }
  #devona-site .devona-job-layout { grid-template-columns: minmax(0,1fr) 290px; gap: 36px; }
  #devona-site .devona-job-overview { padding: 24px; }
}
@media (max-width: 767px) {
  #devona-site .devona-job-hero { padding-block: 24px 40px; }
  #devona-site .devona-job-hero-grid { grid-template-columns: minmax(0,1fr); gap: 28px; margin-top: 28px; }
  #devona-site .devona-job-kicker { margin-bottom: 17px; font-size: 11px; }
  #devona-site .devona-job-intro { margin-top: 20px; font-size: 16px; }
  #devona-site .devona-job-hero-action { max-width: 340px; }
  #devona-site .devona-job-hero-action > p:not(.devona-job-status) { text-align: left; }
  #devona-site .devona-job-layout { grid-template-columns: minmax(0,1fr); gap: 40px; padding-block: 40px 56px; }
  #devona-site .devona-job-description h2 { font-size: 24px; }
  #devona-site .devona-job-description { font-size: 15px; }
  #devona-site .devona-job-card { align-items: flex-start; flex-direction: column; gap: 14px; padding: 24px; }
  #devona-site .devona-job-card h3 { font-size: 21px; }
  #devona-site .devona-job-meta { gap: 10px 16px; }
  #devona-site .devona-job-view { padding-left: 0; }
  #devona-site .devona-jobs-empty { align-items: flex-start; gap: 20px; padding: 24px; }
  #devona-site .devona-jobs-empty > div:nth-child(2) { flex-basis: 100%; }
  #devona-site .devona-jobs-empty h3 { font-size: 23px; }
  #devona-site .devona-jobs-empty .devona-cta { white-space: normal; }
  #devona-site .devona-job-talent-banner > .devona-shell { flex-direction: column; align-items: flex-start; gap: 24px; }
  #devona-site .devona-job-talent-banner h2 { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  #devona-site .devona-job-card,
  #devona-site .devona-job-view,
  #devona-site .devona-job-view .material-symbols-outlined { transition: none; }
  #devona-site .devona-job-card:is(:hover,:focus-visible) .devona-job-view .material-symbols-outlined { transform: none; }
}
