/* Landing-page design language for the public jobs catalogue. */
body[data-peso-page='jobs'] > .container {
    width: min(calc(100% - 44px), 1480px) !important;
    max-width: 1480px !important;
    margin-inline: auto !important;
    padding: 28px 0 70px !important;
}

body[data-peso-page='jobs'] .page-header {
    position: relative;
    isolation: isolate;
    display: grid;
    align-content: center;
    min-height: 236px;
    margin: 0 0 22px !important;
    padding: clamp(30px, 4vw, 52px) !important;
    overflow: hidden;
    color: var(--market-ink) !important;
    background:
        radial-gradient(circle at 88% 20%, color-mix(in srgb, var(--market-gold) 13%, transparent), transparent 17rem),
        linear-gradient(120deg, var(--market-surface), var(--market-surface-soft)) !important;
    border: 1px solid var(--market-line) !important;
    border-radius: 16px !important;
    box-shadow: var(--market-shadow-sm) !important;
}

/* An ID anchors this public-only header above the authenticated-page contract. */
html body[data-peso-page='jobs'] #jobsCatalogueHeader {
    min-height: 260px !important;
    padding: clamp(32px, 4vw, 54px) !important;
    background:
        radial-gradient(circle at 88% 18%, rgba(244,204,82,.24), transparent 18rem),
        linear-gradient(118deg, #063b27 0%, #087443 66%, #0b5b3b 100%) !important;
    border-radius: 18px !important;
}

html body[data-peso-page='jobs'] #jobsCatalogueHeader h1 { color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: clamp(42px, 4.4vw, 72px) !important; line-height: .98 !important; }
html body[data-peso-page='jobs'] #jobsCatalogueHeader p { color: rgba(255,255,255,.91) !important; -webkit-text-fill-color: currentColor !important; font-size: 17px !important; line-height: 1.65 !important; }
html body[data-peso-page='jobs'] #jobsCatalogueHeader .page-eyebrow { color: #ffe389 !important; -webkit-text-fill-color: currentColor !important; font-size: 12.5px !important; }

body[data-peso-page='jobs'] .page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .28;
    background-image:
        linear-gradient(color-mix(in srgb, var(--market-brand) 9%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--market-brand) 9%, transparent) 1px, transparent 1px);
    background-size: 30px 30px;
    -webkit-mask-image: linear-gradient(90deg, #000, transparent 72%);
    mask-image: linear-gradient(90deg, #000, transparent 72%);
}

body[data-peso-page='jobs'] .page-header::after {
    content: '\f0b1';
    position: absolute;
    right: clamp(35px, 8vw, 128px);
    z-index: -1;
    display: grid;
    place-items: center;
    width: 132px;
    height: 132px;
    color: var(--market-brand);
    background: var(--market-brand-soft);
    border: 1px solid color-mix(in srgb, var(--market-brand) 25%, var(--market-line));
    border-radius: 50%;
    font-family: 'Font Awesome 6 Free';
    font-size: 3.4rem;
    font-weight: 900;
    opacity: .78;
}

body[data-peso-page='jobs'] .page-back-link {
    position: absolute;
    top: 18px;
    left: clamp(28px, 4vw, 52px);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--market-muted) !important;
    font-size: .72rem;
    font-weight: 700;
    text-decoration: none;
}

body[data-peso-page='jobs'] .page-back-link:hover { color: var(--market-brand) !important; }

/* Keep every legacy text element on the same contrast-safe colour system. */
body[data-peso-page='jobs'] .page-back-link,
body[data-peso-page='jobs'] .results-count,
body[data-peso-page='jobs'] :is(.company-name, .job-description, .job-meta-item),
body[data-peso-page='jobs'] .empty-state { color: var(--market-muted) !important; }
body[data-peso-page='jobs'] :is(.filter-group label, .filter-heading strong, .results-count strong,
    .job-title, .empty-state h3, .pagination :is(a, span)) { color: var(--market-ink) !important; }

body[data-peso-page='jobs'] :is(.page-back-link, .btn-clear, .pagination a, .job-title a) {
    text-decoration: none !important;
}

