body[data-page="careers"] .page-main { padding: 0 0 clamp(64px, 7vw, 100px); max-width: none; width: 100%; margin: 0; }
.careers-wrap { width: min(calc(100% - 48px), 1240px); margin: 0 auto; }
body[data-page="careers"] .careers-hero { margin: 0 0 48px; padding: clamp(132px, 12vw, 172px) max(24px, calc((100vw - 1240px) / 2)) 88px; }
.careers-hero .page-title { white-space: pre-line; font-weight: 400; }
.careers-showreel { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; pointer-events: none; }
body[data-page="careers"] .careers-hero::before { content: ''; display: block; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.8), rgba(0,0,0,.5) 60%, rgba(0,0,0,.25)); pointer-events: none; animation: none; }
.careers-hero > .page-kicker, .careers-hero > .page-title, .careers-hero > .page-desc { position: relative; z-index: 2; }
.careers-hero .page-desc { margin-top: 24px; white-space: pre-line; }
.careers-hero-action { position: relative; z-index: 2; margin-top: 28px; opacity: 0; animation: pageHeroTextIn .82s cubic-bezier(.22, 1, .36, 1) .46s forwards; }
.careers-wrap > .page-section { margin-bottom: clamp(64px, 7vw, 96px); }
.careers-wrap > .page-section:last-child { margin-bottom: 0; }
.careers-culture { padding: 0 0 56px; display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 5vw, 64px); }
.careers-culture h2, .careers-jobs h2 { margin: 0; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.25; font-weight: 400; letter-spacing: 0; }
.careers-culture p { color: var(--text-secondary); margin: 0; font-size: 17px; white-space: pre-line; }
.careers-culture h2 { white-space: pre-line; }
.careers-jobs { padding: 0; scroll-margin-top: 96px; }
.careers-jobs > h2 { margin-bottom: 32px; }
.careers-hero-action .button-arrow { transform: rotate(90deg); }
.careers-hero-action .page-button:hover .button-arrow,
.careers-hero-action .page-button:focus-visible .button-arrow { transform: translateY(4px) rotate(90deg); }
.career-job { border-top: 1px solid var(--bg-line); }
.career-job.is-animating { overflow: hidden; will-change: height; }
.career-job summary { display: grid; grid-template-columns: minmax(240px, calc(25% - 24px)) minmax(0, 1fr) 32px; gap: 24px; align-items: center; padding: 26px 0; cursor: pointer; list-style: none; }
.career-job summary::-webkit-details-marker { display: none; }
.career-job.is-expanded summary { padding-bottom: 8px; }
.career-job h3 { margin: 0; font-size: clamp(21px, 2vw, 28px); font-weight: 400; transition: color 300ms ease-in-out; }
.career-meta { color: var(--text-muted); font-size: 14px; }
.career-symbol { color: var(--text-secondary); font-size: 30px; font-weight: 300; text-align: center; transition: transform .36s cubic-bezier(.22, 1, .36, 1); }
.career-job.is-expanded .career-symbol { transform: rotate(45deg); }
.career-job summary:hover h3 { color: var(--accent); }
.career-jd { padding: 0 0 48px; max-width: 1040px; }
.career-jd > p { margin: 0 0 12px; }
.career-jd > p { color: var(--text-secondary); max-width: 720px; }
.career-jd > .career-meta { color: var(--text-secondary); }
.career-introduction p, .career-application p { color: var(--text-secondary); margin: 0 0 18px; line-height: 1.85; white-space: pre-line; }
.career-introduction { margin: 44px 0 32px; }
.career-jd-grid { display: grid; grid-template-columns: 1fr; gap: 32px; margin: 32px 0; }
.career-jd h4 { font-size: 16px; margin: 0 0 14px; font-weight: 500; }
.career-jd ul { padding-left: 20px; color: var(--text-secondary); margin: 0; }
.career-jd li { padding: 0 0 10px 4px; }
.careers-button { white-space: nowrap; }
.careers-status { position: relative; z-index: 2; color: var(--text-secondary); min-height: 28px; }
.careers-loading { padding: 150px 0; }
.careers-wrap :focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
@media (max-width: 768px) {
  .careers-wrap { width: calc(100% - 48px); }
  body[data-page="careers"] .careers-hero { margin-bottom: 36px; padding: 112px 24px 56px; }
  .careers-hero .page-title { font-size: 30px; }
  .careers-wrap > .page-section { margin-bottom: 56px; }
  .careers-culture { grid-template-columns: 1fr; gap: 20px; padding: 0 0 36px; }
  .careers-jobs { padding: 0; }
  .career-job summary { grid-template-columns: 1fr 30px; gap: 8px; padding: 24px 0; }
  .career-meta { grid-column: 1; grid-row: 2; }
  .career-symbol { grid-column: 2; grid-row: 1 / 3; }
  .career-jd-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .career-symbol, .career-job h3 { transition: none; }
  body[data-page="careers"] .page-section { transition: none; opacity: 1; transform: none; }
  .careers-hero-action { animation: none; opacity: 1; }
}

.career-email-link { color: inherit; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }


