/* Job detail: one isolated typography, component and responsive system. */
.job-detail-page{--jd-ink:#111;--jd-orange:#ff5000;--jd-line:#e7e8ec;font-family:"Be Vietnam Pro", "Segoe UI", sans-serif;font-size:14px;font-weight:400;line-height:1.75;color:var(--jd-ink);-webkit-text-size-adjust:100%}
.job-detail-page :is(button,input,textarea,select){font-family:inherit;font-size:14px;line-height:1.5}
.job-detail-page :is(h1,h2,h3,p,small,strong,label){color:inherit}
.job-detail-page :is(h1,h2,h3){font-weight:700}
.jd-container{width:100%;max-width:1180px;padding:0 28px;margin:0 auto;min-width:0}
.jd-top{background:linear-gradient(120deg,#fff,#fff8f2);border-bottom:1px solid #f0e6dd;padding:18px 0 24px}
.jd-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;line-height:1.6;color:#111}
.jd-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.jd-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0}
.jd-heading>div{min-width:0}
.jd-category{display:inline-flex;align-items:center;gap:6px;background:#fff0e4;border:1px solid #ffdfc5;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500}
.jd-category>.icon{color:#e85c16}
.jd-heading h1{font-size:28px;line-height:1.35;letter-spacing:-.4px;margin:11px 0 14px;max-width:820px;overflow-wrap:anywhere}
.jd-head-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px;font-size:12px}
.jd-head-meta>span{display:inline-flex;align-items:center;gap:6px}
.jd-head-meta .icon{color:#e26022}
.job-detail-page .button{min-height:44px;border-radius:8px;padding:10px 17px;gap:8px;font-size:13px;font-weight:600;line-height:1.5;white-space:normal;text-align:center;background:linear-gradient(110deg,#ff6508,#f74b00);border:1px solid #f55706;color:#fff;box-shadow:inset 0 1px 0 #ffffff25,0 3px 9px #f65a0024;transition:background .15s,border-color .15s,box-shadow .15s;filter:none}
.job-detail-page .button:hover{background:linear-gradient(110deg,#f45c00,#e54400);border-color:#e94c00;box-shadow:0 4px 12px #f65a0033;filter:none}
.job-detail-page .button:active{background:#df4400;border-color:#df4400;box-shadow:none}
.job-detail-page :is(a,button,input,textarea):focus-visible{outline:3px solid #ffad76;outline-offset:3px}
.job-detail-page .button:disabled{background:#b6a79f;border-color:#b6a79f;box-shadow:none;color:#fff;opacity:1;cursor:wait}
.jd-top-apply{flex:0 0 auto;min-width:155px}
.jd-highlights{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));padding:16px 0;background:#fff;border:1px solid #eee5de;border-radius:10px;box-shadow:0 3px 12px #31211503}
.jd-highlights>div{display:flex;align-items:flex-start;gap:11px;padding:0 19px;border-right:1px solid #eee8e3;min-width:0}
.jd-highlights>div:last-child{border:0}
.jd-highlights .icon{color:#e5611e;flex-shrink:0;margin-top:4px;width:23px;height:23px}
.jd-highlights p{margin:0;min-width:0}
.jd-highlights small{display:block;font-size:11px;line-height:1.5;margin-bottom:4px}
.jd-highlights strong{display:block;font-size:13px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.jd-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;padding:28px 0;align-items:start}
.jd-description.jd-unified{border:1px solid var(--jd-line);border-radius:12px;padding:24px 26px;background:white;min-width:0;box-shadow:0 3px 12px #20203003}
.jd-unified>h2{display:flex;align-items:center;gap:10px;font-size:18px;line-height:1.5;margin:0 0 20px;padding-bottom:17px;border-bottom:1px solid #eff0f3;letter-spacing:-.2px}
.jd-unified>h2>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;background:#fff0e4;color:#e9611c;border-radius:9px}
.jd-base-content{font-size:14px;line-height:1.95;overflow-wrap:anywhere}
.jd-base-content>div+div{margin-top:24px}
.jd-base-content h3{font-size:15px;line-height:1.6;margin:0 0 10px}
.jd-base-content p{margin:10px 0;white-space:pre-wrap}
.jd-base-content p:first-child{margin-top:0}
.jd-base-content p:last-child{margin-bottom:0}
.jd-content-location{padding-top:18px;border-top:1px solid #eff0f3}
.jd-side{position:sticky;top:22px;min-width:0;align-self:start;display:grid;gap:16px}
.jd-company{position:relative;overflow:hidden;border:1px solid #efdfd2;border-radius:12px;padding:24px 21px;background:linear-gradient(145deg,#fff8f1,#fff)}
.jd-company:before{content:"";position:absolute;right:-23px;top:-30px;width:100px;height:100px;border-radius:50%;border:18px solid #ff7a000a;pointer-events:none}
.jd-company img{position:relative;display:block;width:150px;max-width:100%;height:auto;margin-bottom:21px}
.jd-company h2{font-size:22px;line-height:1.4;letter-spacing:-.3px;margin:0}
.jd-company p{font-size:12px;line-height:1.85;margin:13px 0 20px}
.job-detail-page .jd-company .button{width:100%;font-size:12px;min-height:40px;background:#fff;border-color:#e9b599;color:#963b0d;box-shadow:none}
.job-detail-page .jd-company .button:hover{background:#fff0e4;border-color:#d78353;color:#742c08}
.jd-process.jd-timeline{padding:22px 20px;border:1px solid var(--jd-line);border-radius:12px;background:#fff}
.jd-timeline-heading{display:flex;align-items:center;gap:9px;margin-bottom:23px}
.jd-timeline-heading>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;background:#fff1e6;color:#e45c18;border-radius:8px}
.jd-timeline-heading h3{font-size:14px;line-height:1.5;margin:0}
.jd-timeline-list{list-style:none;padding:0;margin:0}
.jd-timeline-list li{display:flex;align-items:flex-start;gap:11px;position:relative;padding:0 0 23px}
.jd-timeline-list li:last-child{padding-bottom:0}
.jd-timeline-list li:not(:last-child):before{content:"";position:absolute;left:14px;top:33px;bottom:5px;width:1px;background:#f0d8c6}
.jd-timeline-number{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border:1px solid #f1c8ac;background:#fff8f2;border-radius:9px;font-size:10px;font-weight:700}
.jd-timeline-list li>div{min-width:0}
.jd-timeline-list strong{display:block;font-size:12px;line-height:1.6;padding-top:3px;font-weight:600}
.jd-timeline-list p{font-size:11px;line-height:1.8;margin:5px 0 0}
.jd-application.apply-form{padding:0;margin:0 0 40px;border:1px solid #eaddd3;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 4px 20px #44290c05;scroll-margin-top:24px}
.jd-form-heading{padding:24px 28px 22px;border-bottom:1px solid #f0e6de;background:linear-gradient(110deg,#fff5eb,#fff 85%)}
.jd-form-heading .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.5px;margin:0 0 9px;font-weight:600}
.jd-form-heading h2{font-size:23px;line-height:1.4;letter-spacing:-.3px;margin:0 0 8px}
.jd-form-heading>p:last-child{font-size:13px;line-height:1.8;margin:0}
.jd-form-heading strong{font-weight:600}
.jd-application>form{padding:25px 28px}
.jd-application input[type=hidden]{display:none}
.jd-application-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:30px;align-items:start}
.jd-step-title{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.5;margin:0 0 19px}
.jd-step-title>span{font-size:10px;font-weight:600;border-radius:5px;background:#fff0e3;padding:4px 6px}
.jd-application .jd-fields label{display:block;font-size:12px;font-weight:500;line-height:1.6;margin:17px 0 7px}
.jd-application .jd-fields>label:first-of-type{margin-top:0}
.jd-fields label small{font-size:11px;font-weight:400}
.jd-application :is(input:not([type=checkbox]):not([type=hidden]),textarea){display:block;width:100%;max-width:100%;margin:0;padding:11px 12px;border:1px solid #dcdfe7;border-radius:8px;background:#fcfcfd;color:#111;font-size:14px;font-weight:400;line-height:1.5;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.jd-application :is(input,textarea)::placeholder{color:#4c4c4c;opacity:1}
.jd-application :is(input,textarea):focus{border-color:#ea8a4e;background:#fff;box-shadow:0 0 0 3px #ea8a4e12}
.jd-application :is(input,textarea)[aria-invalid=true]{border-color:#b73523;background:#fffafa}
.jd-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jd-form-row>div{min-width:0}
.jd-application textarea{min-height:108px;resize:vertical}
.jd-upload-column{border-left:1px solid #eff0f3;padding-left:25px;min-width:0}
.jd-application .jd-upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;min-height:238px;margin:0;padding:23px 17px;border:1px dashed #e6b28f;border-radius:10px;background:#fff9f3;font-size:12px;line-height:1.7;cursor:pointer;text-align:center}
.jd-upload-box>.icon{box-sizing:content-box;flex-shrink:0;padding:11px;border:1px solid #ffe0c7;border-radius:12px;background:#fff;color:#e65b19}
.jd-upload-box strong{font-size:14px;font-weight:600}
.jd-upload-box>span,.jd-upload-box>small{font-size:11px;color:#111;font-weight:400}
.jd-application .jd-upload-box>input{width:100%;max-width:300px;padding:6px;font-size:11px;min-height:40px;background:#fff;border-color:#e9dcd2;border-radius:7px;cursor:pointer}
.jd-upload-box>input::file-selector-button{font-family:inherit;font-size:11px;font-weight:600;border:1px solid #efd0bb;border-radius:5px;background:#fff0e4;color:#111;padding:7px 9px;margin-right:8px;cursor:pointer}
.jd-upload-box>input::file-selector-button:hover{background:#ffdfc7}
.jd-upload-box:focus-within{border-color:#e86d24;box-shadow:0 0 0 3px #f7914d13}
.jd-upload-column>p{font-size:11px;line-height:1.85;margin:12px 2px 0}
.jd-form-bottom{display:flex;align-items:center;justify-content:flex-end;gap:25px;border-top:1px solid #eff0f3;padding-top:20px;margin-top:23px}
.jd-application .consent{display:flex;align-items:flex-start;gap:9px;max-width:680px;font-size:11px;font-weight:400;line-height:1.85;margin:0}
.jd-application .consent input{flex:0 0 16px;width:16px;height:16px;margin:3px 0 0;accent-color:#c74405;box-shadow:none}
.jd-application .consent>span{color:#111}
.jd-application .consent a{color:#111;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.jd-submit{flex:0 0 auto;min-width:184px}
.jd-application>.success,.jd-application>.errors{margin:20px 28px 0;padding:14px 16px;border-radius:8px;font-size:13px;line-height:1.8;color:#111}
.jd-application>.success{border:1px solid #b8d6b6;background:#f3faf2;display:flex;gap:8px;align-items:flex-start}
.jd-application>.errors{border:1px solid #edc1b8;background:#fff6f3}
.jd-application>.errors ul{margin:5px 0 0;padding-left:18px}
@media(max-width:960px){.jd-heading h1{font-size:26px}.jd-content-grid{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.jd-highlights>div{gap:9px;padding:0 14px}.jd-highlights strong{font-size:12px}.jd-highlights .icon{width:20px}.jd-application-grid{gap:22px}.jd-upload-column{padding-left:20px}}
@media(max-width:760px){.jd-heading{align-items:flex-start;flex-direction:column;gap:17px}.jd-heading h1{font-size:24px}.jd-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.jd-highlights>div:nth-child(2){border:0}.jd-content-grid{grid-template-columns:minmax(0,1fr);gap:20px}.jd-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.jd-application-grid{grid-template-columns:minmax(0,1fr);gap:22px}.jd-upload-column{border-left:0;border-top:1px solid #eff0f3;padding:21px 0 0}.jd-form-bottom{flex-direction:column;align-items:stretch;gap:18px}.jd-submit{width:100%;min-width:0}.jd-upload-box{min-height:210px}.jd-container{padding:0 20px}}
@media(max-width:480px){.jd-container{padding:0 16px}.jd-breadcrumb{font-size:11px;gap:5px}.jd-breadcrumb>span:last-child{flex-basis:100%}.jd-heading h1{font-size:22px;line-height:1.4}.jd-head-meta{font-size:12px;gap:9px 12px}.jd-head-meta>span:last-child{flex-basis:100%}.jd-top-apply{align-self:stretch}.jd-highlights>div{padding:0 12px;gap:8px}.jd-highlights small{font-size:10px}.jd-highlights strong{font-size:12px}.jd-description.jd-unified{padding:21px 18px}.jd-unified>h2{font-size:17px}.jd-base-content{font-size:14px}.jd-side{grid-template-columns:minmax(0,1fr)}.jd-company{padding:21px}.jd-company h2{font-size:21px}.jd-form-heading{padding:22px 18px}.jd-form-heading h2{font-size:21px}.jd-application>form{padding:21px 18px}.jd-form-row{grid-template-columns:minmax(0,1fr);gap:0}.jd-application :is(input:not([type=checkbox]):not([type=hidden]),textarea){font-size:16px}.jd-application .jd-upload-box>input{font-size:12px}.jd-application>.success,.jd-application>.errors{margin-left:18px;margin-right:18px}.jd-application.apply-form{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.job-detail-page .button,.jd-application input,.jd-application textarea{transition:none}}

/* Job overview: compact hierarchy and aligned information tiles. */
.jd-top{padding:17px 0 25px;background:linear-gradient(150deg,#fffaf6,#f9fafc);border-color:#f0eeeb}
.jd-breadcrumb{font-size:11px;line-height:1.7;gap:7px;margin-bottom:17px}
.jd-breadcrumb>a{text-decoration:none}
.jd-breadcrumb>a:hover{text-decoration:underline;text-underline-offset:3px}
.jd-breadcrumb>span[aria-hidden]{color:#c3b7ae;font-size:16px}
.jd-breadcrumb>span[aria-current]{min-width:0;overflow-wrap:anywhere}
.jd-summary-card{position:relative;background:#fff;border:1px solid #ece4dd;border-radius:13px;padding:25px 26px 20px;box-shadow:0 5px 18px #5e330c04}
.jd-summary-card:before{content:"";position:absolute;top:-1px;left:26px;width:43px;height:3px;border-radius:0 0 3px 3px;background:#ff6b1b}
.jd-summary-card .jd-heading{padding:0 0 23px;gap:26px;align-items:center}
.jd-heading-content{flex:1}
.jd-summary-card .jd-category{padding:4px 9px;border-radius:5px;font-size:10px;line-height:1.6;background:#fff2e8;border-color:#ffe0ca;gap:6px;font-weight:500}
.jd-summary-card h1{font-size:24px;line-height:1.4;letter-spacing:-.5px;margin:11px 0 14px;font-weight:700}
.jd-summary-card .jd-head-meta{gap:7px;font-size:11px;line-height:1.5}
.jd-summary-card .jd-head-meta>span{padding:5px 8px;border-radius:5px;background:#f7f8fa;border:1px solid #eef0f4;gap:6px}
.jd-summary-card .jd-head-meta .icon{color:#ed6b28}
.job-detail-page .jd-summary-card .jd-top-apply{min-width:160px;min-height:43px;font-size:12px;white-space:nowrap;align-self:center}
.jd-summary-card .jd-highlights{grid-template-columns:1.25fr .85fr 1fr 1.1fr;gap:10px;border:0;border-top:1px solid #f0f0f3;border-radius:0;padding:18px 0 0;box-shadow:none;background:transparent}
.jd-summary-card .jd-highlights>div{padding:12px 10px;border:1px solid #eff0f3;border-radius:8px;background:#fcfcfd;gap:10px;align-items:center}
.jd-summary-card .jd-highlights>.jd-highlight-salary{background:#fff8f1;border-color:#ffe6d3}
.jd-highlight-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #ffe4d0;background:#fff1e5;border-radius:8px}
.jd-summary-card .jd-highlights .icon{width:19px;height:19px;margin:0;color:#ed661f}
.jd-summary-card .jd-highlights small{font-size:10px;line-height:1.5;margin-bottom:4px}
.jd-summary-card .jd-highlights strong{font-size:12px;line-height:1.7;font-weight:600}
.jd-salary-period{font-size:10px;font-weight:400;white-space:nowrap}
@media(max-width:960px){.jd-summary-card{padding:23px 22px 19px}.jd-summary-card h1{font-size:22px}.jd-summary-card .jd-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.jd-summary-card .jd-highlights>div{padding:12px}.jd-summary-card .jd-highlights strong{font-size:12px}}
@media(max-width:760px){.jd-summary-card .jd-heading{gap:18px;align-items:stretch}.job-detail-page .jd-summary-card .jd-top-apply{align-self:flex-start}.jd-summary-card h1{font-size:16px;line-height:1.5}.jd-summary-card .jd-head-meta{font-size:11px}.jd-breadcrumb{margin-bottom:13px}}
@media(max-width:480px){.jd-top{padding:14px 0 21px}.jd-breadcrumb{font-size:10px;gap:5px}.jd-breadcrumb>span:last-child{flex-basis:auto}.jd-summary-card{padding:21px 17px 17px;border-radius:11px}.jd-summary-card:before{left:17px}.jd-summary-card h1{font-size:16px;line-height:1.5;margin:10px 0 12px;letter-spacing:-.2px}.jd-summary-card .jd-heading{padding-bottom:18px;gap:17px}.job-detail-page .jd-summary-card .jd-top-apply{align-self:stretch;min-height:43px}.jd-summary-card .jd-head-meta{gap:6px;font-size:10px}.jd-summary-card .jd-head-meta>span{padding:5px 7px}.jd-summary-card .jd-head-meta>span:last-child{flex-basis:auto}.jd-summary-card .jd-highlights{padding-top:15px;gap:8px}.jd-summary-card .jd-highlights>div{padding:11px 9px;align-items:flex-start;gap:8px}.jd-highlight-icon{width:28px;height:28px;flex-basis:28px;border-radius:7px}.jd-summary-card .jd-highlights .icon{width:16px;height:16px}.jd-summary-card .jd-highlights strong{font-size:11px}.jd-summary-card .jd-highlights small{font-size:9px}.jd-salary-period{font-size:9px}}

/* Defensive sizing for long API content on narrow screens. */
.jd-summary-card .jd-category{max-width:100%;overflow-wrap:anywhere}
.jd-summary-card .jd-head-meta>span{max-width:100%;min-width:0;overflow-wrap:anywhere}
.jd-summary-card .jd-highlights>div>p{min-width:0;overflow-wrap:anywhere}
.jd-summary-card .jd-highlights time{white-space:nowrap}
.jd-base-content img,.jd-base-content video{max-width:100%;height:auto}
@media(max-width:480px){.jd-summary-card .jd-highlights small{font-size:10px}.jd-summary-card .jd-highlights>div{min-width:0}.jd-summary-card .jd-head-meta time{white-space:nowrap}.jd-application form,.jd-fields,.jd-form-row>div{min-width:0}.jd-summary-card h1{font-weight:700}.jd-application .jd-upload-box{padding-left:12px;padding-right:12px}}