body[data-peso-page='jobs'] .page-eyebrow {
    width: max-content;
    max-width: calc(100% - 180px);
    margin: 14px 0 10px;
    padding: 6px 10px;
    color: var(--market-gold) !important;
    background: var(--market-gold-soft) !important;
    border: 1px solid color-mix(in srgb, var(--market-gold) 32%, var(--market-line)) !important;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

html body[data-peso-page='jobs'] .page-header h1 {
    max-width: 760px;
    margin: 0 !important;
    color: var(--market-brand) !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(2.35rem, 4.2vw, 4rem) !important;
    font-weight: 700 !important;
    letter-spacing: -.05em !important;
    line-height: 1 !important;
}

html body[data-peso-page='jobs'] .page-header p {
    max-width: 760px;
    margin: 14px 0 0 !important;
    color: var(--market-muted) !important;
    font-size: .95rem;
    line-height: 1.65;
}

body[data-peso-page='jobs'] .filters-section {
    border-radius: 16px !important;
}

body[data-peso-page='jobs'] .filter-heading-icon,
body[data-peso-page='jobs'] .filter-group :is(input, select),
body[data-peso-page='jobs'] :is(.btn-search, .btn-clear) {
    border-radius: 10px !important;
}

body[data-peso-page='jobs'] .job-card {
    border-radius: 14px !important;
}

body[data-peso-page='jobs'] .job-card .btn-view {
    border-radius: 9px !important;
}

body[data-peso-page='jobs'] .jobs-public-footer {
    margin: 0 !important;
    padding: 38px 0 18px !important;
    color: rgba(255,255,255,.82) !important;
    background: #043321 !important;
}

body[data-peso-page='jobs'] .jobs-public-footer .footer-content {
    width: min(calc(100% - 44px), 1480px) !important;
    max-width: 1480px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    text-align: left !important;
}

body[data-peso-page='jobs'] .jobs-footer-grid {
    display: grid;
    grid-template-columns: minmax(300px, 1.5fr) minmax(170px, .6fr) minmax(210px, .75fr);
    gap: clamp(32px, 6vw, 90px);
}

body[data-peso-page='jobs'] .jobs-footer-grid > div {
    display: grid;
    align-content: start;
    justify-items: start;
    gap: 8px;
}

body[data-peso-page='jobs'] .jobs-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #fff !important;
    text-decoration: none;
}

body[data-peso-page='jobs'] .jobs-footer-brand img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 50%;
}

