/* Join our team: open positions loaded live from PSS HR. */
.careers{background:#fff;border-top:1px solid var(--line)}
.careers-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.careers-heading{position:sticky;top:130px}
.careers-heading h2{margin:0}
.careers-intro{color:var(--muted);font-size:1rem;max-width:400px;margin:30px 0 0}
.careers-summary{display:inline-flex;align-items:center;gap:12px;margin:34px 0 0;font:500 .9375rem/1.6 var(--latin)}
.careers-summary[hidden]{display:none}
.careers-summary:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px #ed172222}
.job-list{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.job{border-top:1px solid var(--line)}
.job summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;column-gap:22px;align-items:center;padding:27px 0;cursor:pointer;list-style:none}
.job summary::-webkit-details-marker{display:none}
.job-index{font:600 .75rem/1 var(--latin);letter-spacing:1px;color:var(--muted)}
.job-title{display:grid;gap:3px;margin:0;font-size:1.375rem;font-weight:500;line-height:1.5;transition:color .2s}
.job-title-en{font:400 .875rem/1.5 var(--latin);color:var(--muted)}
.job summary:hover .job-title-th,.job details[open] .job-title-th{color:#cf1320}
.job-meta{display:flex;align-items:center;gap:18px}
.job-openings{font-size:.875rem;font-weight:500;white-space:nowrap;padding:5px 12px;border-radius:999px;background:#fdecee;color:#b3101a}
.job-toggle{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;font:400 1.5rem/1 var(--latin);color:var(--ink);transition:transform .25s,background .25s,color .25s,border-color .25s}
.job details[open] .job-toggle{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(45deg)}
.job-body{padding:0 0 32px 64px;display:grid;gap:22px}
.job-detail-block h4{margin:0 0 6px;font:600 .75rem/1.6 var(--latin);letter-spacing:1px;color:var(--muted)}
.job-detail-block p{margin:0;color:#3d4146;font-size:1rem;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere}
.job-apply{justify-self:start;margin-top:4px}
.job-skeleton{height:101px;border-top:1px solid var(--line);background:linear-gradient(90deg,transparent 0,#f2f3f4 40%,transparent 80%) 0 50%/200% 46% no-repeat}
.careers-fallback{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;color:var(--muted)}
.careers-fallback p{margin:0}
.careers-fallback .careers-fallback-title{color:var(--ink);font-size:1.25rem;font-weight:500;margin-bottom:8px}
.careers-fallback a{color:var(--red);font-family:var(--latin);overflow-wrap:anywhere}
.careers-fallback a:hover{color:#c90f19}
@media(prefers-reduced-motion:no-preference){.job-skeleton{animation:job-shimmer 1.4s ease-in-out infinite}}
@keyframes job-shimmer{from{background-position:100% 50%}to{background-position:-100% 50%}}
@media(max-width:1100px){.careers-grid{gap:48px}}
@media(max-width:800px){.careers-grid{display:block}.careers-heading{position:static;margin-bottom:35px}.careers-intro{margin-top:23px}.careers-summary{margin-top:22px}}
@media(max-width:600px){.job summary{grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:22px 0}.job-index{display:none}.job-title{font-size:1.1875rem}.job-meta{gap:10px}.job-openings{font-size:.8125rem;padding:4px 10px}.job-toggle{width:40px;height:40px}.job-body{padding:0 0 26px}.job-apply{justify-self:stretch}}
@media(max-width:380px){.job-meta{flex-direction:column-reverse;align-items:flex-end;gap:8px}}
