.buildpress-gjc-job-detail { padding: 7.5rem 1.5rem 7rem; color: var(--e-global-color-primary, #050505); background: var(--e-global-color-900224d, #ffffff); }

/* ---- Hero: media-less, editorial single column ---- */
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__hero, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__layout { width: min(100%, 75rem); margin-inline: auto; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__hero { padding-bottom: 4.5rem; border-bottom: 0.0625rem solid color-mix(in srgb, var(--e-global-color-primary, #050505) 14%, transparent); }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__hero-inner { max-width: 62rem; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__hero h1 { max-width: 20ch; margin: 1.5rem 0 0; font-family: var(--e-global-typography-primary-font-family, sans-serif); font-size: 3.5rem; font-weight: var(--e-global-typography-primary-font-weight, 700); line-height: var(--e-global-typography-primary-line-height, 1.06); letter-spacing: var(--e-global-typography-primary-letter-spacing, 0); text-wrap: balance; }

/* ---- Breadcrumb (mirrors gjc-service-hero pill breadcrumb) ---- */
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__breadcrumb { display: flex; gap: 0.45rem; align-items: center; margin: 0; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__crumb { display: inline-flex; gap: 0.375rem; align-items: center; color: var(--e-global-color-text, #333333); text-decoration: none; font-family: var(--e-global-typography-accent-font-family, sans-serif); font-size: var(--e-global-typography-accent-font-size, 0.6875rem); font-weight: 600; line-height: 1.2; transition: color 160ms ease; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__crumb:hover { color: var(--e-global-color-accent, #e3185c); }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__crumb--home svg { width: 0.8125rem; height: 0.8125rem; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__crumb--current { color: var(--e-global-color-accent, #e3185c); font-weight: 700; cursor: default; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__crumb-sep { color: color-mix(in srgb, var(--e-global-color-primary, #050505) 34%, transparent); font-family: var(--e-global-typography-text-font-family, sans-serif); font-size: 0.688rem; line-height: 1; user-select: none; }

/* ---- Layout: content + sticky aside ---- */
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.34fr); gap: 5rem; padding-top: 4rem; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__content { min-width: 0; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__content h2 { margin: 3.5rem 0 1rem; color: var(--e-global-color-primary, #050505); font-family: var(--e-global-typography-primary-font-family, sans-serif); font-size: 1.32rem; font-weight: var(--e-global-typography-primary-font-weight, 700); line-height: var(--e-global-typography-primary-line-height, 1.2); }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__content h2:first-child { margin-top: 0; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__content p, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__content li { color: var(--e-global-color-text, #333333); font-family: var(--e-global-typography-text-font-family, sans-serif); font-size: var(--e-global-typography-text-font-size, 1rem); line-height: var(--e-global-typography-text-line-height, 1.7); }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__content ul { display: grid; gap: 0.55rem; margin: 1rem 0 0; padding-left: 1.25rem; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__content a { color: var(--e-global-color-accent, #e3185c); font-weight: 700; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__content iframe { display: block; width: 100%; min-height: 52rem; margin-top: 1.5rem; border: 0; }

/* ---- Aside ---- */
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__aside { position: relative; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__aside-inner { position: sticky; top: 2rem; padding-top: 1.25rem; border-top: 0.0625rem solid color-mix(in srgb, var(--e-global-color-primary, #050505) 14%, transparent); }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__aside dl { display: grid; gap: 1rem; margin: 1.5rem 0; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__aside dl div { display: grid; gap: 0.2rem; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__aside dt { color: var(--e-global-color-text, #333333); font-family: var(--e-global-typography-accent-font-family, sans-serif); font-size: var(--e-global-typography-accent-font-size, 0.75rem); font-weight: 700; line-height: 1.2; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__aside dd { margin: 0; font-family: var(--e-global-typography-text-font-family, sans-serif); font-size: var(--e-global-typography-text-font-size, 0.875rem); line-height: var(--e-global-typography-text-line-height, 1.45); }

/* ---- Apply CTA (command button: 48px / 8px / 24px stroke icon) ---- */
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply[class], .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply[class] { display: inline-flex; gap: 0.625rem; align-items: center; justify-content: center; min-height: 3rem; padding: 0.75rem 1.125rem; color: var(--e-global-color-900224d, #ffffff); background: var(--e-global-color-primary, #050505); border: 0.0625rem solid var(--e-global-color-primary, #050505); border-radius: 0.5rem; box-shadow: none; font-family: var(--e-global-typography-01c88e1-font-family, sans-serif); font-size: var(--e-global-typography-01c88e1-font-size, 0.875rem); font-weight: var(--e-global-typography-01c88e1-font-weight, 700); line-height: var(--e-global-typography-01c88e1-line-height, 1.2); letter-spacing: var(--e-global-typography-01c88e1-letter-spacing, 0); text-decoration: none; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply svg, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply svg { display: block; flex: 0 0 auto; width: 1.5rem; height: 1.5rem; transition: transform 180ms ease; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply:hover, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply:focus-visible, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply:hover, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply:focus-visible { background: var(--e-global-color-accent, #e3185c); border-color: var(--e-global-color-accent, #e3185c); box-shadow: 0 0.7rem 1.5rem color-mix(in srgb, var(--e-global-color-accent, #e3185c) 30%, transparent); transform: translateY(-0.125rem); }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply:focus-visible, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply:focus-visible { outline: 0.125rem solid var(--e-global-color-accent, #e3185c); outline-offset: 0.1875rem; }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply:active, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply:active { box-shadow: none; transform: translateY(0); }
.buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply[class] { display: none; }

@media (max-width: 767px) {
    .buildpress-gjc-job-detail { padding: 5rem 1rem 5rem; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__layout { grid-template-columns: 1fr; gap: 2rem; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__hero { padding-bottom: 3rem; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__hero h1 { font-size: 2.4rem; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__layout { padding-top: 3rem; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__aside-inner { position: static; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__content h2 { margin-top: 2.5rem; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__content iframe { min-height: 58rem; }
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply[class] { position: fixed; right: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); left: 1rem; z-index: 20; display: flex; min-height: 3.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__apply svg, .buildpress-gjc-job-detail .buildpress-gjc-job-detail__mobile-apply svg { transition: none; }
}