body[data-peso-page='jobs'] .jobs-footer-brand strong,
body[data-peso-page='jobs'] .jobs-footer-heading { color: #fff !important; }
body[data-peso-page='jobs'] .jobs-footer-heading { margin-bottom: 3px; font-size: .82rem; }
body[data-peso-page='jobs'] .jobs-footer-about p { max-width: 500px; margin: 4px 0 0; color: rgba(255,255,255,.7); font-size: .78rem; line-height: 1.6; }
body[data-peso-page='jobs'] .jobs-footer-grid a { color: rgba(255,255,255,.74) !important; font-size: .76rem; text-decoration: none; }
body[data-peso-page='jobs'] .jobs-footer-grid a:hover { color: #fff !important; }

body[data-peso-page='jobs'] .jobs-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 26px !important;
    padding-top: 17px !important;
    border-top: 1px solid rgba(255,255,255,.14);
}

body[data-peso-page='jobs'] .jobs-footer-bottom p,
body[data-peso-page='jobs'] .jobs-footer-bottom a { margin: 0; color: rgba(255,255,255,.68) !important; font-size: .69rem; }

@media (min-width: 1600px) {
    body[data-peso-page='jobs'] > .container,
    body[data-peso-page='jobs'] .jobs-public-footer .footer-content {
        width: min(calc(100% - 160px), 1680px) !important;
        max-width: 1680px !important;
    }
}

@media (max-width: 760px) {
    body[data-peso-page='jobs'] > .container { width: calc(100% - 24px) !important; padding-top: 18px !important; }
    body[data-peso-page='jobs'] .page-header { min-height: 0; padding: 94px 22px 30px !important; }
    body[data-peso-page='jobs'] .page-header::after { top: 20px; right: 20px; width: 62px; height: 62px; font-size: 1.55rem; }
    body[data-peso-page='jobs'] .page-back-link { top: 21px; left: 22px; }
    body[data-peso-page='jobs'] .page-eyebrow { max-width: 100%; margin-top: 0; }
    html body[data-peso-page='jobs'] .page-header h1 { font-size: clamp(2.2rem, 12vw, 3.3rem) !important; }
    body[data-peso-page='jobs'] .jobs-public-footer .footer-content { width: calc(100% - 28px) !important; }
    body[data-peso-page='jobs'] .jobs-footer-grid { grid-template-columns: 1fr; gap: 26px; }
    body[data-peso-page='jobs'] .jobs-footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    body[data-peso-page='jobs'] *,
    body[data-peso-page='jobs'] *::before,
    body[data-peso-page='jobs'] *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* Readability pass shared by light and dark mode. */
body[data-peso-page='jobs'] { font-size: 16px !important; }

body[data-peso-page='jobs'] .page-header {
    min-height: 260px;
    color: #fff !important;
    background:
        radial-gradient(circle at 88% 18%, rgba(244,204,82,.24), transparent 18rem),
        linear-gradient(118deg, #063b27 0%, #087443 66%, #0b5b3b 100%) !important;
    border-color: rgba(255,255,255,.16) !important;
}

body[data-peso-page='jobs'] .page-header::before { opacity: .16; }
body[data-peso-page='jobs'] .page-header::after { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); }
body[data-peso-page='jobs'] .page-header .page-back-link { color: rgba(255,255,255,.86) !important; font-size: .86rem; }
body[data-peso-page='jobs'] .page-header .page-back-link:hover { color: #fff !important; }
body[data-peso-page='jobs'] .page-header .page-eyebrow { color: #ffe389 !important; background: rgba(4,42,27,.46) !important; border-color: rgba(255,227,137,.4) !important; font-size: .78rem; }
html body[data-peso-page='jobs'] .page-header h1 { color: #fff !important; font-size: clamp(2.65rem, 4.4vw, 4.55rem) !important; line-height: .98 !important; }
html body[data-peso-page='jobs'] .page-header p { max-width: 820px; color: rgba(255,255,255,.9) !important; font-size: 1.06rem !important; line-height: 1.65; }

body[data-peso-page='jobs'] .jobs-quick-paths {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 18px;
}

body[data-peso-page='jobs'] .jobs-quick-paths a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 52px;
    padding: 10px 12px;
    color: var(--market-ink) !important;
    background: var(--market-surface);
    border: 1px solid var(--market-line);
    border-radius: 13px;
    font-size: .92rem;
    font-weight: 760;
    text-decoration: none !important;
    transition: .18s ease;
}

body[data-peso-page='jobs'] .jobs-quick-paths a i { color: var(--market-brand); font-size: 1rem; }
body[data-peso-page='jobs'] .jobs-quick-paths a:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--market-brand) 55%, var(--market-line)); box-shadow: var(--market-shadow-sm); }
body[data-peso-page='jobs'] .jobs-quick-paths a.is-active { color: #fff !important; background: var(--market-brand); border-color: var(--market-brand); }
body[data-peso-page='jobs'] .jobs-quick-paths a.is-active i { color: #ffe389; }
body[data-peso-page='jobs'] .jobs-quick-paths a:focus-visible { outline: 3px solid rgba(215,165,0,.4); outline-offset: 3px; }

body[data-peso-page='jobs'] .filter-heading strong { font-size: 1.04rem !important; }
body[data-peso-page='jobs'] .filter-heading > span:last-child > span { font-size: .88rem !important; }
body[data-peso-page='jobs'] .filter-group label { font-size: .88rem !important; }
body[data-peso-page='jobs'] .filter-group :is(input, select),
body[data-peso-page='jobs'] :is(.btn-search, .btn-clear) { font-size: .96rem !important; min-height: 48px; }
body[data-peso-page='jobs'] .results-count { font-size: .96rem !important; }
body[data-peso-page='jobs'] .company-logo { width: 88px !important; height: 88px !important; }
body[data-peso-page='jobs'] .job-title { font-size: 1.27rem !important; line-height: 1.3 !important; }
body[data-peso-page='jobs'] .company-name { font-size: 1rem !important; }
body[data-peso-page='jobs'] .job-description { font-size: .96rem !important; line-height: 1.65 !important; }
body[data-peso-page='jobs'] .job-meta-item { font-size: .9rem !important; }
body[data-peso-page='jobs'] .job-tag { font-size: .8rem !important; }
body[data-peso-page='jobs'] .jobs-footer-heading { font-size: .96rem !important; }
body[data-peso-page='jobs'] .jobs-footer-about p,
body[data-peso-page='jobs'] .jobs-footer-grid a { font-size: .9rem !important; }
body[data-peso-page='jobs'] .jobs-footer-bottom p,
body[data-peso-page='jobs'] .jobs-footer-bottom a { font-size: .82rem !important; }

@media (max-width: 980px) {
    body[data-peso-page='jobs'] .jobs-quick-paths { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    body[data-peso-page='jobs'] .page-header { padding-top: 98px !important; }
    html body[data-peso-page='jobs'] .page-header h1 { font-size: clamp(2.35rem, 11vw, 3.35rem) !important; }
    html body[data-peso-page='jobs'] .page-header p { font-size: 1rem !important; }
    body[data-peso-page='jobs'] .jobs-quick-paths { grid-template-columns: 1fr 1fr; }
    body[data-peso-page='jobs'] .jobs-quick-paths a { justify-content: flex-start; }
    body[data-peso-page='jobs'] .company-logo { width: 66px !important; height: 66px !important; }
    html body[data-peso-page='jobs'] #jobsCatalogueHeader { min-height: 0 !important; padding: 98px 22px 32px !important; }
    html body[data-peso-page='jobs'] #jobsCatalogueHeader h1 { font-size: clamp(37px, 11vw, 53px) !important; }
    html body[data-peso-page='jobs'] #jobsCatalogueHeader p { font-size: 16px !important; }
}
